pocketpy/resources/js/mermaid.js
2025-10-08 13:58:13 +00:00

4 lines
2.4 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*! Retype v3.11.0 | retype.com | Copyright 2025. Retype, Inc. All rights reserved. */
/*! For license information please see mermaid.js.LICENSE.txt */
(()=>{var t={2851:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0,e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,e.htmlCtrlEntityRegex=/&(newline|tab);/gi,e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,e.urlSchemeRegex=/^.+(:|&colon;)/gim,e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,e.relativeFirstCharacters=[".","/"],e.BLANK_URL="about:blank"},7967:(t,e,n)=>{"use strict";e.N=void 0;var r=n(2851);function i(t){try{return decodeURIComponent(t)}catch(e){return t}}e.N=function(t){if(!t)return r.BLANK_URL;var e,n,a=i(t.trim());do{e=(a=i(a=(n=a,n.replace(r.ctrlCharactersRegex,"").replace(r.htmlEntitiesRegex,(function(t,e){return String.fromCharCode(e)}))).replace(r.htmlCtrlEntityRegex,"").replace(r.ctrlCharactersRegex,"").replace(r.whitespaceEscapeCharsRegex,"").trim())).match(r.ctrlCharactersRegex)||a.match(r.htmlEntitiesRegex)||a.match(r.htmlCtrlEntityRegex)||a.match(r.whitespaceEscapeCharsRegex)}while(e&&e.length>0);var s=a;if(!s)return r.BLANK_URL;if(function(t){return r.relativeFirstCharacters.indexOf(t[0])>-1}(s))return s;var o=s.trimStart(),l=o.match(r.urlSchemeRegex);if(!l)return s;var c=l[0].toLowerCase().trim();if(r.invalidProtocolRegex.test(c))return r.BLANK_URL;var h=o.replace(/\\/g,"/");if("mailto:"===c||c.includes("://"))return h;if("http:"===c||"https:"===c){if(!function(t){return URL.canParse(t)}(h))return r.BLANK_URL;var u=new URL(h);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return h}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var a in r)i[a]=r[a];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function a(t,e,n,i){r.call(this,t,e,n,i)}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},a.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i<r.length;i++)null==(n=r[i]).getChild()?(n.moveBy(t,e),n.displacementX+=t,n.displacementY+=e):n.propogateDisplacementToChildren(t,e)},a.prototype.setPred1=function(t){this.pred1=t},a.prototype.getPred1=function(){return pred1},a.prototype.getPred2=function(){return pred2},a.prototype.setNext=function(t){this.next=t},a.prototype.getNext=function(){return next},a.prototype.setProcessed=function(t){this.processed=t},a.prototype.isProcessed=function(){return processed},t.exports=a},function(t,e,n){"use strict";var r=n(0).FDLayout,i=n(4),a=n(3),s=n(5),o=n(2),l=n(1),c=n(0).FDLayoutConstants,h=n(0).LayoutConstants,u=n(0).Point,d=n(0).PointD,p=n(0).Layout,g=n(0).Integer,f=n(0).IGeometry,m=n(0).LGraph,y=n(0).Transform;function v(){r.call(this),this.toBeTiled={}}for(var x in v.prototype=Object.create(r.prototype),r)v[x]=r[x];v.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},v.prototype.newGraph=function(t){return new a(null,this.graphManager,t)},v.prototype.newNode=function(t){return new s(this.graphManager,t)},v.prototype.newEdge=function(t){return new o(null,null,t)},v.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(l.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=l.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=c.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=c.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=c.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=c.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/c.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=c.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},v.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)l.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%c.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n<t.length;n++){var r=t[n].rect,i=t[n].id;e[i]={id:i,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===c.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},v.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,n=[],r=this.graphManager.getGraphs(),i=r.length;for(e=0;e<i;e++)(t=r[e]).updateConnected(),t.isConnected||(n=n.concat(t.getNodes()));return n},v.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e,n=new Set;for(e=0;e<t.length;e++){var r=t[e];if(!n.has(r)){var i=r.getSource(),a=r.getTarget();if(i==a)r.getBendpoints().push(new d),r.getBendpoints().push(new d),this.createDummyNodesForBendpoints(r),n.add(r);else{var s=[];if(s=(s=s.concat(i.getEdgeListToNode(a))).concat(a.getEdgeListToNode(i)),!n.has(s[0])){var o;if(s.length>1)for(o=0;o<s.length;o++){var l=s[o];l.getBendpoints().push(new d),this.createDummyNodesForBendpoints(l)}s.forEach((function(t){n.add(t)}))}}}if(n.size==t.length)break}},v.prototype.positionNodesRadially=function(t){for(var e=new u(0,0),n=Math.ceil(Math.sqrt(t.length)),r=0,i=0,a=0,s=new d(0,0),o=0;o<t.length;o++){o%n==0&&(a=0,i=r,0!=o&&(i+=l.DEFAULT_COMPONENT_SEPERATION),r=0);var c=t[o],g=p.findCenterOfTree(c);e.x=a,e.y=i,(s=v.radialLayout(c,g,e)).y>r&&(r=Math.floor(s.y)),a=Math.floor(s.x+l.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-s.x/2,h.WORLD_CENTER_Y-s.y/2))},v.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),l.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,r);var i=m.calculateBounds(t),a=new y;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(n.x),a.setWorldOrgY(n.y);for(var s=0;s<t.length;s++)t[s].transform(a);var o=new d(i.getMaxX(),i.getMaxY());return a.inverseTransformPoint(o)},v.branchRadialLayout=function(t,e,n,r,i,a){var s=(r-n+1)/2;s<0&&(s+=180);var o=(s+n)%360*f.TWO_PI/360,l=(Math.cos(o),i*Math.cos(o)),c=i*Math.sin(o);t.setCenter(l,c);var h=[],u=(h=h.concat(t.getEdges())).length;null!=e&&u--;for(var d,p=0,g=h.length,m=t.getEdgesBetween(e);m.length>1;){var y=m[0];m.splice(0,1);var x=h.indexOf(y);x>=0&&h.splice(x,1),g--,u--}d=null!=e?(h.indexOf(m[0])+1)%g:0;for(var b=Math.abs(r-n)/u,w=d;p!=u;w=++w%g){var k=h[w].getOtherEnd(t);if(k!=e){var T=(n+p*b)%360,_=(T+b)%360;v.branchRadialLayout(k,t,T,_,i+a,a),p++}}},v.maxDiagonalInTree=function(t){for(var e=g.MIN_VALUE,n=0;n<t.length;n++){var r=t[n].getDiagonal();r>e&&(e=r)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i<r.length;i++){var a=(o=r[i]).getParent();0!==this.getNodeDegreeWithChildren(o)||null!=a.id&&this.getToBeTiled(a)||n.push(o)}for(i=0;i<n.length;i++){var o,l=(o=n[i]).getParent().id;void 0===e[l]&&(e[l]=[]),e[l]=e[l].concat(o)}Object.keys(e).forEach((function(n){if(e[n].length>1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),a=new s(t.graphManager);a.id=r,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=a;var o=t.getGraphManager().add(t.newGraph(),a),l=i.getChild();l.add(a);for(var c=0;c<e[n].length;c++){var h=e[n][c];l.remove(h),o.add(h)}}}))},v.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)e[this.compoundOrder[n].id]=this.compoundOrder[n],t[this.compoundOrder[n].id]=[].concat(this.compoundOrder[n].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[n].getChild()),this.compoundOrder[n].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},v.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach((function(n){var r=t.idToDummyNode[n];e[n]=t.tileNodes(t.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=e[n].width,r.rect.height=e[n].height}))},v.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,a=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,a)}))},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i<r.length;i++){var a=r[i];if(this.getNodeDegree(a)>0)return this.toBeTiled[e]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;r<e.length;r++){var i=e[r];i.getSource().id!==i.getTarget().id&&(n+=1)}return n},v.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var n=t.getChild().getNodes(),r=0;r<n.length;r++){var i=n[r];e+=this.getNodeDegreeWithChildren(i)}return e},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var n=t[e];null!=n.getChild()&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},v.prototype.adjustLocations=function(t,e,n,r,i){n+=i;for(var a=e+=r,s=0;s<t.rows.length;s++){var o=t.rows[s];e=a;for(var l=0,c=0;c<o.length;c++){var h=o[c];h.rect.x=e,h.rect.y=n,e+=h.rect.width+t.horizontalPadding,h.rect.height>l&&(l=h.rect.height)}n+=l+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},v.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:l.TILING_PADDING_VERTICAL,horizontalPadding:l.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height<e.rect.width*e.rect.height?1:0}));for(var r=0;r<t.length;r++){var i=t[r];0==n.rows.length?this.insertNodeToRow(n,i,0,e):this.canAddHorizontal(n,i.rect.width,i.rect.height)?this.insertNodeToRow(n,i,this.getShortestRowIndex(n),e):this.insertNodeToRow(n,i,n.rows.length,e),this.shiftToLastRow(n)}return n},v.prototype.insertNodeToRow=function(t,e,n,r){var i=r;n==t.rows.length&&(t.rows.push([]),t.rowWidth.push(i),t.rowHeight.push(0));var a=t.rowWidth[n]+e.rect.width;t.rows[n].length>0&&(a+=t.horizontalPadding),t.rowWidth[n]=a,t.width<a&&(t.width=a);var s=e.rect.height;n>0&&(s+=t.verticalPadding);var o=0;s>t.rowHeight[n]&&(o=t.rowHeight[n],t.rowHeight[n]=s,o=t.rowHeight[n]-o),t.height+=o,t.rows[n].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<n&&(e=r,n=t.rowWidth[r]);return e},v.prototype.getLongestRowIndex=function(t){for(var e=-1,n=Number.MIN_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]>n&&(e=r,n=t.rowWidth[r]);return e},v.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var a,s,o=0;return t.rowHeight[r]<n&&r>0&&(o=n+t.verticalPadding-t.rowHeight[r]),a=t.width-i>=e+t.horizontalPadding?(t.height+o)/(i+e+t.horizontalPadding):(t.height+o)/t.width,o=n+t.verticalPadding,(s=t.width<e?(t.height+o)/e:(t.height+o)/t.width)<1&&(s=1/s),a<1&&(a=1/a),a<s},v.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),n=t.rowWidth.length-1,r=t.rows[e],i=r[r.length-1],a=i.width+t.horizontalPadding;if(t.width-t.rowWidth[n]>a&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[n]=t.rowWidth[n]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,o=0;o<r.length;o++)r[o].height>s&&(s=r[o].height);e>0&&(s+=t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=s,t.rowHeight[n]<i.height+t.verticalPadding&&(t.rowHeight[n]=i.height+t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.height+=c-l,this.shiftToLastRow(t)}},v.prototype.tilingPreLayout=function(){l.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){l.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var t,e=[],n=!0;n;){var r=this.graphManager.getAllNodes(),i=[];n=!1;for(var a=0;a<r.length;a++)1!=(t=r[a]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(i.push([t,t.getEdges()[0],t.getOwner()]),n=!0);if(1==n){for(var s=[],o=0;o<i.length;o++)1==i[o][0].getEdges().length&&(s.push(i[o]),i[o][0].getOwner().remove(i[o][0]));e.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},v.prototype.growTree=function(t){for(var e,n=t[t.length-1],r=0;r<n.length;r++)e=n[r],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(t){var e,n,r=t[0],i=(n=r==t[1].source?t[1].target:t[1].source).startX,a=n.finishX,s=n.startY,o=n.finishY,l=[0,0,0,0];if(s>0)for(var h=i;h<=a;h++)l[0]+=this.grid[h][s-1].length+this.grid[h][s].length-1;if(a<this.grid.length-1)for(h=s;h<=o;h++)l[1]+=this.grid[a+1][h].length+this.grid[a][h].length-1;if(o<this.grid[0].length-1)for(h=i;h<=a;h++)l[2]+=this.grid[h][o+1].length+this.grid[h][o].length-1;if(i>0)for(h=s;h<=o;h++)l[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var u,d,p=g.MAX_VALUE,f=0;f<l.length;f++)l[f]<p?(p=l[f],u=1,d=f):l[f]==p&&u++;if(3==u&&0==p)0==l[0]&&0==l[1]&&0==l[2]?e=1:0==l[0]&&0==l[1]&&0==l[3]?e=0:0==l[0]&&0==l[2]&&0==l[3]?e=3:0==l[1]&&0==l[2]&&0==l[3]&&(e=2);else if(2==u&&0==p){var m=Math.floor(2*Math.random());e=0==l[0]&&0==l[1]?0==m?0:1:0==l[0]&&0==l[2]?0==m?0:2:0==l[0]&&0==l[3]?0==m?0:3:0==l[1]&&0==l[2]?0==m?1:2:0==l[1]&&0==l[3]?0==m?1:3:0==m?2:3}else e=4==u&&0==p?m=Math.floor(4*Math.random()):d;0==e?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-c.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==e?r.setCenter(n.getCenterX()+n.getWidth()/2+c.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):2==e?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+c.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-c.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())},t.exports=v},function(t,e,n){"use strict";var r={};r.layoutBase=n(0),r.CoSEConstants=n(1),r.CoSEEdge=n(2),r.CoSEGraph=n(3),r.CoSEGraphManager=n(4),r.CoSELayout=n(6),r.CoSENode=n(5),t.exports=r}])},t.exports=r(n(2241))},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,a=n(0).CoSEConstants,s=n(0).CoSELayout,o=n(0).CoSENode,l=n(0).layoutBase.PointD,c=n(0).layoutBase.DimensionD,h={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(h,t),d(this.options)}var d=function(t){null!=t.nodeRepulsion&&(a.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(a.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(a.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(a.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(a.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(a.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(a.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,a.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,a.TILE=t.tile,a.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,a.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};u.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new s),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var a=r.newGraphManager();this.gm=a;var o=this.options.eles.nodes(),l=this.options.eles.edges();this.root=a.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(o),r);for(var c=0;c<l.length;c++){var h=l[c],u=this.idToLNode[h.data("source")],d=this.idToLNode[h.data("target")];u!==d&&0==u.getEdgesBetween(d).length&&(a.add(r.newEdge(),u,d).id=h.id())}var p=function(t,e){"number"==typeof t&&(t=e);var n=t.data("id"),r=i.idToLNode[n];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},g=function a(){for(var s,o=function(){n.fit&&n.cy.fit(n.eles,n.padding),t||(t=!0,i.cy.one("layoutready",n.ready),i.cy.trigger({type:"layoutready",layout:i}))},l=i.options.refresh,c=0;c<l&&!s;c++)s=i.stopped||i.layout.tick();if(s)return r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,i.options.eles.nodes().positions(p),o(),i.cy.one("layoutstop",i.options.stop),i.cy.trigger({type:"layoutstop",layout:i}),e&&cancelAnimationFrame(e),void(t=!1);var h=i.layout.getPositionsData();n.eles.nodes().positions((function(t,e){if("number"==typeof t&&(t=e),!t.isParent()){for(var n=t.id(),r=h[n],i=t;null==r&&(r=h[i.data("parent")]||h["DummyCompound_"+i.data("parent")],h[n]=r,null!=(i=i.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:t.position("x"),y:t.position("y")}}})),o(),e=requestAnimationFrame(a)};return r.addListener("layoutstarted",(function(){"during"===i.options.animate&&(e=requestAnimationFrame(g))})),r.runLayout(),"during"!==this.options.animate&&(i.options.eles.nodes().not(":parent").layoutPositions(i,i.options,p),t=!1),this},u.prototype.getTopMostNodes=function(t){for(var e={},n=0;n<t.length;n++)e[t[n].id()]=!0;var r=t.filter((function(t,n){"number"==typeof t&&(t=n);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0}));return r},u.prototype.processChildrenList=function(t,e,n){for(var r=e.length,i=0;i<r;i++){var a,s,h=e[i],u=h.children(),d=h.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((a=null!=h.outerWidth()&&null!=h.outerHeight()?t.add(new o(n.graphManager,new l(h.position("x")-d.w/2,h.position("y")-d.h/2),new c(parseFloat(d.w),parseFloat(d.h)))):t.add(new o(this.graphManager))).id=h.data("id"),a.paddingLeft=parseInt(h.css("padding")),a.paddingTop=parseInt(h.css("padding")),a.paddingRight=parseInt(h.css("padding")),a.paddingBottom=parseInt(h.css("padding")),this.options.nodeDimensionsIncludeLabels&&h.isParent()){var p=h.boundingBox({includeLabels:!0,includeNodes:!1}).w,g=h.boundingBox({includeLabels:!0,includeNodes:!1}).h,f=h.css("text-halign");a.labelWidth=p,a.labelHeight=g,a.labelPos=f}this.idToLNode[h.data("id")]=a,isNaN(a.rect.x)&&(a.rect.x=0),isNaN(a.rect.y)&&(a.rect.y=0),null!=u&&u.length>0&&(s=n.getGraphManager().add(n.newGraph(),a),this.processChildrenList(s,u,n))}},u.prototype.stop=function(){return this.stopped=!0,this};var p=function(t){t("layout","cose-bilkent",u)};"undefined"!=typeof cytoscape&&p(cytoscape),t.exports=p}])},t.exports=r(n(4182))},4867:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.forEach((function(e){Object.keys(e).forEach((function(n){return t[n]=e[n]}))})),t}},548:(t,e,n)=>{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var s,o=t[Symbol.iterator]();!(r=(s=o.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,a=t}finally{try{!r&&o.return&&o.return()}finally{if(i)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,a={getTopMostNodes:function(t){for(var e={},n=0;n<t.length;n++)e[t[n].id()]=!0;var r=t.filter((function(t,n){"number"==typeof t&&(t=n);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0}));return r},connectComponents:function(t,e,n,r){var a=new i,s=new Set,o=[],l=void 0,c=void 0,h=void 0,u=!1,d=1,p=[],g=[],f=function(){var r=t.collection();g.push(r);var i=n[0],f=t.collection();f.merge(i).merge(i.descendants().intersection(e)),o.push(i),f.forEach((function(t){a.push(t),s.add(t),r.merge(t)}));for(var m=function(){i=a.shift();var c=t.collection();i.neighborhood().nodes().forEach((function(t){e.intersection(i.edgesWith(t)).length>0&&c.merge(t)}));for(var h=0;h<c.length;h++){var u=c[h];null==(l=n.intersection(u.union(u.ancestors())))||s.has(l[0])||l.union(l.descendants()).forEach((function(t){a.push(t),s.add(t),r.merge(t),n.has(t)&&o.push(t)}))}};0!=a.length;)m();if(r.forEach((function(t){e.intersection(t.connectedEdges()).forEach((function(t){r.has(t.source())&&r.has(t.target())&&r.merge(t)}))})),o.length==n.length&&(u=!0),!u||u&&d>1){c=o[0],h=c.connectedEdges().length,o.forEach((function(t){t.connectedEdges().length<h&&(h=t.connectedEdges().length,c=t)})),p.push(c.id());var y=t.collection();y.merge(o[0]),o.forEach((function(t){y.merge(t)})),o=[],n=n.difference(y),d++}};do{f()}while(!u);return r&&p.length>0&&r.set("dummy"+(r.size+1),p),g},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var l=!0,c=!1,h=void 0;try{for(var u,d=e.nodeIndexes[Symbol.iterator]();!(l=(u=d.next()).done);l=!0){var p=u.value,g=r(p,2),f=g[0],m=g[1],y=n.cy.getElementById(f);if(y){var v=y.boundingBox(),x=e.xCoords[m]-v.w/2,b=e.xCoords[m]+v.w/2,w=e.yCoords[m]-v.h/2,k=e.yCoords[m]+v.h/2;x<i&&(i=x),b>a&&(a=b),w<s&&(s=w),k>o&&(o=k)}}}catch(t){c=!0,h=t}finally{try{!l&&d.return&&d.return()}finally{if(c)throw h}}var T=t.x-(a+i)/2,_=t.y-(o+s)/2;e.xCoords=e.xCoords.map((function(t){return t+T})),e.yCoords=e.yCoords.map((function(t){return t+_}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,l=n.getRect().x+n.getRect().width,c=n.getRect().y,h=n.getRect().y+n.getRect().height;r<i&&(i=r),l>a&&(a=l),c<s&&(s=c),h>o&&(o=h)}));var E=t.x-(a+i)/2,S=t.y-(o+s)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+E,n.getCenterY()+S)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,a=Number.MIN_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,l=void 0,c=void 0,h=void 0,u=void 0,d=t.descendants().not(":parent"),p=d.length,g=0;g<p;g++){var f=d[g];i>(l=e[r.get(f.id())]-f.width()/2)&&(i=l),a<(c=e[r.get(f.id())]+f.width()/2)&&(a=c),s>(h=n[r.get(f.id())]-f.height()/2)&&(s=h),o<(u=n[r.get(f.id())]+f.height()/2)&&(o=u)}var m={};return m.topLeftX=i,m.topLeftY=s,m.width=a-i,m.height=o-s,m},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=a},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,a=n(140).CoSENode,s=n(140).layoutBase.PointD,o=n(140).layoutBase.DimensionD,l=n(140).layoutBase.LayoutConstants,c=n(140).layoutBase.FDLayoutConstants,h=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,u=t.eles,d=u.nodes(),p=u.edges(),g=void 0,f=void 0,m=void 0,y={};t.randomize&&(g=e.nodeIndexes,f=e.xCoords,m=e.yCoords);var v=function(t){return"function"==typeof t},x=function(t,e){return v(t)?t(e):t},b=r.calcParentsWithoutChildren(n,u);null!=t.nestingFactor&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(h.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?l.QUALITY=2:l.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=!t.randomize,h.ANIMATE=c.ANIMATE=l.ANIMATE=t.animate,h.TILE=t.tile,h.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!t.randomize,l.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),"enforced"==t.step&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),"cose"==t.step&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var w=new i,k=w.newGraphManager();return function t(e,n,i,l){for(var c=n.length,h=0;h<c;h++){var u=n[h],d=null;0==u.intersection(b).length&&(d=u.children());var p=void 0,v=u.layoutDimensions({nodeDimensionsIncludeLabels:l.nodeDimensionsIncludeLabels});if(null!=u.outerWidth()&&null!=u.outerHeight())if(l.randomize)if(u.isParent()){var w=r.calcBoundingBox(u,f,m,g);p=0==u.intersection(b).length?e.add(new a(i.graphManager,new s(w.topLeftX,w.topLeftY),new o(w.width,w.height))):e.add(new a(i.graphManager,new s(w.topLeftX,w.topLeftY),new o(parseFloat(v.w),parseFloat(v.h))))}else p=e.add(new a(i.graphManager,new s(f[g.get(u.id())]-v.w/2,m[g.get(u.id())]-v.h/2),new o(parseFloat(v.w),parseFloat(v.h))));else p=e.add(new a(i.graphManager,new s(u.position("x")-v.w/2,u.position("y")-v.h/2),new o(parseFloat(v.w),parseFloat(v.h))));else p=e.add(new a(this.graphManager));p.id=u.data("id"),p.nodeRepulsion=x(l.nodeRepulsion,u),p.paddingLeft=parseInt(u.css("padding")),p.paddingTop=parseInt(u.css("padding")),p.paddingRight=parseInt(u.css("padding")),p.paddingBottom=parseInt(u.css("padding")),l.nodeDimensionsIncludeLabels&&(p.labelWidth=u.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,p.labelHeight=u.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,p.labelPosVertical=u.css("text-valign"),p.labelPosHorizontal=u.css("text-halign")),y[u.data("id")]=p,isNaN(p.rect.x)&&(p.rect.x=0),isNaN(p.rect.y)&&(p.rect.y=0),null!=d&&d.length>0&&t(i.getGraphManager().add(i.newGraph(),p),d,i,l)}}(k.addRoot(),r.getTopMostNodes(d),w,t),function(e,n,r){for(var i=0,a=0,s=0;s<r.length;s++){var o=r[s],l=y[o.data("source")],u=y[o.data("target")];if(l&&u&&l!==u&&0==l.getEdgesBetween(u).length){var d=n.add(e.newEdge(),l,u);d.id=o.id(),d.idealLength=x(t.idealEdgeLength,o),d.edgeElasticity=x(t.edgeElasticity,o),i+=d.idealLength,a++}}null!=t.idealEdgeLength&&(a>0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=i/a:v(t.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)}(w,k,p),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(w,t),w.runLayout(),y}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(658),a=n(548),s=n(657).spectralLayout,o=n(816).coseLayout,l=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(t){return 4500},idealEdgeLength:function(t){return 50},edgeElasticity:function(t){return.45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.options=i({},l,e)}return r(t,[{key:"run",value:function(){var t=this.options,e=t.cy,n=t.eles,r=[],i=[],l=void 0,c=[];!t.fixedNodeConstraint||Array.isArray(t.fixedNodeConstraint)&&0!=t.fixedNodeConstraint.length||(t.fixedNodeConstraint=void 0),t.alignmentConstraint&&(!t.alignmentConstraint.vertical||Array.isArray(t.alignmentConstraint.vertical)&&0!=t.alignmentConstraint.vertical.length||(t.alignmentConstraint.vertical=void 0),!t.alignmentConstraint.horizontal||Array.isArray(t.alignmentConstraint.horizontal)&&0!=t.alignmentConstraint.horizontal.length||(t.alignmentConstraint.horizontal=void 0)),!t.relativePlacementConstraint||Array.isArray(t.relativePlacementConstraint)&&0!=t.relativePlacementConstraint.length||(t.relativePlacementConstraint=void 0),(t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint)&&(t.tile=!1,t.packComponents=!1);var h=void 0,u=!1;if(e.layoutUtilities&&t.packComponents&&((h=e.layoutUtilities("get"))||(h=e.layoutUtilities()),u=!0),n.nodes().length>0)if(u){var d=a.getTopMostNodes(t.eles.nodes());if((l=a.connectComponents(e,t.eles,d)).forEach((function(t){var e=t.boundingBox();c.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&l.forEach((function(e){t.eles=e,r.push(s(t))})),"default"==t.quality||"proof"==t.quality){var p=e.collection();if(t.tile){var g=new Map,f=0,m={nodeIndexes:g,xCoords:[],yCoords:[]},y=[];if(l.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){p.merge(t.nodes()[n]),e.isParent()||(m.nodeIndexes.set(t.nodes()[n].id(),f++),m.xCoords.push(t.nodes()[0].position().x),m.yCoords.push(t.nodes()[0].position().y))})),y.push(e))})),p.length>1){var v=p.boundingBox();c.push({x:v.x1+v.w/2,y:v.y1+v.h/2}),l.push(p),r.push(m);for(var x=y.length-1;x>=0;x--)l.splice(y[x],1),r.splice(y[x],1),c.splice(y[x],1)}}l.forEach((function(e,n){t.eles=e,i.push(o(t,r[n])),a.relocateComponent(c[n],i[n],t)}))}else l.forEach((function(e,n){a.relocateComponent(c[n],r[n],t)}));var b=new Set;if(l.length>1){var w=[],k=n.filter((function(t){return"none"==t.css("display")}));l.forEach((function(e,n){var s=void 0;if("draft"==t.quality&&(s=r[n].nodeIndexes),e.nodes().not(k).length>0){var o={edges:[],nodes:[]},l=void 0;e.nodes().not(k).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var c=a.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,s);o.nodes.push({x:c.topLeftX,y:c.topLeftY,width:c.width,height:c.height})}else l=s.get(e.id()),o.nodes.push({x:r[n].xCoords[l]-e.boundingbox().w/2,y:r[n].yCoords[l]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&o.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var l=e.source(),c=e.target();if("none"!=l.css("display")&&"none"!=c.css("display"))if("draft"==t.quality){var h=s.get(l.id()),u=s.get(c.id()),d=[],p=[];if(l.isParent()){var g=a.calcBoundingBox(l,r[n].xCoords,r[n].yCoords,s);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);if(c.isParent()){var f=a.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,s);p.push(f.topLeftX+f.width/2),p.push(f.topLeftY+f.height/2)}else p.push(r[n].xCoords[u]),p.push(r[n].yCoords[u]);o.edges.push({startX:d[0],startY:d[1],endX:p[0],endY:p[1]})}else i[n][l.id()]&&i[n][c.id()]&&o.edges.push({startX:i[n][l.id()].getCenterX(),startY:i[n][l.id()].getCenterY(),endX:i[n][c.id()].getCenterX(),endY:i[n][c.id()].getCenterY()})})),o.nodes.length>0&&(w.push(o),b.add(n))}}));var T=h.packComponents(w,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+T[e].dx})),r=t.yCoords.map((function(t){return t+T[e].dy}));t.xCoords=n,t.yCoords=r}));else{var _=0;b.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+T[_].dx,n.getCenterY()+T[_].dy)})),_++}))}}}else{var E=t.eles.boundingBox();if(c.push({x:E.x1+E.w/2,y:E.y1+E.h/2}),t.randomize){var S=s(t);r.push(S)}"default"==t.quality||"proof"==t.quality?(i.push(o(t,r[0])),a.relocateComponent(c[0],i[0],t)):a.relocateComponent(c[0],r[0],t)}var C=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var a=void 0,s=void 0,o=e.data("id");return i.forEach((function(t){o in t&&(a={x:t[o].getRect().getCenterX(),y:t[o].getRect().getCenterY()},s=t[o])})),t.nodeDimensionsIncludeLabels&&(s.labelWidth&&("left"==s.labelPosHorizontal?a.x+=s.labelWidth/2:"right"==s.labelPosHorizontal&&(a.x-=s.labelWidth/2)),s.labelHeight&&("top"==s.labelPosVertical?a.y+=s.labelHeight/2:"bottom"==s.labelPosVertical&&(a.y-=s.labelHeight/2))),null==a&&(a={x:e.position("x"),y:e.position("y")}),{x:a.x,y:a.y}}var l=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(l={x:t.xCoords[n],y:t.yCoords[n]})})),null==l&&(l={x:e.position("x"),y:e.position("y")}),{x:l.x,y:l.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=a.calcParentsWithoutChildren(e,n),L=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(L),n.nodes().not(":parent").not(L).layoutPositions(this,t,C),A.length>0&&A.forEach((function(t){t.position(C(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=c},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,a=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,s=n.nodes(),o=n.nodes(":parent"),l=new Map,c=new Map,h=new Map,u=[],d=[],p=[],g=[],f=[],m=[],y=[],v=[],x=void 0,b=1e8,w=1e-9,k=t.piTol,T=t.samplingType,_=t.nodeSeparation,E=void 0,S=function(t,e,n){for(var r=[],i=0,a=0,s=0,o=void 0,l=[],h=0,d=1,p=0;p<x;p++)l[p]=b;for(r[a]=t,l[t]=0;a>=i;){s=r[i++];for(var g=u[s],y=0;y<g.length;y++)l[o=c.get(g[y])]==b&&(l[o]=l[s]+1,r[++a]=o);m[s][e]=l[s]*_}if(n){for(var v=0;v<x;v++)m[v][e]<f[v]&&(f[v]=m[v][e]);for(var w=0;w<x;w++)f[w]>h&&(h=f[w],d=w)}return d};r.connectComponents(e,n,r.getTopMostNodes(s),l),o.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),l)}));for(var C=0,A=0;A<s.length;A++)s[A].isParent()||c.set(s[A].id(),C++);var L=!0,M=!1,N=void 0;try{for(var I,R=l.keys()[Symbol.iterator]();!(L=(I=R.next()).done);L=!0){var D=I.value;c.set(D,C++)}}catch(t){M=!0,N=t}finally{try{!L&&R.return&&R.return()}finally{if(M)throw N}}for(var O=0;O<c.size;O++)u[O]=[];o.forEach((function(t){for(var e=t.children().intersection(n);0==e.nodes(":childless").length;)e=e.nodes()[0].children().intersection(n);var r=0,i=e.nodes(":childless")[0].connectedEdges().length;e.nodes(":childless").forEach((function(t,e){t.connectedEdges().length<i&&(i=t.connectedEdges().length,r=e)})),h.set(t.id(),e.nodes(":childless")[r].id())})),s.forEach((function(t){var e;e=t.isParent()?c.get(h.get(t.id())):c.get(t.id()),t.neighborhood().nodes().forEach((function(r){n.intersection(t.edgesWith(r)).length>0&&(r.isParent()?u[e].push(h.get(r.id())):u[e].push(r.id()))}))}));var P=function(t){var n=c.get(t),r=void 0;l.get(t).forEach((function(i){r=e.getElementById(i).isParent()?h.get(i):i,u[n].push(r),u[c.get(r)].push(t)}))},$=!0,B=!1,F=void 0;try{for(var W,z=l.keys()[Symbol.iterator]();!($=(W=z.next()).done);$=!0)P(W.value)}catch(t){B=!0,F=t}finally{try{!$&&z.return&&z.return()}finally{if(B)throw F}}var Z=void 0;if((x=c.size)>2){E=x<t.sampleSize?x:t.sampleSize;for(var Y=0;Y<x;Y++)m[Y]=[];for(var U=0;U<E;U++)v[U]=[];return"draft"==t.quality||"all"==t.step?(function(t){var e=void 0;if(t){e=Math.floor(Math.random()*x);for(var n=0;n<x;n++)f[n]=b;for(var r=0;r<E;r++)g[r]=e,e=S(e,r,t)}else{!function(){for(var t=0,e=0,n=!1;e<E;){t=Math.floor(Math.random()*x),n=!1;for(var r=0;r<e;r++)if(g[r]==t){n=!0;break}n||(g[e]=t,e++)}}();for(var i=0;i<E;i++)S(g[i],i,t)}for(var a=0;a<x;a++)for(var s=0;s<E;s++)m[a][s]*=m[a][s];for(var o=0;o<E;o++)y[o]=[];for(var l=0;l<E;l++)for(var c=0;c<E;c++)y[l][c]=m[g[c]][l]}(T),function(){for(var t=a.svd(y),e=t.S,n=t.U,r=t.V,s=e[0]*e[0]*e[0],o=[],l=0;l<E;l++){o[l]=[];for(var c=0;c<E;c++)o[l][c]=0,l==c&&(o[l][c]=e[l]/(e[l]*e[l]+s/(e[l]*e[l])))}v=i.multMat(i.multMat(r,o),i.transpose(n))}(),function(){for(var t=void 0,e=void 0,n=[],r=[],a=[],s=[],o=0;o<x;o++)n[o]=Math.random(),r[o]=Math.random();n=i.normalize(n),r=i.normalize(r);for(var l=w,c=w,h=void 0;;){for(var u=0;u<x;u++)a[u]=n[u];if(n=i.multGamma(i.multL(i.multGamma(a),m,v)),t=i.dotProduct(a,n),n=i.normalize(n),l=i.dotProduct(a,n),(h=Math.abs(l/c))<=1+k&&h>=1)break;c=l}for(var g=0;g<x;g++)a[g]=n[g];for(c=w;;){for(var f=0;f<x;f++)s[f]=r[f];if(s=i.minusOp(s,i.multCons(a,i.dotProduct(a,s))),r=i.multGamma(i.multL(i.multGamma(s),m,v)),e=i.dotProduct(s,r),r=i.normalize(r),l=i.dotProduct(s,r),(h=Math.abs(l/c))<=1+k&&h>=1)break;c=l}for(var y=0;y<x;y++)s[y]=r[y];d=i.multCons(a,Math.sqrt(Math.abs(t))),p=i.multCons(s,Math.sqrt(Math.abs(e)))}(),Z={nodeIndexes:c,xCoords:d,yCoords:p}):(c.forEach((function(t,n){d.push(e.getElementById(n).position("x")),p.push(e.getElementById(n).position("y"))})),Z={nodeIndexes:c,xCoords:d,yCoords:p}),Z}var G=c.keys(),V=e.getElementById(G.next().value),q=V.position(),j=V.outerWidth();if(d.push(q.x),p.push(q.y),2==x){var H=e.getElementById(G.next().value).outerWidth();d.push(q.x+j/2+H/2+t.idealEdgeLength),p.push(q.y)}return{nodeIndexes:c,xCoords:d,yCoords:p}}}},579:(t,e,n)=>{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var a=n[r]={exports:{}};return e[r](a,a.exports,t),a.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var a in r)i[a]=r[a];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),a=n(880),s=n(991),o=n(767),l=n(806),c=n(902),h=n(551).FDLayoutConstants,u=n(551).LayoutConstants,d=n(551).Point,p=n(551).PointD,g=n(551).DimensionD,f=n(551).Layout,m=n(551).Integer,y=n(551).IGeometry,v=n(551).LGraph,x=n(551).Transform,b=n(551).LinkedList;function w(){r.call(this),this.toBeTiled={},this.constraints={}}for(var k in w.prototype=Object.create(r.prototype),r)w[k]=r[k];w.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},w.prototype.newGraph=function(t){return new a(null,this.graphManager,t)},w.prototype.newNode=function(t){return new s(this.graphManager,t)},w.prototype.newEdge=function(t){return new o(null,null,t)},w.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(l.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=l.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},w.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},w.prototype.layout=function(){return u.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},w.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)l.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),l.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},w.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),l.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),l.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},w.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n<t.length;n++){var r=t[n].rect,i=t[n].id;e[i]={id:i,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},w.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===h.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},w.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].calculateDisplacement();for(Object.keys(this.constraints).length>0&&this.updateDisplacements(),e=0;e<t.length;e++)t[e].move()},w.prototype.initConstraintVariables=function(){var t=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var e=this.graphManager.getAllNodes(),n=0;n<e.length;n++){var r=e[n];this.idToNodeMap.set(r.id,r)}var i=function e(n){for(var r,i=n.getChild().getNodes(),a=0,s=0;s<i.length;s++)null==(r=i[s]).getChild()?t.fixedNodeSet.has(r.id)&&(a+=100):a+=e(r);return a};if(this.constraints.fixedNodeConstraint)for(this.constraints.fixedNodeConstraint.forEach((function(e){t.fixedNodeSet.add(e.nodeId)})),e=this.graphManager.getAllNodes(),n=0;n<e.length;n++)if(null!=(r=e[n]).getChild()){var a=i(r);a>0&&(r.fixedNodeWeight=a)}if(this.constraints.relativePlacementConstraint){var s=new Map,o=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var c=this.constraints.alignmentConstraint.vertical;for(n=0;n<c.length;n++)this.dummyToNodeForVerticalAlignment.set("dummy"+n,[]),c[n].forEach((function(e){s.set(e,"dummy"+n),t.dummyToNodeForVerticalAlignment.get("dummy"+n).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnHorizontal.add("dummy"+n)}))}if(this.constraints.alignmentConstraint.horizontal){var h=this.constraints.alignmentConstraint.horizontal;for(n=0;n<h.length;n++)this.dummyToNodeForHorizontalAlignment.set("dummy"+n,[]),h[n].forEach((function(e){o.set(e,"dummy"+n),t.dummyToNodeForHorizontalAlignment.get("dummy"+n).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnVertical.add("dummy"+n)}))}}if(l.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(t){var e,n,r;for(r=t.length-1;r>=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=s.has(e.left)?s.get(e.left):e.left,r=s.has(e.right)?s.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=o.has(e.top)?o.get(e.top):e.top,a=o.has(e.bottom)?o.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(a)||(t.nodesInRelativeVertical.push(a),t.nodeToRelativeConstraintMapVertical.set(a,[]),t.dummyToNodeForHorizontalAlignment.has(a)?t.nodeToTempPositionMapVertical.set(a,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(a)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(a,t.idToNodeMap.get(a).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:a,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(a).push({top:i,gap:e.gap})}}));else{var u=new Map,d=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=s.has(t.left)?s.get(t.left):t.left,n=s.has(t.right)?s.get(t.right):t.right;u.has(e)?u.get(e).push(n):u.set(e,[n]),u.has(n)?u.get(n).push(e):u.set(n,[e])}else{var r=o.has(t.top)?o.get(t.top):t.top,i=o.has(t.bottom)?o.get(t.bottom):t.bottom;d.has(r)?d.get(r).push(i):d.set(r,[i]),d.has(i)?d.get(i).push(r):d.set(i,[r])}}));var p=function(t,e){var n=[],r=[],i=new b,a=new Set,s=0;return t.forEach((function(o,l){if(!a.has(l)){n[s]=[],r[s]=!1;var c=l;for(i.push(c),a.add(c),n[s].push(c);0!=i.length;)c=i.shift(),e.has(c)&&(r[s]=!0),t.get(c).forEach((function(t){a.has(t)||(i.push(t),a.add(t),n[s].push(t))}));s++}})),{components:n,isFixed:r}},g=p(u,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=g.components,this.fixedComponentsOnHorizontal=g.isFixed;var f=p(d,t.fixedNodesOnVertical);this.componentsOnVertical=f.components,this.fixedComponentsOnVertical=f.isFixed}}},w.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n<e.length;n++){for(var r=0,i=0;i<e[n].length;i++){if(this.fixedNodeSet.has(e[n][i])){r=0;break}r+=this.idToNodeMap.get(e[n][i]).displacementX}var a=r/e[n].length;for(i=0;i<e[n].length;i++)this.idToNodeMap.get(e[n][i]).displacementX=a}if(this.constraints.alignmentConstraint.horizontal){var s=this.constraints.alignmentConstraint.horizontal;for(n=0;n<s.length;n++){var o=0;for(i=0;i<s[n].length;i++){if(this.fixedNodeSet.has(s[n][i])){o=0;break}o+=this.idToNodeMap.get(s[n][i]).displacementY}var c=o/s[n].length;for(i=0;i<s[n].length;i++)this.idToNodeMap.get(s[n][i]).displacementY=c}}}if(this.constraints.relativePlacementConstraint)if(l.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach((function(e){if(!t.fixedNodesOnHorizontal.has(e)){var n=0;n=t.dummyToNodeForVerticalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(e)[0]).displacementX:t.idToNodeMap.get(e).displacementX,t.nodeToRelativeConstraintMapHorizontal.get(e).forEach((function(r){var i;r.right?(i=t.nodeToTempPositionMapHorizontal.get(r.right)-t.nodeToTempPositionMapHorizontal.get(e)-n)<r.gap&&(n-=r.gap-i):(i=t.nodeToTempPositionMapHorizontal.get(e)-t.nodeToTempPositionMapHorizontal.get(r.left)+n)<r.gap&&(n+=r.gap-i)})),t.nodeToTempPositionMapHorizontal.set(e,t.nodeToTempPositionMapHorizontal.get(e)+n),t.dummyToNodeForVerticalAlignment.has(e)?t.dummyToNodeForVerticalAlignment.get(e).forEach((function(e){t.idToNodeMap.get(e).displacementX=n})):t.idToNodeMap.get(e).displacementX=n}})),this.nodesInRelativeVertical.forEach((function(e){if(!t.fixedNodesOnHorizontal.has(e)){var n=0;n=t.dummyToNodeForHorizontalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(e)[0]).displacementY:t.idToNodeMap.get(e).displacementY,t.nodeToRelativeConstraintMapVertical.get(e).forEach((function(r){var i;r.bottom?(i=t.nodeToTempPositionMapVertical.get(r.bottom)-t.nodeToTempPositionMapVertical.get(e)-n)<r.gap&&(n-=r.gap-i):(i=t.nodeToTempPositionMapVertical.get(e)-t.nodeToTempPositionMapVertical.get(r.top)+n)<r.gap&&(n+=r.gap-i)})),t.nodeToTempPositionMapVertical.set(e,t.nodeToTempPositionMapVertical.get(e)+n),t.dummyToNodeForHorizontalAlignment.has(e)?t.dummyToNodeForHorizontalAlignment.get(e).forEach((function(e){t.idToNodeMap.get(e).displacementY=n})):t.idToNodeMap.get(e).displacementY=n}}));else{for(n=0;n<this.componentsOnHorizontal.length;n++){var h=this.componentsOnHorizontal[n];if(this.fixedComponentsOnHorizontal[n])for(i=0;i<h.length;i++)this.dummyToNodeForVerticalAlignment.has(h[i])?this.dummyToNodeForVerticalAlignment.get(h[i]).forEach((function(e){t.idToNodeMap.get(e).displacementX=0})):this.idToNodeMap.get(h[i]).displacementX=0;else{var u=0,d=0;for(i=0;i<h.length;i++)this.dummyToNodeForVerticalAlignment.has(h[i])?(u+=(g=this.dummyToNodeForVerticalAlignment.get(h[i])).length*this.idToNodeMap.get(g[0]).displacementX,d+=g.length):(u+=this.idToNodeMap.get(h[i]).displacementX,d++);var p=u/d;for(i=0;i<h.length;i++)this.dummyToNodeForVerticalAlignment.has(h[i])?this.dummyToNodeForVerticalAlignment.get(h[i]).forEach((function(e){t.idToNodeMap.get(e).displacementX=p})):this.idToNodeMap.get(h[i]).displacementX=p}}for(n=0;n<this.componentsOnVertical.length;n++)if(h=this.componentsOnVertical[n],this.fixedComponentsOnVertical[n])for(i=0;i<h.length;i++)this.dummyToNodeForHorizontalAlignment.has(h[i])?this.dummyToNodeForHorizontalAlignment.get(h[i]).forEach((function(e){t.idToNodeMap.get(e).displacementY=0})):this.idToNodeMap.get(h[i]).displacementY=0;else{for(u=0,d=0,i=0;i<h.length;i++){var g;this.dummyToNodeForHorizontalAlignment.has(h[i])?(u+=(g=this.dummyToNodeForHorizontalAlignment.get(h[i])).length*this.idToNodeMap.get(g[0]).displacementY,d+=g.length):(u+=this.idToNodeMap.get(h[i]).displacementY,d++)}for(p=u/d,i=0;i<h.length;i++)this.dummyToNodeForHorizontalAlignment.has(h[i])?this.dummyToNodeForHorizontalAlignment.get(h[i]).forEach((function(e){t.idToNodeMap.get(e).displacementY=p})):this.idToNodeMap.get(h[i]).displacementY=p}}},w.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,n=[],r=this.graphManager.getGraphs(),i=r.length;for(e=0;e<i;e++)(t=r[e]).updateConnected(),t.isConnected||(n=n.concat(t.getNodes()));return n},w.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e,n=new Set;for(e=0;e<t.length;e++){var r=t[e];if(!n.has(r)){var i=r.getSource(),a=r.getTarget();if(i==a)r.getBendpoints().push(new p),r.getBendpoints().push(new p),this.createDummyNodesForBendpoints(r),n.add(r);else{var s=[];if(s=(s=s.concat(i.getEdgeListToNode(a))).concat(a.getEdgeListToNode(i)),!n.has(s[0])){var o;if(s.length>1)for(o=0;o<s.length;o++){var l=s[o];l.getBendpoints().push(new p),this.createDummyNodesForBendpoints(l)}s.forEach((function(t){n.add(t)}))}}}if(n.size==t.length)break}},w.prototype.positionNodesRadially=function(t){for(var e=new d(0,0),n=Math.ceil(Math.sqrt(t.length)),r=0,i=0,a=0,s=new p(0,0),o=0;o<t.length;o++){o%n==0&&(a=0,i=r,0!=o&&(i+=l.DEFAULT_COMPONENT_SEPERATION),r=0);var c=t[o],h=f.findCenterOfTree(c);e.x=a,e.y=i,(s=w.radialLayout(c,h,e)).y>r&&(r=Math.floor(s.y)),a=Math.floor(s.x+l.DEFAULT_COMPONENT_SEPERATION)}this.transform(new p(u.WORLD_CENTER_X-s.x/2,u.WORLD_CENTER_Y-s.y/2))},w.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),l.DEFAULT_RADIAL_SEPARATION);w.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),a=new x;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(n.x),a.setWorldOrgY(n.y);for(var s=0;s<t.length;s++)t[s].transform(a);var o=new p(i.getMaxX(),i.getMaxY());return a.inverseTransformPoint(o)},w.branchRadialLayout=function(t,e,n,r,i,a){var s=(r-n+1)/2;s<0&&(s+=180);var o=(s+n)%360*y.TWO_PI/360,l=(Math.cos(o),i*Math.cos(o)),c=i*Math.sin(o);t.setCenter(l,c);var h=[],u=(h=h.concat(t.getEdges())).length;null!=e&&u--;for(var d,p=0,g=h.length,f=t.getEdgesBetween(e);f.length>1;){var m=f[0];f.splice(0,1);var v=h.indexOf(m);v>=0&&h.splice(v,1),g--,u--}d=null!=e?(h.indexOf(f[0])+1)%g:0;for(var x=Math.abs(r-n)/u,b=d;p!=u;b=++b%g){var k=h[b].getOtherEnd(t);if(k!=e){var T=(n+p*x)%360,_=(T+x)%360;w.branchRadialLayout(k,t,T,_,i+a,a),p++}}},w.maxDiagonalInTree=function(t){for(var e=m.MIN_VALUE,n=0;n<t.length;n++){var r=t[n].getDiagonal();r>e&&(e=r)}return e},w.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},w.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i<r.length;i++){var a=(o=r[i]).getParent();0!==this.getNodeDegreeWithChildren(o)||null!=a.id&&this.getToBeTiled(a)||n.push(o)}for(i=0;i<n.length;i++){var o,l=(o=n[i]).getParent().id;void 0===e[l]&&(e[l]=[]),e[l]=e[l].concat(o)}Object.keys(e).forEach((function(n){if(e[n].length>1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),a=new s(t.graphManager);a.id=r,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=a;var o=t.getGraphManager().add(t.newGraph(),a),l=i.getChild();l.add(a);for(var c=0;c<e[n].length;c++){var h=e[n][c];l.remove(h),o.add(h)}}}))},w.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)e[this.compoundOrder[n].id]=this.compoundOrder[n],t[this.compoundOrder[n].id]=[].concat(this.compoundOrder[n].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[n].getChild()),this.compoundOrder[n].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},w.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach((function(n){var r=t.idToDummyNode[n];if(e[n]=t.tileNodes(t.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=e[n].width,r.rect.height=e[n].height,r.setCenter(e[n].centerX,e[n].centerY),r.labelMarginLeft=0,r.labelMarginTop=0,l.NODE_DIMENSIONS_INCLUDE_LABELS){var i=r.rect.width,a=r.rect.height;r.labelWidth&&("left"==r.labelPosHorizontal?(r.rect.x-=r.labelWidth,r.setWidth(i+r.labelWidth),r.labelMarginLeft=r.labelWidth):"center"==r.labelPosHorizontal&&r.labelWidth>i?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(a+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>a?(r.rect.y-=(r.labelHeight-a)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-a)/2):"bottom"==r.labelPosVertical&&r.setHeight(a+r.labelHeight))}}))},w.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,a=e.labelMarginLeft,s=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,a,s)}},w.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,a=r.paddingTop,s=r.labelMarginLeft,o=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,a,s,o)}))},w.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i<r.length;i++){var a=r[i];if(this.getNodeDegree(a)>0)return this.toBeTiled[e]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[e]=!0,!0},w.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;r<e.length;r++){var i=e[r];i.getSource().id!==i.getTarget().id&&(n+=1)}return n},w.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var n=t.getChild().getNodes(),r=0;r<n.length;r++){var i=n[r];e+=this.getNodeDegreeWithChildren(i)}return e},w.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},w.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var n=t[e];null!=n.getChild()&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},w.prototype.adjustLocations=function(t,e,n,r,i,a,s){n+=i+s;for(var o=e+=r+a,l=0;l<t.rows.length;l++){var c=t.rows[l];e=o;for(var h=0,u=0;u<c.length;u++){var d=c[u];d.rect.x=e,d.rect.y=n,e+=d.rect.width+t.horizontalPadding,d.rect.height>h&&(h=d.rect.height)}n+=h+t.verticalPadding}},w.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,l.NODE_DIMENSIONS_INCLUDE_LABELS){var a=i.rect.width,s=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(a+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>a?(i.rect.x-=(i.labelWidth-a)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-a)/2):"right"==i.labelPosHorizontal&&i.setWidth(a+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(s+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>s?(i.rect.y-=(i.labelHeight-s)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-s)/2):"bottom"==i.labelPosVertical&&i.setHeight(s+i.labelHeight))}}))},w.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)<i?r:n},w.prototype.getOrgRatio=function(t){var e=t.width/t.height;return e<1&&(e=1/e),e},w.prototype.calcIdealRowWidth=function(t,e){var n=l.TILING_PADDING_VERTICAL,r=l.TILING_PADDING_HORIZONTAL,i=t.length,a=0,s=0,o=0;t.forEach((function(t){a+=t.getWidth(),s+=t.getHeight(),t.getWidth()>o&&(o=t.getWidth())}));var c,h=a/i,u=s/i,d=Math.pow(n-r,2)+4*(h+r)*(u+n)*i,p=(r-n+Math.sqrt(d))/(2*(h+r));e?(c=Math.ceil(p))==p&&c++:c=Math.floor(p);var g=c*(h+r)-r;return o>g&&(g=o),g+2*r},w.prototype.tileNodesByFavoringDim=function(t,e,n){var r=l.TILING_PADDING_VERTICAL,i=l.TILING_PADDING_HORIZONTAL,a=l.TILING_COMPARE_BY,s={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};a&&(s.idealRowWidth=this.calcIdealRowWidth(t,n));var o=function(t){return t.rect.width*t.rect.height},c=function(t,e){return o(e)-o(t)};t.sort((function(t,e){var n=c;return s.idealRowWidth?(n=a)(t.id,e.id):n(t,e)}));for(var h=0,u=0,d=0;d<t.length;d++)h+=(p=t[d]).getCenterX(),u+=p.getCenterY();for(s.centerX=h/t.length,s.centerY=u/t.length,d=0;d<t.length;d++){var p=t[d];if(0==s.rows.length)this.insertNodeToRow(s,p,0,e);else if(this.canAddHorizontal(s,p.rect.width,p.rect.height)){var g=s.rows.length-1;s.idealRowWidth||(g=this.getShortestRowIndex(s)),this.insertNodeToRow(s,p,g,e)}else this.insertNodeToRow(s,p,s.rows.length,e);this.shiftToLastRow(s)}return s},w.prototype.insertNodeToRow=function(t,e,n,r){var i=r;n==t.rows.length&&(t.rows.push([]),t.rowWidth.push(i),t.rowHeight.push(0));var a=t.rowWidth[n]+e.rect.width;t.rows[n].length>0&&(a+=t.horizontalPadding),t.rowWidth[n]=a,t.width<a&&(t.width=a);var s=e.rect.height;n>0&&(s+=t.verticalPadding);var o=0;s>t.rowHeight[n]&&(o=t.rowHeight[n],t.rowHeight[n]=s,o=t.rowHeight[n]-o),t.height+=o,t.rows[n].push(e)},w.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<n&&(e=r,n=t.rowWidth[r]);return e},w.prototype.getLongestRowIndex=function(t){for(var e=-1,n=Number.MIN_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]>n&&(e=r,n=t.rowWidth[r]);return e},w.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var a=t.rowWidth[i];if(a+t.horizontalPadding+e<=t.width)return!0;var s,o,l=0;return t.rowHeight[i]<n&&i>0&&(l=n+t.verticalPadding-t.rowHeight[i]),s=t.width-a>=e+t.horizontalPadding?(t.height+l)/(a+e+t.horizontalPadding):(t.height+l)/t.width,l=n+t.verticalPadding,(o=t.width<e?(t.height+l)/e:(t.height+l)/t.width)<1&&(o=1/o),s<1&&(s=1/s),s<o},w.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),n=t.rowWidth.length-1,r=t.rows[e],i=r[r.length-1],a=i.width+t.horizontalPadding;if(t.width-t.rowWidth[n]>a&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[n]=t.rowWidth[n]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,o=0;o<r.length;o++)r[o].height>s&&(s=r[o].height);e>0&&(s+=t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=s,t.rowHeight[n]<i.height+t.verticalPadding&&(t.rowHeight[n]=i.height+t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.height+=c-l,this.shiftToLastRow(t)}},w.prototype.tilingPreLayout=function(){l.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},w.prototype.tilingPostLayout=function(){l.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},w.prototype.reduceTrees=function(){for(var t,e=[],n=!0;n;){var r=this.graphManager.getAllNodes(),i=[];n=!1;for(var a=0;a<r.length;a++)if(1==(t=r[a]).getEdges().length&&!t.getEdges()[0].isInterGraph&&null==t.getChild()){if(l.PURE_INCREMENTAL){var s=t.getEdges()[0].getOtherEnd(t),o=new g(t.getCenterX()-s.getCenterX(),t.getCenterY()-s.getCenterY());i.push([t,t.getEdges()[0],t.getOwner(),o])}else i.push([t,t.getEdges()[0],t.getOwner()]);n=!0}if(1==n){for(var c=[],h=0;h<i.length;h++)1==i[h][0].getEdges().length&&(c.push(i[h]),i[h][0].getOwner().remove(i[h][0]));e.push(c),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},w.prototype.growTree=function(t){for(var e,n=t[t.length-1],r=0;r<n.length;r++)e=n[r],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},w.prototype.findPlaceforPrunedNode=function(t){var e,n,r=t[0];if(n=r==t[1].source?t[1].target:t[1].source,l.PURE_INCREMENTAL)r.setCenter(n.getCenterX()+t[3].getWidth(),n.getCenterY()+t[3].getHeight());else{var i=n.startX,a=n.finishX,s=n.startY,o=n.finishY,c=[0,0,0,0];if(s>0)for(var u=i;u<=a;u++)c[0]+=this.grid[u][s-1].length+this.grid[u][s].length-1;if(a<this.grid.length-1)for(u=s;u<=o;u++)c[1]+=this.grid[a+1][u].length+this.grid[a][u].length-1;if(o<this.grid[0].length-1)for(u=i;u<=a;u++)c[2]+=this.grid[u][o+1].length+this.grid[u][o].length-1;if(i>0)for(u=s;u<=o;u++)c[3]+=this.grid[i-1][u].length+this.grid[i][u].length-1;for(var d,p,g=m.MAX_VALUE,f=0;f<c.length;f++)c[f]<g?(g=c[f],d=1,p=f):c[f]==g&&d++;if(3==d&&0==g)0==c[0]&&0==c[1]&&0==c[2]?e=1:0==c[0]&&0==c[1]&&0==c[3]?e=0:0==c[0]&&0==c[2]&&0==c[3]?e=3:0==c[1]&&0==c[2]&&0==c[3]&&(e=2);else if(2==d&&0==g){var y=Math.floor(2*Math.random());e=0==c[0]&&0==c[1]?0==y?0:1:0==c[0]&&0==c[2]?0==y?0:2:0==c[0]&&0==c[3]?0==y?0:3:0==c[1]&&0==c[2]?0==y?1:2:0==c[1]&&0==c[3]?0==y?1:3:0==y?2:3}else e=4==d&&0==g?y=Math.floor(4*Math.random()):p;0==e?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-h.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==e?r.setCenter(n.getCenterX()+n.getWidth()/2+h.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):2==e?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+h.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-h.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())}},t.exports=w},991:(t,e,n)=>{var r=n(551).FDLayoutNode,i=n(551).IMath;function a(t,e,n,i){r.call(this,t,e,n,i)}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},a.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i<r.length;i++)null==(n=r[i]).getChild()?(n.displacementX+=t,n.displacementY+=e):n.propogateDisplacementToChildren(t,e)},a.prototype.move=function(){var t=this.graphManager.getLayout();null!=this.child&&0!=this.child.getNodes().length||(this.moveBy(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},a.prototype.setPred1=function(t){this.pred1=t},a.prototype.getPred1=function(){return pred1},a.prototype.getPred2=function(){return pred2},a.prototype.setNext=function(t){this.next=t},a.prototype.getNext=function(){return next},a.prototype.setProcessed=function(t){this.processed=t},a.prototype.isProcessed=function(){return processed},t.exports=a},902:(t,e,n)=>{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}var i=n(806),a=n(551).LinkedList,s=n(551).Matrix,o=n(551).SVD;function l(){}l.handleConstraints=function(t){var e={};e.fixedNodeConstraint=t.constraints.fixedNodeConstraint,e.alignmentConstraint=t.constraints.alignmentConstraint,e.relativePlacementConstraint=t.constraints.relativePlacementConstraint;for(var n=new Map,l=new Map,c=[],h=[],u=t.getAllNodes(),d=0,p=0;p<u.length;p++){var g=u[p];null==g.getChild()&&(l.set(g.id,d++),c.push(g.getCenterX()),h.push(g.getCenterY()),n.set(g.id,g))}e.relativePlacementConstraint&&e.relativePlacementConstraint.forEach((function(t){t.gap||0==t.gap||(t.left?t.gap=i.DEFAULT_EDGE_LENGTH+n.get(t.left).getWidth()/2+n.get(t.right).getWidth()/2:t.gap=i.DEFAULT_EDGE_LENGTH+n.get(t.top).getHeight()/2+n.get(t.bottom).getHeight()/2)}));var f=function(t){var e=0,n=0;return t.forEach((function(t){e+=c[l.get(t)],n+=h[l.get(t)]})),{x:e/t.size,y:n/t.size}},m=function(t,e,n,i,s){var o=new Map;t.forEach((function(t,e){o.set(e,0)})),t.forEach((function(t,e){t.forEach((function(t){o.set(t.id,o.get(t.id)+1)}))}));var u=new Map,d=new Map,p=new a;o.forEach((function(t,r){0==t?(p.push(r),n||("horizontal"==e?u.set(r,l.has(r)?c[l.get(r)]:i.get(r)):u.set(r,l.has(r)?h[l.get(r)]:i.get(r)))):u.set(r,Number.NEGATIVE_INFINITY),n&&d.set(r,new Set([r]))})),n&&s.forEach((function(t){var r=[];if(t.forEach((function(t){n.has(t)&&r.push(t)})),r.length>0){var a=0;r.forEach((function(t){"horizontal"==e?(u.set(t,l.has(t)?c[l.get(t)]:i.get(t)),a+=u.get(t)):(u.set(t,l.has(t)?h[l.get(t)]:i.get(t)),a+=u.get(t))})),a/=r.length,t.forEach((function(t){n.has(t)||u.set(t,a)}))}else{var s=0;t.forEach((function(t){s+="horizontal"==e?l.has(t)?c[l.get(t)]:i.get(t):l.has(t)?h[l.get(t)]:i.get(t)})),s/=t.length,t.forEach((function(t){u.set(t,s)}))}}));for(var g=function(){var r=p.shift();t.get(r).forEach((function(t){if(u.get(t.id)<u.get(r)+t.gap)if(n&&n.has(t.id)){var a;if(a="horizontal"==e?l.has(t.id)?c[l.get(t.id)]:i.get(t.id):l.has(t.id)?h[l.get(t.id)]:i.get(t.id),u.set(t.id,a),a<u.get(r)+t.gap){var s=u.get(r)+t.gap-a;d.get(r).forEach((function(t){u.set(t,u.get(t)-s)}))}}else u.set(t.id,u.get(r)+t.gap);o.set(t.id,o.get(t.id)-1),0==o.get(t.id)&&p.push(t.id),n&&d.set(t.id,function(t,e){var n=new Set(t),r=!0,i=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(r=(s=o.next()).done);r=!0){var l=s.value;n.add(l)}}catch(t){i=!0,a=t}finally{try{!r&&o.return&&o.return()}finally{if(i)throw a}}return n}(d.get(r),d.get(t.id)))}))};0!=p.length;)g();if(n){var f=new Set;t.forEach((function(t,e){0==t.length&&f.add(e)}));var m=[];d.forEach((function(t,e){if(f.has(e)){var i=!1,a=!0,s=!1,o=void 0;try{for(var l,c=t[Symbol.iterator]();!(a=(l=c.next()).done);a=!0){var h=l.value;n.has(h)&&(i=!0)}}catch(t){s=!0,o=t}finally{try{!a&&c.return&&c.return()}finally{if(s)throw o}}if(!i){var u=!1,d=void 0;m.forEach((function(e,n){e.has([].concat(r(t))[0])&&(u=!0,d=n)})),u?t.forEach((function(t){m[d].add(t)})):m.push(new Set(t))}}})),m.forEach((function(t,n){var r=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY,d=!0,p=!1,g=void 0;try{for(var f,m=t[Symbol.iterator]();!(d=(f=m.next()).done);d=!0){var y,v=f.value;y="horizontal"==e?l.has(v)?c[l.get(v)]:i.get(v):l.has(v)?h[l.get(v)]:i.get(v);var x=u.get(v);y<r&&(r=y),y>s&&(s=y),x<a&&(a=x),x>o&&(o=x)}}catch(t){p=!0,g=t}finally{try{!d&&m.return&&m.return()}finally{if(p)throw g}}var b=(r+s)/2-(a+o)/2,w=!0,k=!1,T=void 0;try{for(var _,E=t[Symbol.iterator]();!(w=(_=E.next()).done);w=!0){var S=_.value;u.set(S,u.get(S)+b)}}catch(t){k=!0,T=t}finally{try{!w&&E.return&&E.return()}finally{if(k)throw T}}}))}return u},y=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?c[l.get(t.left)]-c[l.get(t.right)]>=0?e++:n++:h[l.get(t.top)]-h[l.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var a=0;a<l.size;a++)c[a]=-1*c[a],h[a]=-1*h[a];else if(e>n)for(var s=0;s<l.size;s++)c[s]=-1*c[s];else if(r>i)for(var o=0;o<l.size;o++)h[o]=-1*h[o]},v=function(t){var e=[],n=new a,r=new Set,i=0;return t.forEach((function(a,s){if(!r.has(s)){e[i]=[];var o=s;for(n.push(o),r.add(o),e[i].push(o);0!=n.length;)o=n.shift(),t.get(o).forEach((function(t){r.has(t.id)||(n.push(t.id),r.add(t.id),e[i].push(t.id))}));i++}})),e},x=function(t){var e=new Map;return t.forEach((function(t,n){e.set(n,[])})),t.forEach((function(t,n){t.forEach((function(t){e.get(n).push(t),e.get(t.id).push({id:n,gap:t.gap,direction:t.direction})}))})),e},b=function(t){var e=new Map;return t.forEach((function(t,n){e.set(n,[])})),t.forEach((function(t,n){t.forEach((function(t){e.get(t.id).push({id:n,gap:t.gap,direction:t.direction})}))})),e},w=[],k=[],T=!1,_=!1,E=new Set,S=new Map,C=new Map,A=[];if(e.fixedNodeConstraint&&e.fixedNodeConstraint.forEach((function(t){E.add(t.nodeId)})),e.relativePlacementConstraint&&(e.relativePlacementConstraint.forEach((function(t){t.left?(S.has(t.left)?S.get(t.left).push({id:t.right,gap:t.gap,direction:"horizontal"}):S.set(t.left,[{id:t.right,gap:t.gap,direction:"horizontal"}]),S.has(t.right)||S.set(t.right,[])):(S.has(t.top)?S.get(t.top).push({id:t.bottom,gap:t.gap,direction:"vertical"}):S.set(t.top,[{id:t.bottom,gap:t.gap,direction:"vertical"}]),S.has(t.bottom)||S.set(t.bottom,[]))})),C=x(S),A=v(C)),i.TRANSFORM_ON_CONSTRAINT_HANDLING){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>1)e.fixedNodeConstraint.forEach((function(t,e){w[e]=[t.position.x,t.position.y],k[e]=[c[l.get(t.nodeId)],h[l.get(t.nodeId)]]})),T=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var a,s=new Set([].concat(r(i)).filter((function(t){return E.has(t)})));a=s.size>0?c[l.get(s.values().next().value)]:f(i).x,n[e].forEach((function(e){w[t]=[a,h[l.get(e)]],k[t]=[c[l.get(e)],h[l.get(e)]],t++}))},a=0;a<n.length;a++)i(a);T=!0}if(e.alignmentConstraint.horizontal){for(var s=e.alignmentConstraint.horizontal,o=function(e){var n=new Set;s[e].forEach((function(t){n.add(t)}));var i,a=new Set([].concat(r(n)).filter((function(t){return E.has(t)})));i=a.size>0?c[l.get(a.values().next().value)]:f(n).y,s[e].forEach((function(e){w[t]=[c[l.get(e)],i],k[t]=[c[l.get(e)],h[l.get(e)]],t++}))},u=0;u<s.length;u++)o(u);T=!0}e.relativePlacementConstraint&&(_=!0)}();else if(e.relativePlacementConstraint){for(var L=0,M=0,N=0;N<A.length;N++)A[N].length>L&&(L=A[N].length,M=N);if(L<C.size/2)y(e.relativePlacementConstraint),T=!1,_=!1;else{var I=new Map,R=new Map,D=[];A[M].forEach((function(t){S.get(t).forEach((function(e){"horizontal"==e.direction?(I.has(t)?I.get(t).push(e):I.set(t,[e]),I.has(e.id)||I.set(e.id,[]),D.push({left:t,right:e.id})):(R.has(t)?R.get(t).push(e):R.set(t,[e]),R.has(e.id)||R.set(e.id,[]),D.push({top:t,bottom:e.id}))}))})),y(D),_=!1;var O=m(I,"horizontal"),P=m(R,"vertical");A[M].forEach((function(t,e){k[e]=[c[l.get(t)],h[l.get(t)]],w[e]=[],O.has(t)?w[e][0]=O.get(t):w[e][0]=c[l.get(t)],P.has(t)?w[e][1]=P.get(t):w[e][1]=h[l.get(t)]})),T=!0}}if(T){for(var $,B=s.transpose(w),F=s.transpose(k),W=0;W<B.length;W++)B[W]=s.multGamma(B[W]),F[W]=s.multGamma(F[W]);var z=s.multMat(B,s.transpose(F)),Z=o.svd(z);$=s.multMat(Z.V,s.transpose(Z.U));for(var Y=0;Y<l.size;Y++){var U=[c[Y],h[Y]],G=[$[0][0],$[1][0]],V=[$[0][1],$[1][1]];c[Y]=s.dotProduct(U,G),h[Y]=s.dotProduct(U,V)}_&&y(e.relativePlacementConstraint)}}if(i.ENFORCE_CONSTRAINTS){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>0){var q={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:c[l.get(t.nodeId)],y:h[l.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});q.x+=i.x,q.y+=i.y})),q.x/=e.fixedNodeConstraint.length,q.y/=e.fixedNodeConstraint.length,c.forEach((function(t,e){c[e]+=q.x})),h.forEach((function(t,e){h[e]+=q.y})),e.fixedNodeConstraint.forEach((function(t){c[l.get(t.nodeId)]=t.position.x,h[l.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var j=e.alignmentConstraint.vertical,H=function(t){var e=new Set;j[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return E.has(t)})));n=i.size>0?c[l.get(i.values().next().value)]:f(e).x,e.forEach((function(t){E.has(t)||(c[l.get(t)]=n)}))},X=0;X<j.length;X++)H(X);if(e.alignmentConstraint.horizontal)for(var K=e.alignmentConstraint.horizontal,Q=function(t){var e=new Set;K[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return E.has(t)})));n=i.size>0?h[l.get(i.values().next().value)]:f(e).y,e.forEach((function(t){E.has(t)||(h[l.get(t)]=n)}))},J=0;J<K.length;J++)Q(J)}e.relativePlacementConstraint&&function(){var t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,s=new Map,o=new Set,u=new Set;if(E.forEach((function(t){o.add(t),u.add(t)})),e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var d=e.alignmentConstraint.vertical,p=function(e){r.set("dummy"+e,[]),d[e].forEach((function(n){t.set(n,"dummy"+e),r.get("dummy"+e).push(n),E.has(n)&&o.add("dummy"+e)})),a.set("dummy"+e,c[l.get(d[e][0])])},g=0;g<d.length;g++)p(g);if(e.alignmentConstraint.horizontal)for(var f=e.alignmentConstraint.horizontal,y=function(t){i.set("dummy"+t,[]),f[t].forEach((function(e){n.set(e,"dummy"+t),i.get("dummy"+t).push(e),E.has(e)&&u.add("dummy"+t)})),s.set("dummy"+t,h[l.get(f[t][0])])},w=0;w<f.length;w++)y(w)}var k=new Map,T=new Map,_=function(e){S.get(e).forEach((function(r){var i=void 0,a=void 0;"horizontal"==r.direction?(i=t.get(e)?t.get(e):e,a=t.get(r.id)?{id:t.get(r.id),gap:r.gap,direction:r.direction}:r,k.has(i)?k.get(i).push(a):k.set(i,[a]),k.has(a.id)||k.set(a.id,[])):(i=n.get(e)?n.get(e):e,a=n.get(r.id)?{id:n.get(r.id),gap:r.gap,direction:r.direction}:r,T.has(i)?T.get(i).push(a):T.set(i,[a]),T.has(a.id)||T.set(a.id,[]))}))},C=!0,A=!1,L=void 0;try{for(var M,N=S.keys()[Symbol.iterator]();!(C=(M=N.next()).done);C=!0)_(M.value)}catch(t){A=!0,L=t}finally{try{!C&&N.return&&N.return()}finally{if(A)throw L}}var I=x(k),R=x(T),D=v(I),O=v(R),P=b(k),$=b(T),B=[],F=[];D.forEach((function(t,e){B[e]=[],t.forEach((function(t){0==P.get(t).length&&B[e].push(t)}))})),O.forEach((function(t,e){F[e]=[],t.forEach((function(t){0==$.get(t).length&&F[e].push(t)}))}));var W=m(k,"horizontal",o,a,B),z=m(T,"vertical",u,s,F),Z=function(t){r.get(t)?r.get(t).forEach((function(e){c[l.get(e)]=W.get(t)})):c[l.get(t)]=W.get(t)},Y=!0,U=!1,G=void 0;try{for(var V,q=W.keys()[Symbol.iterator]();!(Y=(V=q.next()).done);Y=!0)Z(V.value)}catch(t){U=!0,G=t}finally{try{!Y&&q.return&&q.return()}finally{if(U)throw G}}var j=function(t){i.get(t)?i.get(t).forEach((function(e){h[l.get(e)]=z.get(t)})):h[l.get(t)]=z.get(t)},H=!0,X=!1,K=void 0;try{for(var Q,J=z.keys()[Symbol.iterator]();!(H=(Q=J.next()).done);H=!0)j(Q.value)}catch(t){X=!0,K=t}finally{try{!H&&J.return&&J.return()}finally{if(X)throw K}}}()}for(var tt=0;tt<u.length;tt++){var et=u[tt];null==et.getChild()&&et.setCenter(c[l.get(et.id)],h[l.get(et.id)])}},t.exports=l},551:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var a=n[r]={exports:{}};return e[r](a,a.exports,t),a.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),a=n(9);function s(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var o in s.prototype=Object.create(r.prototype),r)s[o]=r[o];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),a=n(13),s=n(0),o=n(16),l=n(5);function c(t,e,n,s){null==n&&null==s&&(s=e),r.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new a(e.x,e.y,n.width,n.height):new a}for(var h in c.prototype=Object.create(r.prototype),r)c[h]=r[h];c.prototype.getEdges=function(){return this.edges},c.prototype.getChild=function(){return this.child},c.prototype.getOwner=function(){return this.owner},c.prototype.getWidth=function(){return this.rect.width},c.prototype.setWidth=function(t){this.rect.width=t},c.prototype.getHeight=function(){return this.rect.height},c.prototype.setHeight=function(t){this.rect.height=t},c.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},c.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},c.prototype.getCenter=function(){return new l(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},c.prototype.getLocation=function(){return new l(this.rect.x,this.rect.y)},c.prototype.getRect=function(){return this.rect},c.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},c.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},c.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},c.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},c.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},c.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},c.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},c.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},c.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},c.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;n<e.length;n++)e[n].withChildren().forEach((function(e){t.add(e)}));return t},c.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),n=0;n<e.length;n++)t+=e[n].getNoOfChildren();return 0==t&&(t=1),t},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},c.prototype.scatter=function(){var t,e,n=-s.INITIAL_WORLD_BOUNDARY,r=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_X+o.nextDouble()*(r-n)+n;var i=-s.INITIAL_WORLD_BOUNDARY,a=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_Y+o.nextDouble()*(a-i)+i,this.rect.x=t,this.rect.y=e},c.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),n=t.getBottom()-t.getTop();this.labelWidth&&("left"==this.labelPosHorizontal?(this.rect.x-=this.labelWidth,this.setWidth(e+this.labelWidth)):"center"==this.labelPosHorizontal&&this.labelWidth>e?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},c.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},c.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var n=this.rect.y;n>s.WORLD_BOUNDARY?n=s.WORLD_BOUNDARY:n<-s.WORLD_BOUNDARY&&(n=-s.WORLD_BOUNDARY);var r=new l(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},c.prototype.getLeft=function(){return this.rect.x},c.prototype.getRight=function(){return this.rect.x+this.rect.width},c.prototype.getTop=function(){return this.rect.y},c.prototype.getBottom=function(){return this.rect.y+this.rect.height},c.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=c},function(t,e,n){"use strict";var r=n(0);function i(){}for(var a in r)i[a]=r[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),a=n(0),s=n(7),o=n(3),l=n(1),c=n(13),h=n(12),u=n(11);function d(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var p in d.prototype=Object.create(r.prototype),r)d[p]=r[p];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},d.prototype.remove=function(t){var e=t;if(t instanceof o){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i<r;i++)(a=n[i]).isInterGraph?this.graphManager.remove(a):a.source.owner.remove(a);if(-1==(s=this.nodes.indexOf(e)))throw"Node not in owner node list!";this.nodes.splice(s,1)}else if(t instanceof l){var a;if(null==(a=t))throw"Edge is null!";if(null==a.source||null==a.target)throw"Source and/or target is null!";if(null==a.source.owner||null==a.target.owner||a.source.owner!=this||a.target.owner!=this)throw"Source and/or target owner is invalid!";var s,c=a.source.edges.indexOf(a),h=a.target.edges.indexOf(a);if(!(c>-1&&h>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(c,1),a.target!=a.source&&a.target.edges.splice(h,1),-1==(s=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(s,1)}},d.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,a=i.MAX_VALUE,s=this.getNodes(),o=s.length,l=0;l<o;l++){var c=s[l];r>(t=c.getTop())&&(r=t),a>(e=c.getLeft())&&(a=e)}return r==i.MAX_VALUE?null:(n=null!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=a-n,this.top=r-n,new h(this.left,this.top))},d.prototype.updateBounds=function(t){for(var e,n,r,a,s,o=i.MAX_VALUE,l=-i.MAX_VALUE,h=i.MAX_VALUE,u=-i.MAX_VALUE,d=this.nodes,p=d.length,g=0;g<p;g++){var f=d[g];t&&null!=f.child&&f.updateBounds(),o>(e=f.getLeft())&&(o=e),l<(n=f.getRight())&&(l=n),h>(r=f.getTop())&&(h=r),u<(a=f.getBottom())&&(u=a)}var m=new c(o,h,l-o,u-h);o==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=m.x-s,this.right=m.x+m.width+s,this.top=m.y-s,this.bottom=m.y+m.height+s},d.calculateBounds=function(t){for(var e,n,r,a,s=i.MAX_VALUE,o=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,u=t.length,d=0;d<u;d++){var p=t[d];s>(e=p.getLeft())&&(s=e),o<(n=p.getRight())&&(o=n),l>(r=p.getTop())&&(l=r),h<(a=p.getBottom())&&(h=a)}return new c(s,l,o-s,h-l)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r<n;r++)t+=e[r].calcEstimatedSize();return this.estimatedSize=0==t?a.EMPTY_COMPOUND_NODE_SIZE:t/Math.sqrt(this.nodes.length),this.estimatedSize},d.prototype.updateConnected=function(){var t=this;if(0!=this.nodes.length){var e,n,r=new u,i=new Set,a=this.nodes[0];for(a.withChildren().forEach((function(t){r.push(t),i.add(t)}));0!==r.length;)for(var s=(e=(a=r.shift()).getEdges()).length,o=0;o<s;o++)null==(n=e[o].getOtherEndInGraph(a,this))||i.has(n)||n.withChildren().forEach((function(t){r.push(t),i.add(t)}));if(this.isConnected=!1,i.size>=this.nodes.length){var l=0;i.forEach((function(e){e.owner==t&&l++})),l==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=d},function(t,e,n){"use strict";var r,i=n(1);function a(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},a.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var a=(r=e).getOwner(),s=i.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==s)return n.isInterGraph=!1,a.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},a.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,a=[],s=(a=a.concat(e.getEdges())).length,o=0;o<s;o++)n=a[o],e.remove(n);var l,c=[];for(s=(c=c.concat(e.getNodes())).length,o=0;o<s;o++)l=c[o],e.remove(l);e==this.rootGraph&&this.setRootGraph(null);var h=this.graphs.indexOf(e);this.graphs.splice(h,1),e.parent=null}else if(t instanceof i){if(null==(n=t))throw"Edge is null!";if(!n.isInterGraph)throw"Not an inter-graph edge!";if(null==n.source||null==n.target)throw"Source and/or target is null!";if(-1==n.source.edges.indexOf(n)||-1==n.target.edges.indexOf(n))throw"Source and/or target doesn't know this edge!";if(h=n.source.edges.indexOf(n),n.source.edges.splice(h,1),h=n.target.edges.indexOf(n),n.target.edges.splice(h,1),null==n.source.owner||null==n.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==n.source.owner.getGraphManager().edges.indexOf(n))throw"Not in owner graph manager's edge list!";h=n.source.owner.getGraphManager().edges.indexOf(n),n.source.owner.getGraphManager().edges.splice(h,1)}},a.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},a.prototype.getGraphs=function(){return this.graphs},a.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),n=e.length,r=0;r<n;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},a.prototype.resetAllNodes=function(){this.allNodes=null},a.prototype.resetAllEdges=function(){this.allEdges=null},a.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},a.prototype.getAllEdges=function(){if(null==this.allEdges){for(var t=[],e=this.getGraphs(),n=(e.length,0);n<e.length;n++)t=t.concat(e[n].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},a.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},a.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},a.prototype.getRoot=function(){return this.rootGraph},a.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},a.prototype.getLayout=function(){return this.layout},a.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var n,r=t.getOwner();null!=(n=r.getParent());){if(n==e)return!0;if(null==(r=n.getOwner()))break}for(r=e.getOwner();null!=(n=r.getParent());){if(n==t)return!0;if(null==(r=n.getOwner()))break}return!1},a.prototype.calcLowestCommonAncestors=function(){for(var t,e,n,r,i,a=this.getAllEdges(),s=a.length,o=0;o<s;o++)if(e=(t=a[o]).source,n=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=n,e!=n){for(r=e.getOwner();null==t.lca;){for(t.targetInLca=n,i=n.getOwner();null==t.lca;){if(i==r){t.lca=i;break}if(i==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=i.getParent(),i=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}else t.lca=e.getOwner()},a.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var n=t.getOwner();null!=n;){for(var r=e.getOwner();null!=r;){if(r==n)return r;r=r.getParent().getOwner()}n=n.getParent().getOwner()}return n},a.prototype.calcInclusionTreeDepths=function(t,e){var n;null==t&&null==e&&(t=this.rootGraph,e=1);for(var r=t.getNodes(),i=r.length,a=0;a<i;a++)(n=r[a]).inclusionTreeDepth=e,null!=n.child&&this.calcInclusionTreeDepths(n.child,e+1)},a.prototype.includesInvalidEdge=function(){for(var t,e=[],n=this.edges.length,r=0;r<n;r++)t=this.edges[r],this.isOneAncestorOfOther(t.source,t.target)&&e.push(t);for(r=0;r<e.length;r++)this.remove(e[r]);return!1},t.exports=a},function(t,e,n){"use strict";var r=n(12);function i(){}i.calcSeparationAmount=function(t,e,n,r){if(!t.intersects(e))throw"assert failed";var i=new Array(2);this.decideDirectionsForOverlappingNodes(t,e,i),n[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),n[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var a=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(a=1);var s=a*n[0],o=n[1]/a;n[0]<o?o=n[0]:s=n[1],n[0]=-1*i[0]*(o/2+r),n[1]=-1*i[1]*(s/2+r)},i.decideDirectionsForOverlappingNodes=function(t,e,n){t.getCenterX()<e.getCenterX()?n[0]=-1:n[0]=1,t.getCenterY()<e.getCenterY()?n[1]=-1:n[1]=1},i.getIntersection2=function(t,e,n){var r=t.getCenterX(),i=t.getCenterY(),a=e.getCenterX(),s=e.getCenterY();if(t.intersects(e))return n[0]=r,n[1]=i,n[2]=a,n[3]=s,!0;var o=t.getX(),l=t.getY(),c=t.getRight(),h=t.getX(),u=t.getBottom(),d=t.getRight(),p=t.getWidthHalf(),g=t.getHeightHalf(),f=e.getX(),m=e.getY(),y=e.getRight(),v=e.getX(),x=e.getBottom(),b=e.getRight(),w=e.getWidthHalf(),k=e.getHeightHalf(),T=!1,_=!1;if(r===a){if(i>s)return n[0]=r,n[1]=l,n[2]=a,n[3]=x,!1;if(i<s)return n[0]=r,n[1]=u,n[2]=a,n[3]=m,!1}else if(i===s){if(r>a)return n[0]=o,n[1]=i,n[2]=y,n[3]=s,!1;if(r<a)return n[0]=c,n[1]=i,n[2]=f,n[3]=s,!1}else{var E=t.height/t.width,S=e.height/e.width,C=(s-i)/(a-r),A=void 0,L=void 0,M=void 0,N=void 0,I=void 0,R=void 0;if(-E===C?r>a?(n[0]=h,n[1]=u,T=!0):(n[0]=c,n[1]=l,T=!0):E===C&&(r>a?(n[0]=o,n[1]=l,T=!0):(n[0]=d,n[1]=u,T=!0)),-S===C?a>r?(n[2]=v,n[3]=x,_=!0):(n[2]=y,n[3]=m,_=!0):S===C&&(a>r?(n[2]=f,n[3]=m,_=!0):(n[2]=b,n[3]=x,_=!0)),T&&_)return!1;if(r>a?i>s?(A=this.getCardinalDirection(E,C,4),L=this.getCardinalDirection(S,C,2)):(A=this.getCardinalDirection(-E,C,3),L=this.getCardinalDirection(-S,C,1)):i>s?(A=this.getCardinalDirection(-E,C,1),L=this.getCardinalDirection(-S,C,3)):(A=this.getCardinalDirection(E,C,2),L=this.getCardinalDirection(S,C,4)),!T)switch(A){case 1:N=l,M=r+-g/C,n[0]=M,n[1]=N;break;case 2:M=d,N=i+p*C,n[0]=M,n[1]=N;break;case 3:N=u,M=r+g/C,n[0]=M,n[1]=N;break;case 4:M=h,N=i+-p*C,n[0]=M,n[1]=N}if(!_)switch(L){case 1:R=m,I=a+-k/C,n[2]=I,n[3]=R;break;case 2:I=b,R=s+w*C,n[2]=I,n[3]=R;break;case 3:R=x,I=a+k/C,n[2]=I,n[3]=R;break;case 4:I=v,R=s+-w*C,n[2]=I,n[3]=R}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var a,s,o,l,c,h,u,d=t.x,p=t.y,g=e.x,f=e.y,m=n.x,y=n.y,v=i.x,x=i.y;return 0==(u=(a=f-p)*(l=m-v)-(s=x-y)*(o=d-g))?null:new r((o*(h=v*y-m*x)-l*(c=g*p-d*f))/u,(s*c-a*h)/u)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n<t?i+=Math.PI:r<e&&(i+=this.TWO_PI)):i=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,i},i.doIntersect=function(t,e,n,r){var i=t.x,a=t.y,s=e.x,o=e.y,l=n.x,c=n.y,h=r.x,u=r.y,d=(s-i)*(u-c)-(h-l)*(o-a);if(0===d)return!1;var p=((u-c)*(h-i)+(l-h)*(u-a))/d,g=((a-o)*(h-i)+(s-i)*(u-a))/d;return 0<p&&p<1&&0<g&&g<1},i.findCircleLineIntersections=function(t,e,n,r,i,a,s){var o=(n-t)*(n-t)+(r-e)*(r-e),l=2*((t-i)*(n-t)+(e-a)*(r-e)),c=(t-i)*(t-i)+(e-a)*(e-a)-s*s;if(l*l-4*o*c>=0){var h=(-l+Math.sqrt(l*l-4*o*c))/(2*o),u=(-l-Math.sqrt(l*l-4*o*c))/(2*o);return h>=0&&h<=1?[h]:u>=0&&u<=1?[u]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=function(t){return{value:t,next:null,prev:null}},a=function(t,e,n,r){return null!==t?t.next=e:r.head=e,null!==n?n.prev=e:r.tail=e,e.prev=t,e.next=n,r.length++,e},s=function(t,e){var n=t.prev,r=t.next;return null!==n?n.next=r:e.head=r,null!==r?r.prev=n:e.tail=n,t.prev=t.next=null,e.length--,t},o=function(){function t(e){var n=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach((function(t){return n.push(t)}))}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return a(e.prev,i(t),e,this)}},{key:"insertAfter",value:function(t,e){return a(e,i(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return a(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return a(e,t,e.next,this)}},{key:"push",value:function(t){return a(this.tail,i(t),null,this)}},{key:"unshift",value:function(t){return a(null,i(t),this.head,this)}},{key:"remove",value:function(t){return s(t,this)}},{key:"pop",value:function(){return s(this.tail,this).value}},{key:"popNode",value:function(){return s(this.tail,this)}},{key:"shift",value:function(){return s(this.head,this).value}},{key:"shiftNode",value:function(){return s(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,n=this.head;e<t;)n=n.next,e++;return n.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var n=1,r=this.head;n<t;)r=r.next,n++;r.value=e}}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(t,e,n){this.x=null,this.y=null,null==t&&null==e&&null==n?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==n?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==n&&(n=t,this.x=n.x,this.y=n.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,n){"Point"==t.constructor.name&&null==e&&null==n?(n=t,this.setLocation(n.x,n.y)):"number"==typeof t&&"number"==typeof e&&null==n&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){if("Point"==t.constructor.name){var e=t;return this.x==e.x&&this.y==e.y}return this==t},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,n){"use strict";function r(t,e,n,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=n&&null!=r&&(this.x=t,this.y=e,this.width=n,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function i(){}i.lastID=0,i.createID=function(t){return i.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=i.getString(),i.lastID++),t.uniqueID)},i.getString=function(t){return null==t&&(t=i.lastID),"Object#"+t},i.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=i},function(t,e,n){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}var i=n(0),a=n(7),s=n(3),o=n(1),l=n(6),c=n(5),h=n(17),u=n(29);function d(t){u.call(this),this.layoutQuality=i.QUALITY,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=i.DEFAULT_INCREMENTAL,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new a(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}d.RANDOM_SEED=1,d.prototype=Object.create(u.prototype),d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},d.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},d.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},d.prototype.newGraphManager=function(){var t=new a(this);return this.graphManager=t,t},d.prototype.newGraph=function(t){return new l(null,this.graphManager,t)},d.prototype.newNode=function(t){return new s(this.graphManager,t)},d.prototype.newEdge=function(t){return new o(null,null,t)},d.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},d.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==i.ANIMATE&&(t&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},d.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},d.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];var n=this.graphManager.getRoot().getNodes();for(e=0;e<n.length;e++)n[e];this.update(this.graphManager.getRoot())}},d.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof s){var e=t;if(null!=e.getChild())for(var n=e.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);null!=e.vGraphObject&&e.vGraphObject.update(e)}else if(t instanceof o){var i=t;null!=i.vGraphObject&&i.vGraphObject.update(i)}else if(t instanceof l){var a=t;null!=a.vGraphObject&&a.vGraphObject.update(a)}},d.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=i.QUALITY,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=i.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},d.prototype.transform=function(t){if(null==t)this.transform(new c(0,0));else{var e=new h,n=this.graphManager.getRoot().updateLeftTop();if(null!=n){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(n.x),e.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),i=0;i<r.length;i++)r[i].transform(e)}}},d.prototype.positionNodesRandomly=function(t){if(null==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,n,r=t.getNodes(),i=0;i<r.length;i++)null==(n=(e=r[i]).getChild())||0==n.getNodes().length?e.scatter():(this.positionNodesRandomly(n),e.updateBounds())},d.prototype.getFlatForest=function(){for(var t=[],e=!0,n=this.graphManager.getRoot().getNodes(),i=!0,a=0;a<n.length;a++)null!=n[a].getChild()&&(i=!1);if(!i)return t;var s=new Set,o=[],l=new Map,c=[];for(c=c.concat(n);c.length>0&&e;){for(o.push(c[0]);o.length>0&&e;){var h=o[0];o.splice(0,1),s.add(h);var u=h.getEdges();for(a=0;a<u.length;a++){var d=u[a].getOtherEnd(h);if(l.get(h)!=d){if(s.has(d)){e=!1;break}o.push(d),l.set(d,h)}}}if(e){var p=[].concat(r(s));for(t.push(p),a=0;a<p.length;a++){var g=p[a],f=c.indexOf(g);f>-1&&c.splice(f,1)}s=new Set,l=new Map}else t=[]}return t},d.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i<t.bendpoints.length;i++){var a=this.newNode(null);a.setRect(new Point(0,0),new Dimension(1,1)),r.add(a);var s=this.newEdge(null);this.graphManager.add(s,n,a),e.add(a),n=a}return s=this.newEdge(null),this.graphManager.add(s,n,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},d.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var n=t[e];if(n.bendpoints.length>0){for(var i=this.edgeToDummyNodes.get(n),a=0;a<i.length;a++){var s=i[a],o=new c(s.getCenterX(),s.getCenterY()),l=n.bendpoints.get(a);l.x=o.x,l.y=o.y,s.getOwner().remove(s)}this.graphManager.add(n,n.source,n.target)}}},d.transform=function(t,e,n,r){if(null!=n&&null!=r){var i=e;return t<=50?i-=(e-e/n)/50*(50-t):i+=(e*r-e)/50*(t-50),i}var a,s;return t<=50?(a=9*e/500,s=e/10):(a=9*e/50,s=-8*e),a*t+s},d.findCenterOfTree=function(t){var e=[];e=e.concat(t);var n=[],r=new Map,i=!1,a=null;1!=e.length&&2!=e.length||(i=!0,a=e[0]);for(var s=0;s<e.length;s++){var o=(h=e[s]).getNeighborsList().size;r.set(h,h.getNeighborsList().size),1==o&&n.push(h)}var l=[];for(l=l.concat(n);!i;){var c=[];for(c=c.concat(l),l=[],s=0;s<e.length;s++){var h=e[s],u=e.indexOf(h);u>=0&&e.splice(u,1),h.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}}))}n=n.concat(l),1!=e.length&&2!=e.length||(i=!0,a=e[0])}return a},d.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=d},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),a=n(0),s=n(8),o=n(9);function l(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var c in l.prototype=Object.create(r.prototype),r)l[c]=r[c];l.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},l.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,s,o,l,c=this.getGraphManager().getAllEdges(),h=0;h<c.length;h++)e=(t=c[h]).idealLength,t.isInterGraph&&(r=t.getSource(),s=t.getTarget(),o=t.getSourceInLca().getEstimatedSize(),l=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=o+l-2*a.SIMPLE_NODE_SIZE),n=t.getLca().getInclusionTreeDepth(),t.idealLength+=e*i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(r.getInclusionTreeDepth()+s.getInclusionTreeDepth()-2*n))},l.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>i.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},l.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n<e.length;n++)t=e[n],this.calcSpringForce(t,t.idealLength)},l.prototype.calcRepulsionForces=function(){var t,e,n,r,a,s=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),a=new Set,t=0;t<l.length;t++)n=l[t],this.calculateRepulsionForceOfANode(n,a,s,o),a.add(n);else for(t=0;t<l.length;t++)for(n=l[t],e=t+1;e<l.length;e++)r=l[e],n.getOwner()==r.getOwner()&&this.calcRepulsionForce(n,r)},l.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),n=0;n<e.length;n++)t=e[n],this.calcGravitationalForce(t)},l.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},l.prototype.calcSpringForce=function(t,e){var n,r,i,a,s=t.getSource(),o=t.getTarget();if(this.uniformLeafNodeSizes&&null==s.getChild()&&null==o.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(n=t.getLength())&&(i=(r=t.edgeElasticity*(n-e))*(t.lengthX/n),a=r*(t.lengthY/n),s.springForceX+=i,s.springForceY+=a,o.springForceX-=i,o.springForceY-=a)},l.prototype.calcRepulsionForce=function(t,e){var n,r,a,l,c,h,u,d=t.getRect(),p=e.getRect(),g=new Array(2),f=new Array(4);if(d.intersects(p)){s.calcSeparationAmount(d,p,g,i.DEFAULT_EDGE_LENGTH/2),h=2*g[0],u=2*g[1];var m=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=m*h,t.repulsionForceY-=m*u,e.repulsionForceX+=m*h,e.repulsionForceY+=m*u}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(n=p.getCenterX()-d.getCenterX(),r=p.getCenterY()-d.getCenterY()):(s.getIntersection(d,p,f),n=f[2]-f[0],r=f[3]-f[1]),Math.abs(n)<i.MIN_REPULSION_DIST&&(n=o.sign(n)*i.MIN_REPULSION_DIST),Math.abs(r)<i.MIN_REPULSION_DIST&&(r=o.sign(r)*i.MIN_REPULSION_DIST),a=n*n+r*r,l=Math.sqrt(a),h=(c=(t.nodeRepulsion/2+e.nodeRepulsion/2)*t.noOfChildren*e.noOfChildren/a)*n/l,u=c*r/l,t.repulsionForceX-=h,t.repulsionForceY-=u,e.repulsionForceX+=h,e.repulsionForceY+=u},l.prototype.calcGravitationalForce=function(t){var e,n,r,i,a,s,o,l;n=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,i=t.getCenterX()-n,a=t.getCenterY()-r,s=Math.abs(i)+t.getWidth()/2,o=Math.abs(a)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(s>(l=e.getEstimatedSize()*this.gravityRangeFactor)||o>l)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*a):(s>(l=e.getEstimatedSize()*this.compoundGravityRangeFactor)||o>l)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},l.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},l.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},l.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),n=0;n<e.length;n++)(t=e[n]).noOfChildren=t.getNoOfChildren()},l.prototype.calcGrid=function(t){var e,n;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=new Array(e),i=0;i<e;i++)r[i]=new Array(n);for(i=0;i<e;i++)for(var a=0;a<n;a++)r[i][a]=new Array;return r},l.prototype.addNodeToGrid=function(t,e,n){var r,i,a,s;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),i=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),a=parseInt(Math.floor((t.getRect().y-n)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().height+t.getRect().y-n)/this.repulsionRange));for(var o=r;o<=i;o++)for(var l=a;l<=s;l++)this.grid[o][l].push(t),t.setGridCoordinates(r,i,a,s)},l.prototype.updateGrid=function(){var t,e,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),t=0;t<n.length;t++)e=n[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},l.prototype.calculateRepulsionForceOfANode=function(t,e,n,r){if(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var a,s=new Set;t.surrounding=new Array;for(var o=this.grid,l=t.startX-1;l<t.finishX+2;l++)for(var c=t.startY-1;c<t.finishY+2;c++)if(!(l<0||c<0||l>=o.length||c>=o[0].length))for(var h=0;h<o[l][c].length;h++)if(a=o[l][c][h],t.getOwner()==a.getOwner()&&t!=a&&!e.has(a)&&!s.has(a)){var u=Math.abs(t.getCenterX()-a.getCenterX())-(t.getWidth()/2+a.getWidth()/2),d=Math.abs(t.getCenterY()-a.getCenterY())-(t.getHeight()/2+a.getHeight()/2);u<=this.repulsionRange&&d<=this.repulsionRange&&s.add(a)}t.surrounding=[].concat(function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}(s))}for(l=0;l<t.surrounding.length;l++)this.calcRepulsionForce(t,t.surrounding[l])},l.prototype.calcRepulsionRange=function(){return 0},t.exports=l},function(t,e,n){"use strict";var r=n(1),i=n(4);function a(t,e,n){r.call(this,t,e,n),this.idealLength=i.DEFAULT_EDGE_LENGTH,this.edgeElasticity=i.DEFAULT_SPRING_STRENGTH}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];t.exports=a},function(t,e,n){"use strict";var r=n(3),i=n(4);function a(t,e,n,a){r.call(this,t,e,n,a),this.nodeRepulsion=i.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.setGridCoordinates=function(t,e,n,r){this.startX=t,this.finishX=e,this.startY=n,this.finishY=r},t.exports=a},function(t,e,n){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,n){"use strict";var r=n(14);function i(){this.map={},this.keys=[]}i.prototype.put=function(t,e){var n=r.createID(t);this.contains(n)||(this.map[n]=e,this.keys.push(t))},i.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},i.prototype.get=function(t){var e=r.createID(t);return this.map[e]},i.prototype.keySet=function(){return this.keys},t.exports=i},function(t,e,n){"use strict";var r=n(14);function i(){this.set={}}i.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},i.prototype.remove=function(t){delete this.set[r.createID(t)]},i.prototype.clear=function(){this.set={}},i.prototype.contains=function(t){return this.set[r.createID(t)]==t},i.prototype.isEmpty=function(){return 0===this.size()},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),n=e.length,r=0;r<n;r++)t.push(this.set[e[r]])},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAll=function(t){for(var e=t.length,n=0;n<e;n++){var r=t[n];this.add(r)}},t.exports=i},function(t,e,n){"use strict";function r(){}r.multMat=function(t,e){for(var n=[],r=0;r<t.length;r++){n[r]=[];for(var i=0;i<e[0].length;i++){n[r][i]=0;for(var a=0;a<t[0].length;a++)n[r][i]+=t[r][a]*e[a][i]}}return n},r.transpose=function(t){for(var e=[],n=0;n<t[0].length;n++){e[n]=[];for(var r=0;r<t.length;r++)e[n][r]=t[r][n]}return e},r.multCons=function(t,e){for(var n=[],r=0;r<t.length;r++)n[r]=t[r]*e;return n},r.minusOp=function(t,e){for(var n=[],r=0;r<t.length;r++)n[r]=t[r]-e[r];return n},r.dotProduct=function(t,e){for(var n=0,r=0;r<t.length;r++)n+=t[r]*e[r];return n},r.mag=function(t){return Math.sqrt(this.dotProduct(t,t))},r.normalize=function(t){for(var e=[],n=this.mag(t),r=0;r<t.length;r++)e[r]=t[r]/n;return e},r.multGamma=function(t){for(var e=[],n=0,r=0;r<t.length;r++)n+=t[r];n*=-1/t.length;for(var i=0;i<t.length;i++)e[i]=n+t[i];return e},r.multL=function(t,e,n){for(var r=[],i=[],a=[],s=0;s<e[0].length;s++){for(var o=0,l=0;l<e.length;l++)o+=-.5*e[l][s]*t[l];i[s]=o}for(var c=0;c<n.length;c++){for(var h=0,u=0;u<n.length;u++)h+=n[c][u]*i[u];a[c]=h}for(var d=0;d<e.length;d++){for(var p=0,g=0;g<e[0].length;g++)p+=e[d][g]*a[g];r[d]=p}return r},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(11),a=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),null===n&&void 0===n||(this.compareFunction=this._defaultCompareFunction);var r;r=e instanceof i?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,n){if(e<n){var r=this._partition(t,e,n);this._quicksort(t,e,r),this._quicksort(t,r+1,n)}}},{key:"_partition",value:function(t,e,n){for(var r=this._get(t,e),i=e,a=n;;){for(;this.compareFunction(r,this._get(t,a));)a--;for(;this.compareFunction(this._get(t,i),r);)i++;if(!(i<a))return a;this._swap(t,i,a),i++,a--}}},{key:"_get",value:function(t,e){return t instanceof i?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,n){t instanceof i?t.set_object_at(e,n):t[e]=n}},{key:"_swap",value:function(t,e,n){var r=this._get(t,e);this._set(t,e,this._get(t,n)),this._set(t,n,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}();t.exports=a},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r<e[0];r++)n.push(t(e.slice(1)));return n}([this.m,e]),this.V=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r<e[0];r++)n.push(t(e.slice(1)));return n}([this.n,this.n]);for(var n,i,a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.n),s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),o=Math.min(this.m-1,this.n),l=Math.max(0,Math.min(this.n-2,this.m)),c=0;c<Math.max(o,l);c++){if(c<o){this.s[c]=0;for(var h=c;h<this.m;h++)this.s[c]=r.hypot(this.s[c],t[h][c]);if(0!==this.s[c]){t[c][c]<0&&(this.s[c]=-this.s[c]);for(var u=c;u<this.m;u++)t[u][c]/=this.s[c];t[c][c]+=1}this.s[c]=-this.s[c]}for(var d=c+1;d<this.n;d++){if(n=c<o,i=0!==this.s[c],n&&i){for(var p=0,g=c;g<this.m;g++)p+=t[g][c]*t[g][d];p=-p/t[c][c];for(var f=c;f<this.m;f++)t[f][d]+=p*t[f][c]}a[d]=t[c][d]}if(function(t,e){return e}(0,c<o))for(var m=c;m<this.m;m++)this.U[m][c]=t[m][c];if(c<l){a[c]=0;for(var y=c+1;y<this.n;y++)a[c]=r.hypot(a[c],a[y]);if(0!==a[c]){a[c+1]<0&&(a[c]=-a[c]);for(var v=c+1;v<this.n;v++)a[v]/=a[c];a[c+1]+=1}if(a[c]=-a[c],function(t,e){return t&&e}(c+1<this.m,0!==a[c])){for(var x=c+1;x<this.m;x++)s[x]=0;for(var b=c+1;b<this.n;b++)for(var w=c+1;w<this.m;w++)s[w]+=a[b]*t[w][b];for(var k=c+1;k<this.n;k++)for(var T=-a[k]/a[c+1],_=c+1;_<this.m;_++)t[_][k]+=T*s[_]}for(var E=c+1;E<this.n;E++)this.V[E][c]=a[E]}}var S=Math.min(this.n,this.m+1);o<this.n&&(this.s[o]=t[o][o]),this.m<S&&(this.s[S-1]=0),l+1<S&&(a[l]=t[l][S-1]),a[S-1]=0;for(var C=o;C<e;C++){for(var A=0;A<this.m;A++)this.U[A][C]=0;this.U[C][C]=1}for(var L=o-1;L>=0;L--)if(0!==this.s[L]){for(var M=L+1;M<e;M++){for(var N=0,I=L;I<this.m;I++)N+=this.U[I][L]*this.U[I][M];N=-N/this.U[L][L];for(var R=L;R<this.m;R++)this.U[R][M]+=N*this.U[R][L]}for(var D=L;D<this.m;D++)this.U[D][L]=-this.U[D][L];this.U[L][L]=1+this.U[L][L];for(var O=0;O<L-1;O++)this.U[O][L]=0}else{for(var P=0;P<this.m;P++)this.U[P][L]=0;this.U[L][L]=1}for(var $=this.n-1;$>=0;$--){if(function(t,e){return t&&e}($<l,0!==a[$]))for(var B=$+1;B<e;B++){for(var F=0,W=$+1;W<this.n;W++)F+=this.V[W][$]*this.V[W][B];F=-F/this.V[$+1][$];for(var z=$+1;z<this.n;z++)this.V[z][B]+=F*this.V[z][$]}for(var Z=0;Z<this.n;Z++)this.V[Z][$]=0;this.V[$][$]=1}for(var Y=S-1,U=Math.pow(2,-52),G=Math.pow(2,-966);S>0;){var V=void 0,q=void 0;for(V=S-2;V>=-1&&-1!==V;V--)if(Math.abs(a[V])<=G+U*(Math.abs(this.s[V])+Math.abs(this.s[V+1]))){a[V]=0;break}if(V===S-2)q=4;else{var j=void 0;for(j=S-1;j>=V&&j!==V;j--){var H=(j!==S?Math.abs(a[j]):0)+(j!==V+1?Math.abs(a[j-1]):0);if(Math.abs(this.s[j])<=G+U*H){this.s[j]=0;break}}j===V?q=3:j===S-1?q=1:(q=2,V=j)}switch(V++,q){case 1:var X=a[S-2];a[S-2]=0;for(var K=S-2;K>=V;K--){var Q=r.hypot(this.s[K],X),J=this.s[K]/Q,tt=X/Q;this.s[K]=Q,K!==V&&(X=-tt*a[K-1],a[K-1]=J*a[K-1]);for(var et=0;et<this.n;et++)Q=J*this.V[et][K]+tt*this.V[et][S-1],this.V[et][S-1]=-tt*this.V[et][K]+J*this.V[et][S-1],this.V[et][K]=Q}break;case 2:var nt=a[V-1];a[V-1]=0;for(var rt=V;rt<S;rt++){var it=r.hypot(this.s[rt],nt),at=this.s[rt]/it,st=nt/it;this.s[rt]=it,nt=-st*a[rt],a[rt]=at*a[rt];for(var ot=0;ot<this.m;ot++)it=at*this.U[ot][rt]+st*this.U[ot][V-1],this.U[ot][V-1]=-st*this.U[ot][rt]+at*this.U[ot][V-1],this.U[ot][rt]=it}break;case 3:var lt=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[S-1]),Math.abs(this.s[S-2])),Math.abs(a[S-2])),Math.abs(this.s[V])),Math.abs(a[V])),ct=this.s[S-1]/lt,ht=this.s[S-2]/lt,ut=a[S-2]/lt,dt=this.s[V]/lt,pt=a[V]/lt,gt=((ht+ct)*(ht-ct)+ut*ut)/2,ft=ct*ut*(ct*ut),mt=0;(function(t,e){return t||e})(0!==gt,0!==ft)&&(mt=Math.sqrt(gt*gt+ft),gt<0&&(mt=-mt),mt=ft/(gt+mt));for(var yt=(dt+ct)*(dt-ct)+mt,vt=dt*pt,xt=V;xt<S-1;xt++){var bt=r.hypot(yt,vt),wt=yt/bt,kt=vt/bt;xt!==V&&(a[xt-1]=bt),yt=wt*this.s[xt]+kt*a[xt],a[xt]=wt*a[xt]-kt*this.s[xt],vt=kt*this.s[xt+1],this.s[xt+1]=wt*this.s[xt+1];for(var Tt=0;Tt<this.n;Tt++)bt=wt*this.V[Tt][xt]+kt*this.V[Tt][xt+1],this.V[Tt][xt+1]=-kt*this.V[Tt][xt]+wt*this.V[Tt][xt+1],this.V[Tt][xt]=bt;if(wt=yt/(bt=r.hypot(yt,vt)),kt=vt/bt,this.s[xt]=bt,yt=wt*a[xt]+kt*this.s[xt+1],this.s[xt+1]=-kt*a[xt]+wt*this.s[xt+1],vt=kt*a[xt+1],a[xt+1]=wt*a[xt+1],xt<this.m-1)for(var _t=0;_t<this.m;_t++)bt=wt*this.U[_t][xt]+kt*this.U[_t][xt+1],this.U[_t][xt+1]=-kt*this.U[_t][xt]+wt*this.U[_t][xt+1],this.U[_t][xt]=bt}a[S-2]=yt;break;case 4:if(this.s[V]<=0){this.s[V]=this.s[V]<0?-this.s[V]:0;for(var Et=0;Et<=Y;Et++)this.V[Et][V]=-this.V[Et][V]}for(;V<Y&&!(this.s[V]>=this.s[V+1]);){var St=this.s[V];if(this.s[V]=this.s[V+1],this.s[V+1]=St,V<this.n-1)for(var Ct=0;Ct<this.n;Ct++)St=this.V[Ct][V+1],this.V[Ct][V+1]=this.V[Ct][V],this.V[Ct][V]=St;if(V<this.m-1)for(var At=0;At<this.m;At++)St=this.U[At][V+1],this.U[At][V+1]=this.U[At][V],this.U[At][V]=St;V++}S--}}return{U:this.U,V:this.V,S:this.s}},r.hypot=function(t,e){var n=void 0;return Math.abs(t)>Math.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=a,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=new Array(this.jMax);for(var o=0;o<this.jMax;o++)this.grid[s][o]=0}this.tracebackGrid=new Array(this.iMax);for(var l=0;l<this.iMax;l++){this.tracebackGrid[l]=new Array(this.jMax);for(var c=0;c<this.jMax;c++)this.tracebackGrid[l][c]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var i=[this.sequence1[n-1]===this.sequence2[r-1]?this.grid[n-1][r-1]+this.match_score:this.grid[n-1][r-1]+this.mismatch_penalty,this.grid[n-1][r]+this.gap_penalty,this.grid[n][r-1]+this.gap_penalty],a=this.arrayAllMaxIndexes(i);this.grid[n][r]=i[a[0]],this.tracebackGrid[n][r]=[a.includes(0),a.includes(1),a.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],n=this.tracebackGrid[e.pos[0]][e.pos[1]];n[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),n[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),n[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var n=[],r=-1;-1!==(r=t.indexOf(e,r+1));)n.push(r);return n}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=i},function(t,e,n){"use strict";var r=function(){};r.FDLayout=n(18),r.FDLayoutConstants=n(4),r.FDLayoutEdge=n(19),r.FDLayoutNode=n(20),r.DimensionD=n(21),r.HashMap=n(22),r.HashSet=n(23),r.IGeometry=n(8),r.IMath=n(9),r.Integer=n(10),r.Point=n(12),r.PointD=n(5),r.RandomSeed=n(16),r.RectangleD=n(13),r.Transform=n(17),r.UniqueIDGeneretor=n(14),r.Quicksort=n(25),r.LinkedList=n(11),r.LGraphObject=n(2),r.LGraph=n(6),r.LEdge=n(1),r.LGraphManager=n(7),r.LNode=n(3),r.Layout=n(15),r.LayoutConstants=n(0),r.NeedlemanWunsch=n(27),r.Matrix=n(24),r.SVD=n(26),t.exports=r},function(t,e,n){"use strict";function r(){this.listeners=[]}var i=r.prototype;i.addListener=function(t,e){this.listeners.push({event:t,callback:e})},i.removeListener=function(t,e){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];t===r.event&&r.callback(e)}},t.exports=r}])},t.exports=e()},7484:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,n="millisecond",r="second",i="minute",a="hour",s="day",o="week",l="month",c="quarter",h="year",u="date",d="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},y={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,l),a=n-i<0,s=e.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-s:s-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:l,y:h,w:o,d:s,D:u,h:a,m:i,s:r,ms:n,Q:c}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",x={};x[v]=f;var b="$isDayjsObject",w=function(t){return t instanceof E||!(!t||!t[b])},k=function t(e,n,r){var i;if(!e)return v;if("string"==typeof e){var a=e.toLowerCase();x[a]&&(i=a),n&&(x[a]=n,i=a);var s=e.split("-");if(!i&&s.length>1)return t(s[0])}else{var o=e.name;x[o]=e,i=o}return!r&&i&&(v=i),i||!r&&v},T=function(t,e){if(w(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new E(n)},_=y;_.l=k,_.i=w,_.w=function(t,e){return T(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var E=function(){function f(t){this.$L=k(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[b]=!0}var m=f.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(_.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(p);if(r){var i=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return _},m.isValid=function(){return!(this.$d.toString()===d)},m.isSame=function(t,e){var n=T(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return T(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<T(t)},m.$g=function(t,e,n){return _.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,c=!!_.u(e)||e,d=_.p(t),p=function(t,e){var r=_.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return c?r:r.endOf(s)},g=function(t,e){return _.w(n.toDate()[t].apply(n.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},f=this.$W,m=this.$M,y=this.$D,v="set"+(this.$u?"UTC":"");switch(d){case h:return c?p(1,0):p(31,11);case l:return c?p(1,m):p(0,m+1);case o:var x=this.$locale().weekStart||0,b=(f<x?f+7:f)-x;return p(c?y-b:y+(6-b),m);case s:case u:return g(v+"Hours",0);case a:return g(v+"Minutes",1);case i:return g(v+"Seconds",2);case r:return g(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var o,c=_.p(t),d="set"+(this.$u?"UTC":""),p=(o={},o[s]=d+"Date",o[u]=d+"Date",o[l]=d+"Month",o[h]=d+"FullYear",o[a]=d+"Hours",o[i]=d+"Minutes",o[r]=d+"Seconds",o[n]=d+"Milliseconds",o)[c],g=c===s?this.$D+(e-this.$W):e;if(c===l||c===h){var f=this.clone().set(u,1);f.$d[p](g),f.init(),this.$d=f.set(u,Math.min(this.$D,f.daysInMonth())).$d}else p&&this.$d[p](g);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[_.p(t)]()},m.add=function(n,c){var u,d=this;n=Number(n);var p=_.p(c),g=function(t){var e=T(d);return _.w(e.date(e.date()+Math.round(t*n)),d)};if(p===l)return this.set(l,this.$M+n);if(p===h)return this.set(h,this.$y+n);if(p===s)return g(1);if(p===o)return g(7);var f=(u={},u[i]=t,u[a]=e,u[r]=1e3,u)[p]||1,m=this.$d.getTime()+n*f;return _.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||d;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=_.z(this),a=this.$H,s=this.$m,o=this.$M,l=n.weekdays,c=n.months,h=n.meridiem,u=function(t,n,i,a){return t&&(t[n]||t(e,r))||i[n].slice(0,a)},p=function(t){return _.s(a%12||12,t,"0")},f=h||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(g,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return _.s(e.$y,4,"0");case"M":return o+1;case"MM":return _.s(o+1,2,"0");case"MMM":return u(n.monthsShort,o,c,3);case"MMMM":return u(c,o);case"D":return e.$D;case"DD":return _.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return u(n.weekdaysMin,e.$W,l,2);case"ddd":return u(n.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(a);case"HH":return _.s(a,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return f(a,s,!0);case"A":return f(a,s,!1);case"m":return String(s);case"mm":return _.s(s,2,"0");case"s":return String(e.$s);case"ss":return _.s(e.$s,2,"0");case"SSS":return _.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(n,u,d){var p,g=this,f=_.p(u),m=T(n),y=(m.utcOffset()-this.utcOffset())*t,v=this-m,x=function(){return _.m(g,m)};switch(f){case h:p=x()/12;break;case l:p=x();break;case c:p=x()/3;break;case o:p=(v-y)/6048e5;break;case s:p=(v-y)/864e5;break;case a:p=v/e;break;case i:p=v/t;break;case r:p=v/1e3;break;default:p=v}return d?p:_.a(p)},m.daysInMonth=function(){return this.endOf(l).$D},m.$locale=function(){return x[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=k(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return _.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},f}(),S=E.prototype;return T.prototype=S,[["$ms",n],["$s",r],["$m",i],["$H",a],["$W",s],["$M",l],["$y",h],["$D",u]].forEach((function(t){S[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),T.extend=function(t,e){return t.$i||(t(e,E,T),t.$i=!0),T},T.locale=k,T.isDayjs=w,T.unix=function(t){return T(1e3*t)},T.en=x[v],T.Ls=x,T.p={},T}()},8734:function(t){t.exports=function(){"use strict";return function(t,e){var n=e.prototype,r=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return r.bind(this)(t);var i=this.$utils(),a=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return i.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return i.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return i.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}}));return r.bind(this)(a)}}}()},285:function(t){t.exports=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},o=function(t){return(t=+t)+(t>68?1900:2e3)},l=function(t){return function(e){this[t]=+e}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t)}],h=function(t){var e=s[t];return e&&(e.indexOf?e:e.s.concat(e.f))},u=function(t,e){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(t.indexOf(r(i,0,e))>-1){n=i>12;break}}else n=t===(e?"pm":"PM");return n},d={A:[a,function(t){this.afternoon=u(t,!1)}],a:[a,function(t){this.afternoon=u(t,!0)}],Q:[n,function(t){this.month=3*(t-1)+1}],S:[n,function(t){this.milliseconds=100*+t}],SS:[r,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[i,l("seconds")],ss:[i,l("seconds")],m:[i,l("minutes")],mm:[i,l("minutes")],H:[i,l("hours")],h:[i,l("hours")],HH:[i,l("hours")],hh:[i,l("hours")],D:[i,l("day")],DD:[r,l("day")],Do:[a,function(t){var e=s.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var r=1;r<=31;r+=1)e(r).replace(/\[|\]/g,"")===t&&(this.day=r)}],w:[i,l("week")],ww:[r,l("week")],M:[i,l("month")],MM:[r,l("month")],MMM:[a,function(t){var e=h("months"),n=(h("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[a,function(t){var e=h("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,l("year")],YY:[r,function(t){this.year=o(t)}],YYYY:[/\d{4}/,l("year")],Z:c,ZZ:c};function p(n){var r,i;r=n,i=s&&s.formats;for(var a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,r){var a=r&&r.toUpperCase();return n||i[r]||t[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),o=a.length,l=0;l<o;l+=1){var c=a[l],h=d[c],u=h&&h[0],p=h&&h[1];a[l]=p?{regex:u,parser:p}:c.replace(/^\[|\]$/g,"")}return function(t){for(var e={},n=0,r=0;n<o;n+=1){var i=a[n];if("string"==typeof i)r+=i.length;else{var s=i.regex,l=i.parser,c=t.slice(r),h=s.exec(c)[0];l.call(e,h),t=t.replace(h,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(o=t.parseTwoDigitYear);var r=e.prototype,i=r.parse;r.parse=function(t){var e=t.date,r=t.utc,a=t.args;this.$u=r;var o=a[1];if("string"==typeof o){var l=!0===a[2],c=!0===a[3],h=l||c,u=a[2];c&&(u=a[2]),s=this.$locale(),!l&&u&&(s=n.Ls[u]),this.$d=function(t,e,n,r){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var i=p(e)(t),a=i.year,s=i.month,o=i.day,l=i.hours,c=i.minutes,h=i.seconds,u=i.milliseconds,d=i.zone,g=i.week,f=new Date,m=o||(a||s?1:f.getDate()),y=a||f.getFullYear(),v=0;a&&!s||(v=s>0?s-1:f.getMonth());var x,b=l||0,w=c||0,k=h||0,T=u||0;return d?new Date(Date.UTC(y,v,m,b,w,k,T+60*d.offset*1e3)):n?new Date(Date.UTC(y,v,m,b,w,k,T)):(x=new Date(y,v,m,b,w,k,T),g&&(x=r(x).week(g).toDate()),x)}catch(t){return new Date("")}}(e,o,r,n),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),h&&e!=this.format(o)&&(this.$d=new Date("")),s={}}else if(o instanceof Array)for(var d=o.length,g=1;g<=d;g+=1){a[1]=o[g-1];var f=n.apply(this,a);if(f.isValid()){this.$d=f.$d,this.$L=f.$L,this.init();break}g===d&&(this.$d=new Date(""))}else i.call(this,t)}}}()},9542:function(t){t.exports=function(){"use strict";var t="day";return function(e,n,r){var i=function(e){return e.add(4-e.isoWeekday(),t)},a=n.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var n,a,s,o=i(this),l=(n=this.isoWeekYear(),s=4-(a=(this.$u?r.utc:r)().year(n).startOf("year")).isoWeekday(),a.isoWeekday()>4&&(s+=7),a.add(s,t));return o.diff(l,"week")+1},a.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var s=a.startOf;a.startOf=function(t,e){var n=this.$utils(),r=!!n.u(e)||e;return"isoweek"===n.p(t)?r?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(t,e)}}}()},2241:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=26)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),a=n(9);function s(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var o in s.prototype=Object.create(r.prototype),r)s[o]=r[o];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),a=n(13),s=n(0),o=n(16),l=n(4);function c(t,e,n,s){null==n&&null==s&&(s=e),r.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new a(e.x,e.y,n.width,n.height):new a}for(var h in c.prototype=Object.create(r.prototype),r)c[h]=r[h];c.prototype.getEdges=function(){return this.edges},c.prototype.getChild=function(){return this.child},c.prototype.getOwner=function(){return this.owner},c.prototype.getWidth=function(){return this.rect.width},c.prototype.setWidth=function(t){this.rect.width=t},c.prototype.getHeight=function(){return this.rect.height},c.prototype.setHeight=function(t){this.rect.height=t},c.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},c.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},c.prototype.getCenter=function(){return new l(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},c.prototype.getLocation=function(){return new l(this.rect.x,this.rect.y)},c.prototype.getRect=function(){return this.rect},c.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},c.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},c.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},c.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},c.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},c.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},c.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},c.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},c.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},c.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;n<e.length;n++)e[n].withChildren().forEach((function(e){t.add(e)}));return t},c.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),n=0;n<e.length;n++)t+=e[n].getNoOfChildren();return 0==t&&(t=1),t},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},c.prototype.scatter=function(){var t,e,n=-s.INITIAL_WORLD_BOUNDARY,r=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_X+o.nextDouble()*(r-n)+n;var i=-s.INITIAL_WORLD_BOUNDARY,a=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_Y+o.nextDouble()*(a-i)+i,this.rect.x=t,this.rect.y=e},c.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),n=t.getBottom()-t.getTop();this.labelWidth>e&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},c.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},c.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var n=this.rect.y;n>s.WORLD_BOUNDARY?n=s.WORLD_BOUNDARY:n<-s.WORLD_BOUNDARY&&(n=-s.WORLD_BOUNDARY);var r=new l(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},c.prototype.getLeft=function(){return this.rect.x},c.prototype.getRight=function(){return this.rect.x+this.rect.width},c.prototype.getTop=function(){return this.rect.y},c.prototype.getBottom=function(){return this.rect.y+this.rect.height},c.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=c},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),a=n(0),s=n(6),o=n(3),l=n(1),c=n(13),h=n(12),u=n(11);function d(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var p in d.prototype=Object.create(r.prototype),r)d[p]=r[p];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},d.prototype.remove=function(t){var e=t;if(t instanceof o){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i<r;i++)(a=n[i]).isInterGraph?this.graphManager.remove(a):a.source.owner.remove(a);if(-1==(s=this.nodes.indexOf(e)))throw"Node not in owner node list!";this.nodes.splice(s,1)}else if(t instanceof l){var a;if(null==(a=t))throw"Edge is null!";if(null==a.source||null==a.target)throw"Source and/or target is null!";if(null==a.source.owner||null==a.target.owner||a.source.owner!=this||a.target.owner!=this)throw"Source and/or target owner is invalid!";var s,c=a.source.edges.indexOf(a),h=a.target.edges.indexOf(a);if(!(c>-1&&h>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(c,1),a.target!=a.source&&a.target.edges.splice(h,1),-1==(s=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(s,1)}},d.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,a=i.MAX_VALUE,s=this.getNodes(),o=s.length,l=0;l<o;l++){var c=s[l];r>(t=c.getTop())&&(r=t),a>(e=c.getLeft())&&(a=e)}return r==i.MAX_VALUE?null:(n=null!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=a-n,this.top=r-n,new h(this.left,this.top))},d.prototype.updateBounds=function(t){for(var e,n,r,a,s,o=i.MAX_VALUE,l=-i.MAX_VALUE,h=i.MAX_VALUE,u=-i.MAX_VALUE,d=this.nodes,p=d.length,g=0;g<p;g++){var f=d[g];t&&null!=f.child&&f.updateBounds(),o>(e=f.getLeft())&&(o=e),l<(n=f.getRight())&&(l=n),h>(r=f.getTop())&&(h=r),u<(a=f.getBottom())&&(u=a)}var m=new c(o,h,l-o,u-h);o==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=m.x-s,this.right=m.x+m.width+s,this.top=m.y-s,this.bottom=m.y+m.height+s},d.calculateBounds=function(t){for(var e,n,r,a,s=i.MAX_VALUE,o=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,u=t.length,d=0;d<u;d++){var p=t[d];s>(e=p.getLeft())&&(s=e),o<(n=p.getRight())&&(o=n),l>(r=p.getTop())&&(l=r),h<(a=p.getBottom())&&(h=a)}return new c(s,l,o-s,h-l)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r<n;r++)t+=e[r].calcEstimatedSize();return this.estimatedSize=0==t?a.EMPTY_COMPOUND_NODE_SIZE:t/Math.sqrt(this.nodes.length),this.estimatedSize},d.prototype.updateConnected=function(){var t=this;if(0!=this.nodes.length){var e,n,r=new u,i=new Set,a=this.nodes[0];for(a.withChildren().forEach((function(t){r.push(t),i.add(t)}));0!==r.length;)for(var s=(e=(a=r.shift()).getEdges()).length,o=0;o<s;o++)null==(n=e[o].getOtherEndInGraph(a,this))||i.has(n)||n.withChildren().forEach((function(t){r.push(t),i.add(t)}));if(this.isConnected=!1,i.size>=this.nodes.length){var l=0;i.forEach((function(e){e.owner==t&&l++})),l==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=d},function(t,e,n){"use strict";var r,i=n(1);function a(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},a.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var a=(r=e).getOwner(),s=i.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==s)return n.isInterGraph=!1,a.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},a.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,a=[],s=(a=a.concat(e.getEdges())).length,o=0;o<s;o++)n=a[o],e.remove(n);var l,c=[];for(s=(c=c.concat(e.getNodes())).length,o=0;o<s;o++)l=c[o],e.remove(l);e==this.rootGraph&&this.setRootGraph(null);var h=this.graphs.indexOf(e);this.graphs.splice(h,1),e.parent=null}else if(t instanceof i){if(null==(n=t))throw"Edge is null!";if(!n.isInterGraph)throw"Not an inter-graph edge!";if(null==n.source||null==n.target)throw"Source and/or target is null!";if(-1==n.source.edges.indexOf(n)||-1==n.target.edges.indexOf(n))throw"Source and/or target doesn't know this edge!";if(h=n.source.edges.indexOf(n),n.source.edges.splice(h,1),h=n.target.edges.indexOf(n),n.target.edges.splice(h,1),null==n.source.owner||null==n.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==n.source.owner.getGraphManager().edges.indexOf(n))throw"Not in owner graph manager's edge list!";h=n.source.owner.getGraphManager().edges.indexOf(n),n.source.owner.getGraphManager().edges.splice(h,1)}},a.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},a.prototype.getGraphs=function(){return this.graphs},a.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),n=e.length,r=0;r<n;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},a.prototype.resetAllNodes=function(){this.allNodes=null},a.prototype.resetAllEdges=function(){this.allEdges=null},a.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},a.prototype.getAllEdges=function(){if(null==this.allEdges){for(var t=[],e=this.getGraphs(),n=(e.length,0);n<e.length;n++)t=t.concat(e[n].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},a.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},a.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},a.prototype.getRoot=function(){return this.rootGraph},a.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},a.prototype.getLayout=function(){return this.layout},a.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var n,r=t.getOwner();null!=(n=r.getParent());){if(n==e)return!0;if(null==(r=n.getOwner()))break}for(r=e.getOwner();null!=(n=r.getParent());){if(n==t)return!0;if(null==(r=n.getOwner()))break}return!1},a.prototype.calcLowestCommonAncestors=function(){for(var t,e,n,r,i,a=this.getAllEdges(),s=a.length,o=0;o<s;o++)if(e=(t=a[o]).source,n=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=n,e!=n){for(r=e.getOwner();null==t.lca;){for(t.targetInLca=n,i=n.getOwner();null==t.lca;){if(i==r){t.lca=i;break}if(i==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=i.getParent(),i=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}else t.lca=e.getOwner()},a.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var n=t.getOwner();null!=n;){for(var r=e.getOwner();null!=r;){if(r==n)return r;r=r.getParent().getOwner()}n=n.getParent().getOwner()}return n},a.prototype.calcInclusionTreeDepths=function(t,e){var n;null==t&&null==e&&(t=this.rootGraph,e=1);for(var r=t.getNodes(),i=r.length,a=0;a<i;a++)(n=r[a]).inclusionTreeDepth=e,null!=n.child&&this.calcInclusionTreeDepths(n.child,e+1)},a.prototype.includesInvalidEdge=function(){for(var t,e=this.edges.length,n=0;n<e;n++)if(t=this.edges[n],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=a},function(t,e,n){"use strict";var r=n(0);function i(){}for(var a in r)i[a]=r[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";var r=n(12);function i(){}i.calcSeparationAmount=function(t,e,n,r){if(!t.intersects(e))throw"assert failed";var i=new Array(2);this.decideDirectionsForOverlappingNodes(t,e,i),n[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),n[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var a=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(a=1);var s=a*n[0],o=n[1]/a;n[0]<o?o=n[0]:s=n[1],n[0]=-1*i[0]*(o/2+r),n[1]=-1*i[1]*(s/2+r)},i.decideDirectionsForOverlappingNodes=function(t,e,n){t.getCenterX()<e.getCenterX()?n[0]=-1:n[0]=1,t.getCenterY()<e.getCenterY()?n[1]=-1:n[1]=1},i.getIntersection2=function(t,e,n){var r=t.getCenterX(),i=t.getCenterY(),a=e.getCenterX(),s=e.getCenterY();if(t.intersects(e))return n[0]=r,n[1]=i,n[2]=a,n[3]=s,!0;var o=t.getX(),l=t.getY(),c=t.getRight(),h=t.getX(),u=t.getBottom(),d=t.getRight(),p=t.getWidthHalf(),g=t.getHeightHalf(),f=e.getX(),m=e.getY(),y=e.getRight(),v=e.getX(),x=e.getBottom(),b=e.getRight(),w=e.getWidthHalf(),k=e.getHeightHalf(),T=!1,_=!1;if(r===a){if(i>s)return n[0]=r,n[1]=l,n[2]=a,n[3]=x,!1;if(i<s)return n[0]=r,n[1]=u,n[2]=a,n[3]=m,!1}else if(i===s){if(r>a)return n[0]=o,n[1]=i,n[2]=y,n[3]=s,!1;if(r<a)return n[0]=c,n[1]=i,n[2]=f,n[3]=s,!1}else{var E=t.height/t.width,S=e.height/e.width,C=(s-i)/(a-r),A=void 0,L=void 0,M=void 0,N=void 0,I=void 0,R=void 0;if(-E===C?r>a?(n[0]=h,n[1]=u,T=!0):(n[0]=c,n[1]=l,T=!0):E===C&&(r>a?(n[0]=o,n[1]=l,T=!0):(n[0]=d,n[1]=u,T=!0)),-S===C?a>r?(n[2]=v,n[3]=x,_=!0):(n[2]=y,n[3]=m,_=!0):S===C&&(a>r?(n[2]=f,n[3]=m,_=!0):(n[2]=b,n[3]=x,_=!0)),T&&_)return!1;if(r>a?i>s?(A=this.getCardinalDirection(E,C,4),L=this.getCardinalDirection(S,C,2)):(A=this.getCardinalDirection(-E,C,3),L=this.getCardinalDirection(-S,C,1)):i>s?(A=this.getCardinalDirection(-E,C,1),L=this.getCardinalDirection(-S,C,3)):(A=this.getCardinalDirection(E,C,2),L=this.getCardinalDirection(S,C,4)),!T)switch(A){case 1:N=l,M=r+-g/C,n[0]=M,n[1]=N;break;case 2:M=d,N=i+p*C,n[0]=M,n[1]=N;break;case 3:N=u,M=r+g/C,n[0]=M,n[1]=N;break;case 4:M=h,N=i+-p*C,n[0]=M,n[1]=N}if(!_)switch(L){case 1:R=m,I=a+-k/C,n[2]=I,n[3]=R;break;case 2:I=b,R=s+w*C,n[2]=I,n[3]=R;break;case 3:R=x,I=a+k/C,n[2]=I,n[3]=R;break;case 4:I=v,R=s+-w*C,n[2]=I,n[3]=R}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var a,s,o,l,c,h,u,d=t.x,p=t.y,g=e.x,f=e.y,m=n.x,y=n.y,v=i.x,x=i.y;return 0==(u=(a=f-p)*(l=m-v)-(s=x-y)*(o=d-g))?null:new r((o*(h=v*y-m*x)-l*(c=g*p-d*f))/u,(s*c-a*h)/u)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n<t?i+=Math.PI:r<e&&(i+=this.TWO_PI)):i=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,i},i.doIntersect=function(t,e,n,r){var i=t.x,a=t.y,s=e.x,o=e.y,l=n.x,c=n.y,h=r.x,u=r.y,d=(s-i)*(u-c)-(h-l)*(o-a);if(0===d)return!1;var p=((u-c)*(h-i)+(l-h)*(u-a))/d,g=((a-o)*(h-i)+(s-i)*(u-a))/d;return 0<p&&p<1&&0<g&&g<1},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=function(t){return{value:t,next:null,prev:null}},a=function(t,e,n,r){return null!==t?t.next=e:r.head=e,null!==n?n.prev=e:r.tail=e,e.prev=t,e.next=n,r.length++,e},s=function(t,e){var n=t.prev,r=t.next;return null!==n?n.next=r:e.head=r,null!==r?r.prev=n:e.tail=n,t.prev=t.next=null,e.length--,t},o=function(){function t(e){var n=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach((function(t){return n.push(t)}))}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return a(e.prev,i(t),e,this)}},{key:"insertAfter",value:function(t,e){return a(e,i(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return a(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return a(e,t,e.next,this)}},{key:"push",value:function(t){return a(this.tail,i(t),null,this)}},{key:"unshift",value:function(t){return a(null,i(t),this.head,this)}},{key:"remove",value:function(t){return s(t,this)}},{key:"pop",value:function(){return s(this.tail,this).value}},{key:"popNode",value:function(){return s(this.tail,this)}},{key:"shift",value:function(){return s(this.head,this).value}},{key:"shiftNode",value:function(){return s(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,n=this.head;e<t;)n=n.next,e++;return n.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var n=1,r=this.head;n<t;)r=r.next,n++;r.value=e}}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(t,e,n){this.x=null,this.y=null,null==t&&null==e&&null==n?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==n?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==n&&(n=t,this.x=n.x,this.y=n.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,n){"Point"==t.constructor.name&&null==e&&null==n?(n=t,this.setLocation(n.x,n.y)):"number"==typeof t&&"number"==typeof e&&null==n&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){if("Point"==t.constructor.name){var e=t;return this.x==e.x&&this.y==e.y}return this==t},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,n){"use strict";function r(t,e,n,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=n&&null!=r&&(this.x=t,this.y=e,this.width=n,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function i(){}i.lastID=0,i.createID=function(t){return i.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=i.getString(),i.lastID++),t.uniqueID)},i.getString=function(t){return null==t&&(t=i.lastID),"Object#"+t},i.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=i},function(t,e,n){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}var i=n(0),a=n(6),s=n(3),o=n(1),l=n(5),c=n(4),h=n(17),u=n(27);function d(t){u.call(this),this.layoutQuality=i.QUALITY,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=i.DEFAULT_INCREMENTAL,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new a(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}d.RANDOM_SEED=1,d.prototype=Object.create(u.prototype),d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},d.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},d.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},d.prototype.newGraphManager=function(){var t=new a(this);return this.graphManager=t,t},d.prototype.newGraph=function(t){return new l(null,this.graphManager,t)},d.prototype.newNode=function(t){return new s(this.graphManager,t)},d.prototype.newEdge=function(t){return new o(null,null,t)},d.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},d.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==i.ANIMATE&&(t&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},d.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},d.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];var n=this.graphManager.getRoot().getNodes();for(e=0;e<n.length;e++)n[e];this.update(this.graphManager.getRoot())}},d.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof s){var e=t;if(null!=e.getChild())for(var n=e.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);null!=e.vGraphObject&&e.vGraphObject.update(e)}else if(t instanceof o){var i=t;null!=i.vGraphObject&&i.vGraphObject.update(i)}else if(t instanceof l){var a=t;null!=a.vGraphObject&&a.vGraphObject.update(a)}},d.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=i.QUALITY,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=i.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},d.prototype.transform=function(t){if(null==t)this.transform(new c(0,0));else{var e=new h,n=this.graphManager.getRoot().updateLeftTop();if(null!=n){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(n.x),e.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),i=0;i<r.length;i++)r[i].transform(e)}}},d.prototype.positionNodesRandomly=function(t){if(null==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,n,r=t.getNodes(),i=0;i<r.length;i++)null==(n=(e=r[i]).getChild())||0==n.getNodes().length?e.scatter():(this.positionNodesRandomly(n),e.updateBounds())},d.prototype.getFlatForest=function(){for(var t=[],e=!0,n=this.graphManager.getRoot().getNodes(),i=!0,a=0;a<n.length;a++)null!=n[a].getChild()&&(i=!1);if(!i)return t;var s=new Set,o=[],l=new Map,c=[];for(c=c.concat(n);c.length>0&&e;){for(o.push(c[0]);o.length>0&&e;){var h=o[0];o.splice(0,1),s.add(h);var u=h.getEdges();for(a=0;a<u.length;a++){var d=u[a].getOtherEnd(h);if(l.get(h)!=d){if(s.has(d)){e=!1;break}o.push(d),l.set(d,h)}}}if(e){var p=[].concat(r(s));for(t.push(p),a=0;a<p.length;a++){var g=p[a],f=c.indexOf(g);f>-1&&c.splice(f,1)}s=new Set,l=new Map}else t=[]}return t},d.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i<t.bendpoints.length;i++){var a=this.newNode(null);a.setRect(new Point(0,0),new Dimension(1,1)),r.add(a);var s=this.newEdge(null);this.graphManager.add(s,n,a),e.add(a),n=a}return s=this.newEdge(null),this.graphManager.add(s,n,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},d.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var n=t[e];if(n.bendpoints.length>0){for(var i=this.edgeToDummyNodes.get(n),a=0;a<i.length;a++){var s=i[a],o=new c(s.getCenterX(),s.getCenterY()),l=n.bendpoints.get(a);l.x=o.x,l.y=o.y,s.getOwner().remove(s)}this.graphManager.add(n,n.source,n.target)}}},d.transform=function(t,e,n,r){if(null!=n&&null!=r){var i=e;return t<=50?i-=(e-e/n)/50*(50-t):i+=(e*r-e)/50*(t-50),i}var a,s;return t<=50?(a=9*e/500,s=e/10):(a=9*e/50,s=-8*e),a*t+s},d.findCenterOfTree=function(t){var e=[];e=e.concat(t);var n=[],r=new Map,i=!1,a=null;1!=e.length&&2!=e.length||(i=!0,a=e[0]);for(var s=0;s<e.length;s++){var o=(h=e[s]).getNeighborsList().size;r.set(h,h.getNeighborsList().size),1==o&&n.push(h)}var l=[];for(l=l.concat(n);!i;){var c=[];for(c=c.concat(l),l=[],s=0;s<e.length;s++){var h=e[s],u=e.indexOf(h);u>=0&&e.splice(u,1),h.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}}))}n=n.concat(l),1!=e.length&&2!=e.length||(i=!0,a=e[0])}return a},d.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=d},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),a=n(0),s=n(8),o=n(9);function l(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var c in l.prototype=Object.create(r.prototype),r)l[c]=r[c];l.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},l.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,s,o,l=this.getGraphManager().getAllEdges(),c=0;c<l.length;c++)(t=l[c]).idealLength=this.idealEdgeLength,t.isInterGraph&&(n=t.getSource(),r=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),o=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+o-2*a.SIMPLE_NODE_SIZE),e=t.getLca().getInclusionTreeDepth(),t.idealLength+=i.DEFAULT_EDGE_LENGTH*i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(n.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*e))},l.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>i.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},l.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n<e.length;n++)t=e[n],this.calcSpringForce(t,t.idealLength)},l.prototype.calcRepulsionForces=function(){var t,e,n,r,a,s=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),a=new Set,t=0;t<l.length;t++)n=l[t],this.calculateRepulsionForceOfANode(n,a,s,o),a.add(n);else for(t=0;t<l.length;t++)for(n=l[t],e=t+1;e<l.length;e++)r=l[e],n.getOwner()==r.getOwner()&&this.calcRepulsionForce(n,r)},l.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),n=0;n<e.length;n++)t=e[n],this.calcGravitationalForce(t)},l.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},l.prototype.calcSpringForce=function(t,e){var n,r,i,a,s=t.getSource(),o=t.getTarget();if(this.uniformLeafNodeSizes&&null==s.getChild()&&null==o.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(n=t.getLength())&&(i=(r=this.springConstant*(n-e))*(t.lengthX/n),a=r*(t.lengthY/n),s.springForceX+=i,s.springForceY+=a,o.springForceX-=i,o.springForceY-=a)},l.prototype.calcRepulsionForce=function(t,e){var n,r,a,l,c,h,u,d=t.getRect(),p=e.getRect(),g=new Array(2),f=new Array(4);if(d.intersects(p)){s.calcSeparationAmount(d,p,g,i.DEFAULT_EDGE_LENGTH/2),h=2*g[0],u=2*g[1];var m=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=m*h,t.repulsionForceY-=m*u,e.repulsionForceX+=m*h,e.repulsionForceY+=m*u}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(n=p.getCenterX()-d.getCenterX(),r=p.getCenterY()-d.getCenterY()):(s.getIntersection(d,p,f),n=f[2]-f[0],r=f[3]-f[1]),Math.abs(n)<i.MIN_REPULSION_DIST&&(n=o.sign(n)*i.MIN_REPULSION_DIST),Math.abs(r)<i.MIN_REPULSION_DIST&&(r=o.sign(r)*i.MIN_REPULSION_DIST),a=n*n+r*r,l=Math.sqrt(a),h=(c=this.repulsionConstant*t.noOfChildren*e.noOfChildren/a)*n/l,u=c*r/l,t.repulsionForceX-=h,t.repulsionForceY-=u,e.repulsionForceX+=h,e.repulsionForceY+=u},l.prototype.calcGravitationalForce=function(t){var e,n,r,i,a,s,o,l;n=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,i=t.getCenterX()-n,a=t.getCenterY()-r,s=Math.abs(i)+t.getWidth()/2,o=Math.abs(a)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(s>(l=e.getEstimatedSize()*this.gravityRangeFactor)||o>l)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*a):(s>(l=e.getEstimatedSize()*this.compoundGravityRangeFactor)||o>l)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},l.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},l.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},l.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),n=0;n<e.length;n++)(t=e[n]).noOfChildren=t.getNoOfChildren()},l.prototype.calcGrid=function(t){var e,n;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=new Array(e),i=0;i<e;i++)r[i]=new Array(n);for(i=0;i<e;i++)for(var a=0;a<n;a++)r[i][a]=new Array;return r},l.prototype.addNodeToGrid=function(t,e,n){var r,i,a,s;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),i=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),a=parseInt(Math.floor((t.getRect().y-n)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().height+t.getRect().y-n)/this.repulsionRange));for(var o=r;o<=i;o++)for(var l=a;l<=s;l++)this.grid[o][l].push(t),t.setGridCoordinates(r,i,a,s)},l.prototype.updateGrid=function(){var t,e,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),t=0;t<n.length;t++)e=n[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},l.prototype.calculateRepulsionForceOfANode=function(t,e,n,r){if(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var a,s=new Set;t.surrounding=new Array;for(var o=this.grid,l=t.startX-1;l<t.finishX+2;l++)for(var c=t.startY-1;c<t.finishY+2;c++)if(!(l<0||c<0||l>=o.length||c>=o[0].length))for(var h=0;h<o[l][c].length;h++)if(a=o[l][c][h],t.getOwner()==a.getOwner()&&t!=a&&!e.has(a)&&!s.has(a)){var u=Math.abs(t.getCenterX()-a.getCenterX())-(t.getWidth()/2+a.getWidth()/2),d=Math.abs(t.getCenterY()-a.getCenterY())-(t.getHeight()/2+a.getHeight()/2);u<=this.repulsionRange&&d<=this.repulsionRange&&s.add(a)}t.surrounding=[].concat(function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}(s))}for(l=0;l<t.surrounding.length;l++)this.calcRepulsionForce(t,t.surrounding[l])},l.prototype.calcRepulsionRange=function(){return 0},t.exports=l},function(t,e,n){"use strict";var r=n(1),i=n(7);function a(t,e,n){r.call(this,t,e,n),this.idealLength=i.DEFAULT_EDGE_LENGTH}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];t.exports=a},function(t,e,n){"use strict";var r=n(3);function i(t,e,n,i){r.call(this,t,e,n,i),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];i.prototype.setGridCoordinates=function(t,e,n,r){this.startX=t,this.finishX=e,this.startY=n,this.finishY=r},t.exports=i},function(t,e,n){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,n){"use strict";var r=n(14);function i(){this.map={},this.keys=[]}i.prototype.put=function(t,e){var n=r.createID(t);this.contains(n)||(this.map[n]=e,this.keys.push(t))},i.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},i.prototype.get=function(t){var e=r.createID(t);return this.map[e]},i.prototype.keySet=function(){return this.keys},t.exports=i},function(t,e,n){"use strict";var r=n(14);function i(){this.set={}}i.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},i.prototype.remove=function(t){delete this.set[r.createID(t)]},i.prototype.clear=function(){this.set={}},i.prototype.contains=function(t){return this.set[r.createID(t)]==t},i.prototype.isEmpty=function(){return 0===this.size()},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),n=e.length,r=0;r<n;r++)t.push(this.set[e[r]])},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAll=function(t){for(var e=t.length,n=0;n<e;n++){var r=t[n];this.add(r)}},t.exports=i},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(11),a=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),null===n&&void 0===n||(this.compareFunction=this._defaultCompareFunction);var r;r=e instanceof i?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,n){if(e<n){var r=this._partition(t,e,n);this._quicksort(t,e,r),this._quicksort(t,r+1,n)}}},{key:"_partition",value:function(t,e,n){for(var r=this._get(t,e),i=e,a=n;;){for(;this.compareFunction(r,this._get(t,a));)a--;for(;this.compareFunction(this._get(t,i),r);)i++;if(!(i<a))return a;this._swap(t,i,a),i++,a--}}},{key:"_get",value:function(t,e){return t instanceof i?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,n){t instanceof i?t.set_object_at(e,n):t[e]=n}},{key:"_swap",value:function(t,e,n){var r=this._get(t,e);this._set(t,e,this._get(t,n)),this._set(t,n,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}();t.exports=a},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=a,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=new Array(this.jMax);for(var o=0;o<this.jMax;o++)this.grid[s][o]=0}this.tracebackGrid=new Array(this.iMax);for(var l=0;l<this.iMax;l++){this.tracebackGrid[l]=new Array(this.jMax);for(var c=0;c<this.jMax;c++)this.tracebackGrid[l][c]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var i=[this.sequence1[n-1]===this.sequence2[r-1]?this.grid[n-1][r-1]+this.match_score:this.grid[n-1][r-1]+this.mismatch_penalty,this.grid[n-1][r]+this.gap_penalty,this.grid[n][r-1]+this.gap_penalty],a=this.arrayAllMaxIndexes(i);this.grid[n][r]=i[a[0]],this.tracebackGrid[n][r]=[a.includes(0),a.includes(1),a.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],n=this.tracebackGrid[e.pos[0]][e.pos[1]];n[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),n[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),n[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var n=[],r=-1;-1!==(r=t.indexOf(e,r+1));)n.push(r);return n}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=i},function(t,e,n){"use strict";var r=function(){};r.FDLayout=n(18),r.FDLayoutConstants=n(7),r.FDLayoutEdge=n(19),r.FDLayoutNode=n(20),r.DimensionD=n(21),r.HashMap=n(22),r.HashSet=n(23),r.IGeometry=n(8),r.IMath=n(9),r.Integer=n(10),r.Point=n(12),r.PointD=n(4),r.RandomSeed=n(16),r.RectangleD=n(13),r.Transform=n(17),r.UniqueIDGeneretor=n(14),r.Quicksort=n(24),r.LinkedList=n(11),r.LGraphObject=n(2),r.LGraph=n(5),r.LEdge=n(1),r.LGraphManager=n(6),r.LNode=n(3),r.Layout=n(15),r.LayoutConstants=n(0),r.NeedlemanWunsch=n(25),t.exports=r},function(t,e,n){"use strict";function r(){this.listeners=[]}var i=r.prototype;i.addListener=function(t,e){this.listeners.push({event:t,callback:e})},i.removeListener=function(t,e){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];t===r.event&&r.callback(e)}},t.exports=r}])},t.exports=e()},4247:(t,e,n)=>{"use strict";function r(t,e,n){if(t&&t.length){const[r,i]=e,a=Math.PI/180*n,s=Math.cos(a),o=Math.sin(a);for(const e of t){const[t,n]=e;e[0]=(t-r)*s-(n-i)*o+r,e[1]=(t-r)*o+(n-i)*s+i}}}function i(t,e){return t[0]===e[0]&&t[1]===e[1]}function a(t,e,n,a=1){const s=n,o=Math.max(e,.1),l=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,c=[0,0];if(s)for(const t of l)r(t,c,s);const h=function(t,e,n){const r=[];for(const e of t){const t=[...e];i(t[0],t[t.length-1])||t.push([t[0][0],t[0][1]]),t.length>2&&r.push(t)}const a=[];e=Math.max(e,.1);const s=[];for(const t of r)for(let e=0;e<t.length-1;e++){const n=t[e],r=t[e+1];if(n[1]!==r[1]){const t=Math.min(n[1],r[1]);s.push({ymin:t,ymax:Math.max(n[1],r[1]),x:t===n[1]?n[0]:r[0],islope:(r[0]-n[0])/(r[1]-n[1])})}}if(s.sort(((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!s.length)return a;let o=[],l=s[0].ymin,c=0;for(;o.length||s.length;){if(s.length){let t=-1;for(let e=0;e<s.length&&!(s[e].ymin>l);e++)t=e;s.splice(0,t+1).forEach((t=>{o.push({s:l,edge:t})}))}if(o=o.filter((t=>!(t.edge.ymax<=l))),o.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==n||c%e==0)&&o.length>1)for(let t=0;t<o.length;t+=2){const e=t+1;if(e>=o.length)break;const n=o[t].edge,r=o[e].edge;a.push([[Math.round(n.x),l],[Math.round(r.x),l]])}l+=n,o.forEach((t=>{t.edge.x=t.edge.x+n*t.edge.islope})),c++}return a}(l,o,a);if(s){for(const t of l)r(t,c,-s);!function(t,e,n){const i=[];t.forEach((t=>i.push(...t))),r(i,e,n)}(h,c,-s)}return h}function s(t,e){var n;const r=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let s=1;return e.roughness>=1&&((null===(n=e.randomizer)||void 0===n?void 0:n.next())||Math.random())>.7&&(s=i),a(t,i,r,s||1)}n.d(e,{Z:()=>ot});class o{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){const n=s(t,e);return{type:"fillSketch",ops:this.renderLines(n,e)}}renderLines(t,e){const n=[];for(const r of t)n.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],e));return n}}function l(t){const e=t[0],n=t[1];return Math.sqrt(Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2))}class c extends o{fillPolygons(t,e){let n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.max(n,.1);const r=s(t,Object.assign({},e,{hachureGap:n})),i=Math.PI/180*e.hachureAngle,a=[],o=.5*n*Math.cos(i),c=.5*n*Math.sin(i);for(const[t,e]of r)l([t,e])&&a.push([[t[0]-o,t[1]+c],[...e]],[[t[0]+o,t[1]-c],[...e]]);return{type:"fillSketch",ops:this.renderLines(a,e)}}}class h extends o{fillPolygons(t,e){const n=this._fillPolygons(t,e),r=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),i=this._fillPolygons(t,r);return n.ops=n.ops.concat(i.ops),n}}class u{constructor(t){this.helper=t}fillPolygons(t,e){const n=s(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(n,e)}dotsOnLines(t,e){const n=[];let r=e.hachureGap;r<0&&(r=4*e.strokeWidth),r=Math.max(r,.1);let i=e.fillWeight;i<0&&(i=e.strokeWidth/2);const a=r/4;for(const s of t){const t=l(s),o=t/r,c=Math.ceil(o)-1,h=t-c*r,u=(s[0][0]+s[1][0])/2-r/4,d=Math.min(s[0][1],s[1][1]);for(let t=0;t<c;t++){const s=d+h+t*r,o=u-a+2*Math.random()*a,l=s-a+2*Math.random()*a,c=this.helper.ellipse(o,l,i,i,e);n.push(...c.ops)}}return{type:"fillSketch",ops:n}}}class d{constructor(t){this.helper=t}fillPolygons(t,e){const n=s(t,e);return{type:"fillSketch",ops:this.dashedLine(n,e)}}dashedLine(t,e){const n=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,r=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,i=[];return t.forEach((t=>{const a=l(t),s=Math.floor(a/(n+r)),o=(a+r-s*(n+r))/2;let c=t[0],h=t[1];c[0]>h[0]&&(c=t[1],h=t[0]);const u=Math.atan((h[1]-c[1])/(h[0]-c[0]));for(let t=0;t<s;t++){const a=t*(n+r),s=a+n,l=[c[0]+a*Math.cos(u)+o*Math.cos(u),c[1]+a*Math.sin(u)+o*Math.sin(u)],h=[c[0]+s*Math.cos(u)+o*Math.cos(u),c[1]+s*Math.sin(u)+o*Math.sin(u)];i.push(...this.helper.doubleLineOps(l[0],l[1],h[0],h[1],e))}})),i}}class p{constructor(t){this.helper=t}fillPolygons(t,e){const n=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,r=e.zigzagOffset<0?n:e.zigzagOffset,i=s(t,e=Object.assign({},e,{hachureGap:n+r}));return{type:"fillSketch",ops:this.zigzagLines(i,r,e)}}zigzagLines(t,e,n){const r=[];return t.forEach((t=>{const i=l(t),a=Math.round(i/(2*e));let s=t[0],o=t[1];s[0]>o[0]&&(s=t[1],o=t[0]);const c=Math.atan((o[1]-s[1])/(o[0]-s[0]));for(let t=0;t<a;t++){const i=2*t*e,a=2*(t+1)*e,o=Math.sqrt(2*Math.pow(e,2)),l=[s[0]+i*Math.cos(c),s[1]+i*Math.sin(c)],h=[s[0]+a*Math.cos(c),s[1]+a*Math.sin(c)],u=[l[0]+o*Math.cos(c+Math.PI/4),l[1]+o*Math.sin(c+Math.PI/4)];r.push(...this.helper.doubleLineOps(l[0],l[1],u[0],u[1],n),...this.helper.doubleLineOps(u[0],u[1],h[0],h[1],n))}})),r}}const g={};class f{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const m=0,y=1,v=2,x={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function b(t,e){return t.type===e}function w(t){const e=[],n=function(t){const e=new Array;for(;""!==t;)if(t.match(/^([ \t\r\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:m,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:y,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:v,text:""},e}(t);let r="BOD",i=0,a=n[i];for(;!b(a,v);){let s=0;const o=[];if("BOD"===r){if("M"!==a.text&&"m"!==a.text)return w("M0,0"+t);i++,s=x[a.text],r=a.text}else b(a,y)?s=x[r]:(i++,s=x[a.text],r=a.text);if(!(i+s<n.length))throw new Error("Path data ended short");for(let t=i;t<i+s;t++){const e=n[t];if(!b(e,y))throw new Error("Param not a number: "+r+","+e.text);o[o.length]=+e.text}if("number"!=typeof x[r])throw new Error("Bad segment: "+r);{const t={key:r,data:o};e.push(t),i+=s,a=n[i],"M"===r&&(r="L"),"m"===r&&(r="l")}}return e}function k(t){let e=0,n=0,r=0,i=0;const a=[];for(const{key:s,data:o}of t)switch(s){case"M":a.push({key:"M",data:[...o]}),[e,n]=o,[r,i]=o;break;case"m":e+=o[0],n+=o[1],a.push({key:"M",data:[e,n]}),r=e,i=n;break;case"L":a.push({key:"L",data:[...o]}),[e,n]=o;break;case"l":e+=o[0],n+=o[1],a.push({key:"L",data:[e,n]});break;case"C":a.push({key:"C",data:[...o]}),e=o[4],n=o[5];break;case"c":{const t=o.map(((t,r)=>r%2?t+n:t+e));a.push({key:"C",data:t}),e=t[4],n=t[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],n=o[3];break;case"q":{const t=o.map(((t,r)=>r%2?t+n:t+e));a.push({key:"Q",data:t}),e=t[2],n=t[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],n=o[6];break;case"a":e+=o[5],n+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,n]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),n=o[0];break;case"v":n+=o[0],a.push({key:"V",data:[n]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],n=o[3];break;case"s":{const t=o.map(((t,r)=>r%2?t+n:t+e));a.push({key:"S",data:t}),e=t[2],n=t[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],n=o[1];break;case"t":e+=o[0],n+=o[1],a.push({key:"T",data:[e,n]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=r,n=i}return a}function T(t){const e=[];let n="",r=0,i=0,a=0,s=0,o=0,l=0;for(const{key:c,data:h}of t){switch(c){case"M":e.push({key:"M",data:[...h]}),[r,i]=h,[a,s]=h;break;case"C":e.push({key:"C",data:[...h]}),r=h[4],i=h[5],o=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[r,i]=h;break;case"H":r=h[0],e.push({key:"L",data:[r,i]});break;case"V":i=h[0],e.push({key:"L",data:[r,i]});break;case"S":{let t=0,a=0;"C"===n||"S"===n?(t=r+(r-o),a=i+(i-l)):(t=r,a=i),e.push({key:"C",data:[t,a,...h]}),o=h[0],l=h[1],r=h[2],i=h[3];break}case"T":{const[t,a]=h;let s=0,c=0;"Q"===n||"T"===n?(s=r+(r-o),c=i+(i-l)):(s=r,c=i);const u=r+2*(s-r)/3,d=i+2*(c-i)/3,p=t+2*(s-t)/3,g=a+2*(c-a)/3;e.push({key:"C",data:[u,d,p,g,t,a]}),o=s,l=c,r=t,i=a;break}case"Q":{const[t,n,a,s]=h,c=r+2*(t-r)/3,u=i+2*(n-i)/3,d=a+2*(t-a)/3,p=s+2*(n-s)/3;e.push({key:"C",data:[c,u,d,p,a,s]}),o=t,l=n,r=a,i=s;break}case"A":{const t=Math.abs(h[0]),n=Math.abs(h[1]),a=h[2],s=h[3],o=h[4],l=h[5],c=h[6];0===t||0===n?(e.push({key:"C",data:[r,i,l,c,l,c]}),r=l,i=c):r===l&&i===c||(E(r,i,l,c,t,n,a,s,o).forEach((function(t){e.push({key:"C",data:t})})),r=l,i=c);break}case"Z":e.push({key:"Z",data:[]}),r=a,i=s}n=c}return e}function _(t,e,n){return[t*Math.cos(n)-e*Math.sin(n),t*Math.sin(n)+e*Math.cos(n)]}function E(t,e,n,r,i,a,s,o,l,c){const h=(u=s,Math.PI*u/180);var u;let d=[],p=0,g=0,f=0,m=0;if(c)[p,g,f,m]=c;else{[t,e]=_(t,e,-h),[n,r]=_(n,r,-h);const s=(t-n)/2,c=(e-r)/2;let u=s*s/(i*i)+c*c/(a*a);u>1&&(u=Math.sqrt(u),i*=u,a*=u);const d=i*i,y=a*a,v=d*y-d*c*c-y*s*s,x=d*c*c+y*s*s,b=(o===l?-1:1)*Math.sqrt(Math.abs(v/x));f=b*i*c/a+(t+n)/2,m=b*-a*s/i+(e+r)/2,p=Math.asin(parseFloat(((e-m)/a).toFixed(9))),g=Math.asin(parseFloat(((r-m)/a).toFixed(9))),t<f&&(p=Math.PI-p),n<f&&(g=Math.PI-g),p<0&&(p=2*Math.PI+p),g<0&&(g=2*Math.PI+g),l&&p>g&&(p-=2*Math.PI),!l&&g>p&&(g-=2*Math.PI)}let y=g-p;if(Math.abs(y)>120*Math.PI/180){const t=g,e=n,o=r;g=l&&g>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,d=E(n=f+i*Math.cos(g),r=m+a*Math.sin(g),e,o,i,a,s,0,l,[g,t,f,m])}y=g-p;const v=Math.cos(p),x=Math.sin(p),b=Math.cos(g),w=Math.sin(g),k=Math.tan(y/4),T=4/3*i*k,S=4/3*a*k,C=[t,e],A=[t+T*x,e-S*v],L=[n+T*w,r-S*b],M=[n,r];if(A[0]=2*C[0]-A[0],A[1]=2*C[1]-A[1],c)return[A,L,M].concat(d);{d=[A,L,M].concat(d);const t=[];for(let e=0;e<d.length;e+=3){const n=_(d[e][0],d[e][1],h),r=_(d[e+1][0],d[e+1][1],h),i=_(d[e+2][0],d[e+2][1],h);t.push([n[0],n[1],r[0],r[1],i[0],i[1]])}return t}}const S={randOffset:function(t,e){return F(t,e)},randOffsetWithRange:function(t,e,n){return B(t,e,n)},ellipse:function(t,e,n,r,i){return N(t,e,i,M(n,r,i)).opset},doubleLineOps:function(t,e,n,r,i){return W(t,e,n,r,i,!0)}};function C(t,e,n,r,i){return{type:"path",ops:W(t,e,n,r,i)}}function A(t,e,n){const r=(t||[]).length;if(r>2){const i=[];for(let e=0;e<r-1;e++)i.push(...W(t[e][0],t[e][1],t[e+1][0],t[e+1][1],n));return e&&i.push(...W(t[r-1][0],t[r-1][1],t[0][0],t[0][1],n)),{type:"path",ops:i}}return 2===r?C(t[0][0],t[0][1],t[1][0],t[1][1],n):{type:"path",ops:[]}}function L(t,e){if(t.length){const n="number"==typeof t[0][0]?[t]:t,r=Z(n[0],1*(1+.2*e.roughness),e),i=e.disableMultiStroke?[]:Z(n[0],1.5*(1+.22*e.roughness),P(e));for(let t=1;t<n.length;t++){const a=n[t];if(a.length){const t=Z(a,1*(1+.2*e.roughness),e),n=e.disableMultiStroke?[]:Z(a,1.5*(1+.22*e.roughness),P(e));for(const e of t)"move"!==e.op&&r.push(e);for(const t of n)"move"!==t.op&&i.push(t)}}return{type:"path",ops:r.concat(i)}}return{type:"path",ops:[]}}function M(t,e,n){const r=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),i=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),a=2*Math.PI/i;let s=Math.abs(t/2),o=Math.abs(e/2);const l=1-n.curveFitting;return s+=F(s*l,n),o+=F(o*l,n),{increment:a,rx:s,ry:o}}function N(t,e,n,r){const[i,a]=U(r.increment,t,e,r.rx,r.ry,1,r.increment*B(.1,B(.4,1,n),n),n);let s=Y(i,null,n);if(!n.disableMultiStroke&&0!==n.roughness){const[i]=U(r.increment,t,e,r.rx,r.ry,1.5,0,n),a=Y(i,null,n);s=s.concat(a)}return{estimatedPoints:a,opset:{type:"path",ops:s}}}function I(t,e,n,r,i,a,s,o,l){const c=t,h=e;let u=Math.abs(n/2),d=Math.abs(r/2);u+=F(.01*u,l),d+=F(.01*d,l);let p=i,g=a;for(;p<0;)p+=2*Math.PI,g+=2*Math.PI;g-p>2*Math.PI&&(p=0,g=2*Math.PI);const f=2*Math.PI/l.curveStepCount,m=Math.min(f/2,(g-p)/2),y=G(m,c,h,u,d,p,g,1,l);if(!l.disableMultiStroke){const t=G(m,c,h,u,d,p,g,1.5,l);y.push(...t)}return s&&(o?y.push(...W(c,h,c+u*Math.cos(p),h+d*Math.sin(p),l),...W(c,h,c+u*Math.cos(g),h+d*Math.sin(g),l)):y.push({op:"lineTo",data:[c,h]},{op:"lineTo",data:[c+u*Math.cos(p),h+d*Math.sin(p)]})),{type:"path",ops:y}}function R(t,e){const n=T(k(w(t))),r=[];let i=[0,0],a=[0,0];for(const{key:t,data:s}of n)switch(t){case"M":a=[s[0],s[1]],i=[s[0],s[1]];break;case"L":r.push(...W(a[0],a[1],s[0],s[1],e)),a=[s[0],s[1]];break;case"C":{const[t,n,i,o,l,c]=s;r.push(...V(t,n,i,o,l,c,a,e)),a=[l,c];break}case"Z":r.push(...W(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:r}}function D(t,e){const n=[];for(const r of t)if(r.length){const t=e.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:"move",data:[r[0][0]+F(t,e),r[0][1]+F(t,e)]});for(let a=1;a<i;a++)n.push({op:"lineTo",data:[r[a][0]+F(t,e),r[a][1]+F(t,e)]})}}return{type:"fillPath",ops:n}}function O(t,e){return function(t,e){let n=t.fillStyle||"hachure";if(!g[n])switch(n){case"zigzag":g[n]||(g[n]=new c(e));break;case"cross-hatch":g[n]||(g[n]=new h(e));break;case"dots":g[n]||(g[n]=new u(e));break;case"dashed":g[n]||(g[n]=new d(e));break;case"zigzag-line":g[n]||(g[n]=new p(e));break;default:n="hachure",g[n]||(g[n]=new o(e))}return g[n]}(e,S).fillPolygons(t,e)}function P(t){const e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function $(t){return t.randomizer||(t.randomizer=new f(t.seed||0)),t.randomizer.next()}function B(t,e,n,r=1){return n.roughness*r*($(n)*(e-t)+t)}function F(t,e,n=1){return B(-t,t,e,n)}function W(t,e,n,r,i,a=!1){const s=a?i.disableMultiStrokeFill:i.disableMultiStroke,o=z(t,e,n,r,i,!0,!1);if(s)return o;const l=z(t,e,n,r,i,!0,!0);return o.concat(l)}function z(t,e,n,r,i,a,s){const o=Math.pow(t-n,2)+Math.pow(e-r,2),l=Math.sqrt(o);let c=1;c=l<200?1:l>500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>o&&(h=l/10);const u=h/2,d=.2+.2*$(i);let p=i.bowing*i.maxRandomnessOffset*(r-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-n)/200;p=F(p,i,c),g=F(g,i,c);const f=[],m=()=>F(u,i,c),y=()=>F(h,i,c),v=i.preserveVertices;return a&&(s?f.push({op:"move",data:[t+(v?0:m()),e+(v?0:m())]}):f.push({op:"move",data:[t+(v?0:F(h,i,c)),e+(v?0:F(h,i,c))]})),s?f.push({op:"bcurveTo",data:[p+t+(n-t)*d+m(),g+e+(r-e)*d+m(),p+t+2*(n-t)*d+m(),g+e+2*(r-e)*d+m(),n+(v?0:m()),r+(v?0:m())]}):f.push({op:"bcurveTo",data:[p+t+(n-t)*d+y(),g+e+(r-e)*d+y(),p+t+2*(n-t)*d+y(),g+e+2*(r-e)*d+y(),n+(v?0:y()),r+(v?0:y())]}),f}function Z(t,e,n){if(!t.length)return[];const r=[];r.push([t[0][0]+F(e,n),t[0][1]+F(e,n)]),r.push([t[0][0]+F(e,n),t[0][1]+F(e,n)]);for(let i=1;i<t.length;i++)r.push([t[i][0]+F(e,n),t[i][1]+F(e,n)]),i===t.length-1&&r.push([t[i][0]+F(e,n),t[i][1]+F(e,n)]);return Y(r,null,n)}function Y(t,e,n){const r=t.length,i=[];if(r>3){const a=[],s=1-n.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+2<r;e++){const n=t[e];a[0]=[n[0],n[1]],a[1]=[n[0]+(s*t[e+1][0]-s*t[e-1][0])/6,n[1]+(s*t[e+1][1]-s*t[e-1][1])/6],a[2]=[t[e+1][0]+(s*t[e][0]-s*t[e+2][0])/6,t[e+1][1]+(s*t[e][1]-s*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],i.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){const t=n.maxRandomnessOffset;i.push({op:"lineTo",data:[e[0]+F(t,n),e[1]+F(t,n)]})}}else 3===r?(i.push({op:"move",data:[t[1][0],t[1][1]]}),i.push({op:"bcurveTo",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===r&&i.push(...z(t[0][0],t[0][1],t[1][0],t[1][1],n,!0,!0));return i}function U(t,e,n,r,i,a,s,o){const l=[],c=[];if(0===o.roughness){t/=4,c.push([e+r*Math.cos(-t),n+i*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){const t=[e+r*Math.cos(a),n+i*Math.sin(a)];l.push(t),c.push(t)}c.push([e+r*Math.cos(0),n+i*Math.sin(0)]),c.push([e+r*Math.cos(t),n+i*Math.sin(t)])}else{const h=F(.5,o)-Math.PI/2;c.push([F(a,o)+e+.9*r*Math.cos(h-t),F(a,o)+n+.9*i*Math.sin(h-t)]);const u=2*Math.PI+h-.01;for(let s=h;s<u;s+=t){const t=[F(a,o)+e+r*Math.cos(s),F(a,o)+n+i*Math.sin(s)];l.push(t),c.push(t)}c.push([F(a,o)+e+r*Math.cos(h+2*Math.PI+.5*s),F(a,o)+n+i*Math.sin(h+2*Math.PI+.5*s)]),c.push([F(a,o)+e+.98*r*Math.cos(h+s),F(a,o)+n+.98*i*Math.sin(h+s)]),c.push([F(a,o)+e+.9*r*Math.cos(h+.5*s),F(a,o)+n+.9*i*Math.sin(h+.5*s)])}return[c,l]}function G(t,e,n,r,i,a,s,o,l){const c=a+F(.1,l),h=[];h.push([F(o,l)+e+.9*r*Math.cos(c-t),F(o,l)+n+.9*i*Math.sin(c-t)]);for(let a=c;a<=s;a+=t)h.push([F(o,l)+e+r*Math.cos(a),F(o,l)+n+i*Math.sin(a)]);return h.push([e+r*Math.cos(s),n+i*Math.sin(s)]),h.push([e+r*Math.cos(s),n+i*Math.sin(s)]),Y(h,null,l)}function V(t,e,n,r,i,a,s,o){const l=[],c=[o.maxRandomnessOffset||1,(o.maxRandomnessOffset||1)+.3];let h=[0,0];const u=o.disableMultiStroke?1:2,d=o.preserveVertices;for(let p=0;p<u;p++)0===p?l.push({op:"move",data:[s[0],s[1]]}):l.push({op:"move",data:[s[0]+(d?0:F(c[0],o)),s[1]+(d?0:F(c[0],o))]}),h=d?[i,a]:[i+F(c[p],o),a+F(c[p],o)],l.push({op:"bcurveTo",data:[t+F(c[p],o),e+F(c[p],o),n+F(c[p],o),r+F(c[p],o),h[0],h[1]]});return l}function q(t){return[...t]}function j(t,e=0){const n=t.length;if(n<3)throw new Error("A curve must have at least three points.");const r=[];if(3===n)r.push(q(t[0]),q(t[1]),q(t[2]),q(t[2]));else{const n=[];n.push(t[0],t[0]);for(let e=1;e<t.length;e++)n.push(t[e]),e===t.length-1&&n.push(t[e]);const i=[],a=1-e;r.push(q(n[0]));for(let t=1;t+2<n.length;t++){const e=n[t];i[0]=[e[0],e[1]],i[1]=[e[0]+(a*n[t+1][0]-a*n[t-1][0])/6,e[1]+(a*n[t+1][1]-a*n[t-1][1])/6],i[2]=[n[t+1][0]+(a*n[t][0]-a*n[t+2][0])/6,n[t+1][1]+(a*n[t][1]-a*n[t+2][1])/6],i[3]=[n[t+1][0],n[t+1][1]],r.push(i[1],i[2],i[3])}}return r}function H(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function X(t,e,n){const r=H(e,n);if(0===r)return H(t,e);let i=((t[0]-e[0])*(n[0]-e[0])+(t[1]-e[1])*(n[1]-e[1]))/r;return i=Math.max(0,Math.min(1,i)),H(t,K(e,n,i))}function K(t,e,n){return[t[0]+(e[0]-t[0])*n,t[1]+(e[1]-t[1])*n]}function Q(t,e,n,r){const i=r||[];if(function(t,e){const n=t[e+0],r=t[e+1],i=t[e+2],a=t[e+3];let s=3*r[0]-2*n[0]-a[0];s*=s;let o=3*r[1]-2*n[1]-a[1];o*=o;let l=3*i[0]-2*a[0]-n[0];l*=l;let c=3*i[1]-2*a[1]-n[1];return c*=c,s<l&&(s=l),o<c&&(o=c),s+o}(t,e)<n){const n=t[e+0];i.length?(a=i[i.length-1],s=n,Math.sqrt(H(a,s))>1&&i.push(n)):i.push(n),i.push(t[e+3])}else{const r=.5,a=t[e+0],s=t[e+1],o=t[e+2],l=t[e+3],c=K(a,s,r),h=K(s,o,r),u=K(o,l,r),d=K(c,h,r),p=K(h,u,r),g=K(d,p,r);Q([a,c,d,g],0,n,i),Q([g,p,u,l],0,n,i)}var a,s;return i}function J(t,e){return tt(t,0,t.length,e)}function tt(t,e,n,r,i){const a=i||[],s=t[e],o=t[n-1];let l=0,c=1;for(let r=e+1;r<n-1;++r){const e=X(t[r],s,o);e>l&&(l=e,c=r)}return Math.sqrt(l)>r?(tt(t,e,c+1,r,a),tt(t,c,n,r,a)):(a.length||a.push(s),a.push(o)),a}function et(t,e=.15,n){const r=[],i=(t.length-1)/3;for(let n=0;n<i;n++)Q(t,3*n,e,r);return n&&n>0?tt(r,0,r.length,n):r}const nt="none";class rt{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,n){return{shape:t,sets:e||[],options:n||this.defaultOptions}}line(t,e,n,r,i){const a=this._o(i);return this._d("line",[C(t,e,n,r,a)],a)}rectangle(t,e,n,r,i){const a=this._o(i),s=[],o=function(t,e,n,r,i){return function(t,e){return A(t,!0,e)}([[t,e],[t+n,e],[t+n,e+r],[t,e+r]],i)}(t,e,n,r,a);if(a.fill){const i=[[t,e],[t+n,e],[t+n,e+r],[t,e+r]];"solid"===a.fillStyle?s.push(D([i],a)):s.push(O([i],a))}return a.stroke!==nt&&s.push(o),this._d("rectangle",s,a)}ellipse(t,e,n,r,i){const a=this._o(i),s=[],o=M(n,r,a),l=N(t,e,a,o);if(a.fill)if("solid"===a.fillStyle){const n=N(t,e,a,o).opset;n.type="fillPath",s.push(n)}else s.push(O([l.estimatedPoints],a));return a.stroke!==nt&&s.push(l.opset),this._d("ellipse",s,a)}circle(t,e,n,r){const i=this.ellipse(t,e,n,n,r);return i.shape="circle",i}linearPath(t,e){const n=this._o(e);return this._d("linearPath",[A(t,!1,n)],n)}arc(t,e,n,r,i,a,s=!1,o){const l=this._o(o),c=[],h=I(t,e,n,r,i,a,s,!0,l);if(s&&l.fill)if("solid"===l.fillStyle){const s=Object.assign({},l);s.disableMultiStroke=!0;const o=I(t,e,n,r,i,a,!0,!1,s);o.type="fillPath",c.push(o)}else c.push(function(t,e,n,r,i,a,s){const o=t,l=e;let c=Math.abs(n/2),h=Math.abs(r/2);c+=F(.01*c,s),h+=F(.01*h,s);let u=i,d=a;for(;u<0;)u+=2*Math.PI,d+=2*Math.PI;d-u>2*Math.PI&&(u=0,d=2*Math.PI);const p=(d-u)/s.curveStepCount,g=[];for(let t=u;t<=d;t+=p)g.push([o+c*Math.cos(t),l+h*Math.sin(t)]);return g.push([o+c*Math.cos(d),l+h*Math.sin(d)]),g.push([o,l]),O([g],s)}(t,e,n,r,i,a,l));return l.stroke!==nt&&c.push(h),this._d("arc",c,l)}curve(t,e){const n=this._o(e),r=[],i=L(t,n);if(n.fill&&n.fill!==nt)if("solid"===n.fillStyle){const e=L(t,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{const e=[],i=t;if(i.length){const t="number"==typeof i[0][0]?[i]:i;for(const r of t)r.length<3?e.push(...r):3===r.length?e.push(...et(j([r[0],r[0],r[1],r[2]]),10,(1+n.roughness)/2)):e.push(...et(j(r),10,(1+n.roughness)/2))}e.length&&r.push(O([e],n))}return n.stroke!==nt&&r.push(i),this._d("curve",r,n)}polygon(t,e){const n=this._o(e),r=[],i=A(t,!0,n);return n.fill&&("solid"===n.fillStyle?r.push(D([t],n)):r.push(O([t],n))),n.stroke!==nt&&r.push(i),this._d("polygon",r,n)}path(t,e){const n=this._o(e),r=[];if(!t)return this._d("path",r,n);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const i=n.fill&&"transparent"!==n.fill&&n.fill!==nt,a=n.stroke!==nt,s=!!(n.simplification&&n.simplification<1),o=function(t,e,n){const r=T(k(w(t))),i=[];let a=[],s=[0,0],o=[];const l=()=>{o.length>=4&&a.push(...et(o,1)),o=[]},c=()=>{l(),a.length&&(i.push(a),a=[])};for(const{key:t,data:e}of r)switch(t){case"M":c(),s=[e[0],e[1]],a.push(s);break;case"L":l(),a.push([e[0],e[1]]);break;case"C":if(!o.length){const t=a.length?a[a.length-1]:s;o.push([t[0],t[1]])}o.push([e[0],e[1]]),o.push([e[2],e[3]]),o.push([e[4],e[5]]);break;case"Z":l(),a.push([s[0],s[1]])}if(c(),!n)return i;const h=[];for(const t of i){const e=J(t,n);e.length&&h.push(e)}return h}(t,0,s?4-4*(n.simplification||1):(1+n.roughness)/2),l=R(t,n);if(i)if("solid"===n.fillStyle)if(1===o.length){const e=R(t,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else r.push(D(o,n));else r.push(O(o,n));return a&&(s?o.forEach((t=>{r.push(A(t,!1,n))})):r.push(l)),this._d("path",r,n)}opsToPath(t,e){let n="";for(const r of t.ops){const t="number"==typeof e&&e>=0?r.data.map((t=>+t.toFixed(e))):r.data;switch(r.op){case"move":n+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":n+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":n+=`L${t[0]} ${t[1]} `}}return n.trim()}toPaths(t){const e=t.sets||[],n=t.options||this.defaultOptions,r=[];for(const t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:nt};break;case"fillPath":e={d:this.opsToPath(t),stroke:nt,strokeWidth:0,fill:n.fill||nt};break;case"fillSketch":e=this.fillSketch(t,n)}e&&r.push(e)}return r}fillSketch(t,e){let n=e.fillWeight;return n<0&&(n=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||nt,strokeWidth:n,fill:nt}}_mergedShape(t){return t.filter(((t,e)=>0===e||"move"!==t.op))}}class it{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new rt(e)}draw(t){const e=t.sets||[],n=t.options||this.getDefaultOptions(),r=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(const a of e)switch(a.type){case"path":r.save(),r.strokeStyle="none"===n.stroke?"transparent":n.stroke,r.lineWidth=n.strokeWidth,n.strokeLineDash&&r.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(r.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(r,a,i),r.restore();break;case"fillPath":{r.save(),r.fillStyle=n.fill||"";const e="curve"===t.shape||"polygon"===t.shape||"path"===t.shape?"evenodd":"nonzero";this._drawToContext(r,a,i,e),r.restore();break}case"fillSketch":this.fillSketch(r,a,n)}}fillSketch(t,e,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2),t.save(),n.fillLineDash&&t.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(t.lineDashOffset=n.fillLineDashOffset),t.strokeStyle=n.fill||"",t.lineWidth=r,this._drawToContext(t,e,n.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,n,r="nonzero"){t.beginPath();for(const r of e.ops){const e="number"==typeof n&&n>=0?r.data.map((t=>+t.toFixed(n))):r.data;switch(r.op){case"move":t.moveTo(e[0],e[1]);break;case"bcurveTo":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case"lineTo":t.lineTo(e[0],e[1])}}"fillPath"===e.type?t.fill(r):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,n,r,i){const a=this.gen.line(t,e,n,r,i);return this.draw(a),a}rectangle(t,e,n,r,i){const a=this.gen.rectangle(t,e,n,r,i);return this.draw(a),a}ellipse(t,e,n,r,i){const a=this.gen.ellipse(t,e,n,r,i);return this.draw(a),a}circle(t,e,n,r){const i=this.gen.circle(t,e,n,r);return this.draw(i),i}linearPath(t,e){const n=this.gen.linearPath(t,e);return this.draw(n),n}polygon(t,e){const n=this.gen.polygon(t,e);return this.draw(n),n}arc(t,e,n,r,i,a,s=!1,o){const l=this.gen.arc(t,e,n,r,i,a,s,o);return this.draw(l),l}curve(t,e){const n=this.gen.curve(t,e);return this.draw(n),n}path(t,e){const n=this.gen.path(t,e);return this.draw(n),n}}const at="http://www.w3.org/2000/svg";class st{constructor(t,e){this.svg=t,this.gen=new rt(e)}draw(t){const e=t.sets||[],n=t.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,i=r.createElementNS(at,"g"),a=t.options.fixedDecimalPlaceDigits;for(const s of e){let e=null;switch(s.type){case"path":e=r.createElementNS(at,"path"),e.setAttribute("d",this.opsToPath(s,a)),e.setAttribute("stroke",n.stroke),e.setAttribute("stroke-width",n.strokeWidth+""),e.setAttribute("fill","none"),n.strokeLineDash&&e.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&e.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":e=r.createElementNS(at,"path"),e.setAttribute("d",this.opsToPath(s,a)),e.setAttribute("stroke","none"),e.setAttribute("stroke-width","0"),e.setAttribute("fill",n.fill||""),"curve"!==t.shape&&"polygon"!==t.shape||e.setAttribute("fill-rule","evenodd");break;case"fillSketch":e=this.fillSketch(r,s,n)}e&&i.appendChild(e)}return i}fillSketch(t,e,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2);const i=t.createElementNS(at,"path");return i.setAttribute("d",this.opsToPath(e,n.fixedDecimalPlaceDigits)),i.setAttribute("stroke",n.fill||""),i.setAttribute("stroke-width",r+""),i.setAttribute("fill","none"),n.fillLineDash&&i.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,n,r,i){const a=this.gen.line(t,e,n,r,i);return this.draw(a)}rectangle(t,e,n,r,i){const a=this.gen.rectangle(t,e,n,r,i);return this.draw(a)}ellipse(t,e,n,r,i){const a=this.gen.ellipse(t,e,n,r,i);return this.draw(a)}circle(t,e,n,r){const i=this.gen.circle(t,e,n,r);return this.draw(i)}linearPath(t,e){const n=this.gen.linearPath(t,e);return this.draw(n)}polygon(t,e){const n=this.gen.polygon(t,e);return this.draw(n)}arc(t,e,n,r,i,a,s=!1,o){const l=this.gen.arc(t,e,n,r,i,a,s,o);return this.draw(l)}curve(t,e){const n=this.gen.curve(t,e);return this.draw(n)}path(t,e){const n=this.gen.path(t,e);return this.draw(n)}}var ot={canvas:(t,e)=>new it(t,e),svg:(t,e)=>new st(t,e),generator:t=>new rt(t),newSeed:()=>rt.newSeed()}},8464:(t,e,n)=>{"use strict";function r(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r=Array.from("string"==typeof t?[t]:t);r[r.length-1]=r[r.length-1].replace(/\r?\n([\t ]*)$/,"");var i=r.reduce((function(t,e){var n=e.match(/\n([\t ]+|(?!\s).)/g);return n?t.concat(n.map((function(t){var e,n;return null!==(n=null===(e=t.match(/[\t ]/g))||void 0===e?void 0:e.length)&&void 0!==n?n:0}))):t}),[]);if(i.length){var a=new RegExp("\n[\t ]{"+Math.min.apply(Math,i)+"}","g");r=r.map((function(t){return t.replace(a,"\n")}))}r[0]=r[0].replace(/^\r?\n/,"");var s=r[0];return e.forEach((function(t,e){var n=s.match(/(?:^|\n)( *)$/),i=n?n[1]:"",a=t;"string"==typeof t&&t.includes("\n")&&(a=String(t).split("\n").map((function(t,e){return 0===e?t:""+i+t})).join("\n")),s+=a+r[e+1]})),s}n.d(e,{Z:()=>r})},3881:(t,e,n)=>{"use strict";e.AU=e.Ts=void 0;const r=n(147),i=n(7574),a=n(7135);var s;!function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:a.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:a.Event.None}),t.is=function(e){const n=e;return n&&(n===t.None||n===t.Cancelled||i.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(s||(e.Ts=s={}));const o=Object.freeze((function(t,e){const n=(0,r.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new a.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}e.AU=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=s.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=s.None}}},7135:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;const r=n(147);var i;!function(t){const e={dispose(){}};t.None=function(){return e}}(i||(e.Event=i={}));class a{add(t,e=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(t),this._contexts.push(e),Array.isArray(n)&&n.push({dispose:()=>this.remove(t,e)})}remove(t,e=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r<i;r++)if(this._callbacks[r]===t){if(this._contexts[r]===e)return this._callbacks.splice(r,1),void this._contexts.splice(r,1);n=!0}if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...t){if(!this._callbacks)return[];const e=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let a=0,s=n.length;a<s;a++)try{e.push(n[a].apply(i[a],t))}catch(t){(0,r.default)().console.error(t)}return e}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class s{constructor(t){this._options=t}get event(){return this._event||(this._event=(t,e,n)=>{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,e);const r={dispose:()=>{this._callbacks&&(this._callbacks.remove(t,e),r.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(r),r}),this._event}fire(t){this._callbacks&&this._callbacks.invoke.call(this._callbacks,t)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}e.Emitter=s,s._noop=function(){}},7574:(t,e)=>{"use strict";function n(t){return"string"==typeof t||t instanceof String}function r(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,e.boolean=function(t){return!0===t||!1===t},e.string=n,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=function(t){return"function"==typeof t},e.array=r,e.stringArray=function(t){return r(t)&&t.every((t=>n(t)))}},147:(t,e)=>{"use strict";let n;function r(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.install=function(t){if(void 0===t)throw new Error("No runtime abstraction layer provided");n=t}}(r||(r={})),e.default=r},5055:(t,e,n)=>{"use strict";function r(t){return t.charCodeAt(0)}function i(t,e){Array.isArray(t)?t.forEach((function(t){e.push(t)})):e.push(t)}function a(t,e){if(!0===t[e])throw"duplicate flag "+e;t[e],t[e]=!0}function s(t){if(void 0===t)throw Error("Internal Error - Should never get here!");return!0}function o(){throw Error("Internal Error - Should never get here!")}function l(t){return"Character"===t.type}n.d(e,{e:()=>m,O:()=>f});const c=[];for(let t=r("0");t<=r("9");t++)c.push(t);const h=[r("_")].concat(c);for(let t=r("a");t<=r("z");t++)h.push(t);for(let t=r("A");t<=r("Z");t++)h.push(t);const u=[r(" "),r("\f"),r("\n"),r("\r"),r("\t"),r("\v"),r("\t"),r(" "),r(""),r(" "),r(""),r(""),r(""),r(""),r(""),r(""),r(""),r(""),r(""),r(""),r("\u2028"),r("\u2029"),r(""),r(""),r(" "),r("\ufeff")],d=/[0-9a-fA-F]/,p=/[0-9]/,g=/[1-9]/;class f{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(t){this.idx=t.idx,this.input=t.input,this.groupIdx=t.groupIdx}pattern(t){this.idx=0,this.input=t,this.groupIdx=0,this.consumeChar("/");const e=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:t.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":a(n,"global");break;case"i":a(n,"ignoreCase");break;case"m":a(n,"multiLine");break;case"u":a(n,"unicode");break;case"y":a(n,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:e,loc:this.loc(0)}}disjunction(){const t=[],e=this.idx;for(t.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),t.push(this.alternative());return{type:"Disjunction",value:t,loc:this.loc(e)}}alternative(){const t=[],e=this.idx;for(;this.isTerm();)t.push(this.term());return{type:"Alternative",value:t,loc:this.loc(e)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":let e;switch(this.consumeChar("?"),this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}s(e);const n=this.disjunction();return this.consumeChar(")"),{type:e,value:n,loc:this.loc(t)}}return o()}quantifier(t=!1){let e;const n=this.idx;switch(this.popChar()){case"*":e={atLeast:0,atMost:1/0};break;case"+":e={atLeast:1,atMost:1/0};break;case"?":e={atLeast:0,atMost:1};break;case"{":const n=this.integerIncludingZero();switch(this.popChar()){case"}":e={atLeast:n,atMost:n};break;case",":let t;this.isDigit()?(t=this.integerIncludingZero(),e={atLeast:n,atMost:t}):e={atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===t&&void 0===e)return;s(e)}if(!0!==t||void 0!==e)return s(e)?("?"===this.peekChar(0)?(this.consumeChar("?"),e.greedy=!1):e.greedy=!0,e.type="Quantifier",e.loc=this.loc(n),e):void 0}atom(){let t;const e=this.idx;switch(this.peekChar()){case".":t=this.dotAll();break;case"\\":t=this.atomEscape();break;case"[":t=this.characterClass();break;case"(":t=this.group()}return void 0===t&&this.isPatternCharacter()&&(t=this.patternCharacter()),s(t)?(t.loc=this.loc(e),this.isQuantifier()&&(t.quantifier=this.quantifier()),t):o()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[r("\n"),r("\r"),r("\u2028"),r("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let t,e=!1;switch(this.popChar()){case"d":t=c;break;case"D":t=c,e=!0;break;case"s":t=u;break;case"S":t=u,e=!0;break;case"w":t=h;break;case"W":t=h,e=!0}return s(t)?{type:"Set",value:t,complement:e}:o()}controlEscapeAtom(){let t;switch(this.popChar()){case"f":t=r("\f");break;case"n":t=r("\n");break;case"r":t=r("\r");break;case"t":t=r("\t");break;case"v":t=r("\v")}return s(t)?{type:"Character",value:t}:o()}controlLetterEscapeAtom(){this.consumeChar("c");const t=this.popChar();if(!1===/[a-zA-Z]/.test(t))throw Error("Invalid ");return{type:"Character",value:t.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:r("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:r(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:r(this.popChar())}}}characterClass(){const t=[];let e=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),e=!0);this.isClassAtom();){const e=this.classAtom();if(e.type,l(e)&&this.isRangeDash()){this.consumeChar("-");const n=this.classAtom();if(n.type,l(n)){if(n.value<e.value)throw Error("Range out of order in character class");t.push({from:e.value,to:n.value})}else i(e.value,t),t.push(r("-")),i(n.value,t)}else i(e.value,t)}return this.consumeChar("]"),{type:"Set",complement:e,value:t}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:r("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let t=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),t=!1):this.groupIdx++;const e=this.disjunction();this.consumeChar(")");const n={type:"Group",capturing:t,value:e};return t&&(n.idx=this.groupIdx),n}positiveInteger(){let t=this.popChar();if(!1===g.test(t))throw Error("Expecting a positive integer");for(;p.test(this.peekChar(0));)t+=this.popChar();return parseInt(t,10)}integerIncludingZero(){let t=this.popChar();if(!1===p.test(t))throw Error("Expecting an integer");for(;p.test(this.peekChar(0));)t+=this.popChar();return parseInt(t,10)}patternCharacter(){const t=this.popChar();switch(t){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:r(t)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return p.test(this.peekChar(0))}isClassAtom(t=0){switch(this.peekChar(t)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){const t=this.saveState();try{return void 0!==this.quantifier(!0)}catch(t){return!1}finally{this.restoreState(t)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(t){let e="";for(let n=0;n<t;n++){const t=this.popChar();if(!1===d.test(t))throw Error("Expecting a HexDecimal digits");e+=t}return{type:"Character",value:parseInt(e,16)}}peekChar(t=0){return this.input[this.idx+t]}popChar(){const t=this.peekChar(0);return this.consumeChar(void 0),t}consumeChar(t){if(void 0!==t&&this.input[this.idx]!==t)throw Error("Expected: '"+t+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(t){return{begin:t,end:this.idx}}}class m{visitChildren(t){for(const e in t){const n=t[e];t.hasOwnProperty(e)&&(void 0!==n.type?this.visit(n):Array.isArray(n)&&n.forEach((t=>{this.visit(t)}),this))}}visit(t){switch(t.type){case"Pattern":this.visitPattern(t);break;case"Flags":this.visitFlags(t);break;case"Disjunction":this.visitDisjunction(t);break;case"Alternative":this.visitAlternative(t);break;case"StartAnchor":this.visitStartAnchor(t);break;case"EndAnchor":this.visitEndAnchor(t);break;case"WordBoundary":this.visitWordBoundary(t);break;case"NonWordBoundary":this.visitNonWordBoundary(t);break;case"Lookahead":this.visitLookahead(t);break;case"NegativeLookahead":this.visitNegativeLookahead(t);break;case"Character":this.visitCharacter(t);break;case"Set":this.visitSet(t);break;case"Group":this.visitGroup(t);break;case"GroupBackReference":this.visitGroupBackReference(t);break;case"Quantifier":this.visitQuantifier(t)}this.visitChildren(t)}visitPattern(t){}visitFlags(t){}visitDisjunction(t){}visitAlternative(t){}visitStartAnchor(t){}visitEndAnchor(t){}visitWordBoundary(t){}visitNonWordBoundary(t){}visitLookahead(t){}visitNegativeLookahead(t){}visitCharacter(t){}visitSet(t){}visitGroup(t){}visitGroupBackReference(t){}visitQuantifier(t){}}},2538:(t,e,n)=>{"use strict";n.d(e,{createArchitectureServices:()=>r.i});var r=n(2478);n(806)},6389:(t,e,n)=>{"use strict";n.d(e,{z:()=>c});var r=n(806),i=n(5565),a=n(7072),s=n(3548),o=class extends r.T7{static{(0,r.eW)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},l={parser:{TokenBuilder:(0,r.eW)((()=>new o),"TokenBuilder"),ValueConverter:(0,r.eW)((()=>new r.nr),"ValueConverter")}};function c(t=i.u){const e=(0,a.f3)((0,s.T)(t),r.GS),n=(0,a.f3)((0,s.Q)({shared:e}),r.vn,l);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}(0,r.eW)(c,"createGitGraphServices")},5327:(t,e,n)=>{"use strict";n.d(e,{T:()=>c});var r=n(806),i=n(5565),a=n(7072),s=n(3548),o=class extends r.T7{static{(0,r.eW)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},l={parser:{TokenBuilder:(0,r.eW)((()=>new o),"TokenBuilder"),ValueConverter:(0,r.eW)((()=>new r.nr),"ValueConverter")}};function c(t=i.u){const e=(0,a.f3)((0,s.T)(t),r.GS),n=(0,a.f3)((0,s.Q)({shared:e}),r.gB,l);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}(0,r.eW)(c,"createRadarServices")},806:(t,e,n)=>{"use strict";n.d(e,{T7:()=>mt,kb:()=>gt,Qr:()=>ht,nr:()=>ft,vn:()=>ut,F_:()=>ot,GS:()=>st,bb:()=>lt,WH:()=>ct,gB:()=>dt,eW:()=>f});var r=n(28),i=n(3548),a=n(7072),s=n(3437),o=n(5565),l=n(6883);const c={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},h={AstReflection:()=>new s.SV};function u(t){var e;const n=function(){const t=(0,a.f3)((0,i.T)(o.u),h),e=(0,a.f3)((0,i.Q)({shared:t}),c);return t.ServiceRegistry.register(e),e}(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,l.o.parse(`memory://${null!==(e=r.name)&&void 0!==e?e:"grammar"}.langium`)),r}var d=n(1930),p=n(7447),g=Object.defineProperty,f=(t,e)=>g(t,"name",{value:e,configurable:!0}),m="Statement",y="Architecture";f((function(t){return q.isInstance(t,y)}),"isArchitecture");var v="Axis",x="Branch";f((function(t){return q.isInstance(t,x)}),"isBranch");var b="Checkout",w="CherryPicking",k="Commit";f((function(t){return q.isInstance(t,k)}),"isCommit");var T="Common";f((function(t){return q.isInstance(t,T)}),"isCommon");var _="Curve",E="Edge",S="Entry",C="GitGraph";f((function(t){return q.isInstance(t,C)}),"isGitGraph");var A="Group",L="Info";f((function(t){return q.isInstance(t,L)}),"isInfo");var M="Junction",N="Merge";f((function(t){return q.isInstance(t,N)}),"isMerge");var I="Option",R="Packet";f((function(t){return q.isInstance(t,R)}),"isPacket");var D="PacketBlock";f((function(t){return q.isInstance(t,D)}),"isPacketBlock");var O="Pie";f((function(t){return q.isInstance(t,O)}),"isPie");var P="PieSection";f((function(t){return q.isInstance(t,P)}),"isPieSection");var $,B,F,W,z,Z,Y="Radar",U="Service",G="Direction",V=class extends r.$v{static{f(this,"MermaidAstReflection")}getAllTypes(){return[y,v,x,b,w,k,T,_,G,E,S,C,A,L,M,N,I,R,D,O,P,Y,U,m]}computeIsSubtype(t,e){switch(t){case x:case b:case w:case k:case N:return this.isSubtype(m,e);case G:return this.isSubtype(C,e);default:return!1}}getReferenceType(t){const e=`${t.container.$type}:${t.property}`;if("Entry:axis"===e)return v;throw new Error(`${e} is not a valid reference id.`)}getTypeMetaData(t){switch(t){case y:return{name:y,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case v:return{name:v,properties:[{name:"label"},{name:"name"}]};case x:return{name:x,properties:[{name:"name"},{name:"order"}]};case b:return{name:b,properties:[{name:"branch"}]};case w:return{name:w,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case k:return{name:k,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case T:return{name:T,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case _:return{name:_,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case E:return{name:E,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case S:return{name:S,properties:[{name:"axis"},{name:"value"}]};case C:return{name:C,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case A:return{name:A,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case L:return{name:L,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case M:return{name:M,properties:[{name:"id"},{name:"in"}]};case N:return{name:N,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case I:return{name:I,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case R:return{name:R,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case D:return{name:D,properties:[{name:"end"},{name:"label"},{name:"start"}]};case O:return{name:O,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case P:return{name:P,properties:[{name:"label"},{name:"value"}]};case Y:return{name:Y,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case U:return{name:U,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case G:return{name:G,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:t,properties:[]}}}},q=new V,j=f((()=>$??($=u('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"InfoGrammar"),H=f((()=>B??(B=u('{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"PacketGrammar"),X=f((()=>F??(F=u('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"PieGrammar"),K=f((()=>W??(W=u('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"ArchitectureGrammar"),Q=f((()=>z??(z=u('{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}'))),"GitGraphGrammar"),J=f((()=>Z??(Z=u('{"$type":"Grammar","isDeclared":true,"name":"Radar","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@12"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@12"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9\\\\-_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}'))),"RadarGrammar"),tt={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},et={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},nt={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},rt={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},it={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},at={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},st={AstReflection:f((()=>new V),"AstReflection")},ot={Grammar:f((()=>j()),"Grammar"),LanguageMetaData:f((()=>tt),"LanguageMetaData"),parser:{}},lt={Grammar:f((()=>H()),"Grammar"),LanguageMetaData:f((()=>et),"LanguageMetaData"),parser:{}},ct={Grammar:f((()=>X()),"Grammar"),LanguageMetaData:f((()=>nt),"LanguageMetaData"),parser:{}},ht={Grammar:f((()=>K()),"Grammar"),LanguageMetaData:f((()=>rt),"LanguageMetaData"),parser:{}},ut={Grammar:f((()=>Q()),"Grammar"),LanguageMetaData:f((()=>it),"LanguageMetaData"),parser:{}},dt={Grammar:f((()=>J()),"Grammar"),LanguageMetaData:f((()=>at),"LanguageMetaData"),parser:{}},pt={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},gt=class extends d.t{static{f(this,"AbstractMermaidValueConverter")}runConverter(t,e,n){let r=this.runCommonConverter(t,e,n);return void 0===r&&(r=this.runCustomConverter(t,e,n)),void 0===r?super.runConverter(t,e,n):r}runCommonConverter(t,e,n){const r=pt[t.name];if(void 0===r)return;const i=r.exec(e);return null!==i?void 0!==i[1]?i[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==i[2]?i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0:void 0}},ft=class extends gt{static{f(this,"CommonValueConverter")}runCustomConverter(t,e,n){}},mt=class extends p.P{static{f(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,n){const r=super.buildKeywordTokens(t,e,n);return r.forEach((t=>{this.keywords.has(t.name)&&void 0!==t.PATTERN&&(t.PATTERN=new RegExp(t.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))})),r}};(class extends mt{static{f(this,"CommonTokenBuilder")}})},2478:(t,e,n)=>{"use strict";n.d(e,{i:()=>h});var r=n(806),i=n(5565),a=n(7072),s=n(3548),o=class extends r.T7{static{(0,r.eW)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},l=class extends r.kb{static{(0,r.eW)(this,"ArchitectureValueConverter")}runCustomConverter(t,e,n){return"ARCH_ICON"===t.name?e.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===t.name?e.replace(/["()]/g,""):"ARCH_TITLE"===t.name?e.replace(/[[\]]/g,"").trim():void 0}},c={parser:{TokenBuilder:(0,r.eW)((()=>new o),"TokenBuilder"),ValueConverter:(0,r.eW)((()=>new l),"ValueConverter")}};function h(t=i.u){const e=(0,a.f3)((0,s.T)(t),r.GS),n=(0,a.f3)((0,s.Q)({shared:e}),r.Qr,c);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}(0,r.eW)(h,"createArchitectureServices")},53:(t,e,n)=>{"use strict";n.d(e,{M:()=>c});var r=n(806),i=n(5565),a=n(7072),s=n(3548),o=class extends r.T7{static{(0,r.eW)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},l={parser:{TokenBuilder:(0,r.eW)((()=>new o),"TokenBuilder"),ValueConverter:(0,r.eW)((()=>new r.nr),"ValueConverter")}};function c(t=i.u){const e=(0,a.f3)((0,s.T)(t),r.GS),n=(0,a.f3)((0,s.Q)({shared:e}),r.F_,l);return e.ServiceRegistry.register(n),{shared:e,Info:n}}(0,r.eW)(c,"createInfoServices")},6840:(t,e,n)=>{"use strict";n.d(e,{l:()=>h});var r=n(806),i=n(5565),a=n(7072),s=n(3548),o=class extends r.T7{static{(0,r.eW)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},l=class extends r.kb{static{(0,r.eW)(this,"PieValueConverter")}runCustomConverter(t,e,n){if("PIE_SECTION_LABEL"===t.name)return e.replace(/"/g,"").trim()}},c={parser:{TokenBuilder:(0,r.eW)((()=>new o),"TokenBuilder"),ValueConverter:(0,r.eW)((()=>new l),"ValueConverter")}};function h(t=i.u){const e=(0,a.f3)((0,s.T)(t),r.GS),n=(0,a.f3)((0,s.Q)({shared:e}),r.WH,c);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}(0,r.eW)(h,"createPieServices")},7533:(t,e,n)=>{"use strict";n.d(e,{g:()=>c});var r=n(806),i=n(5565),a=n(7072),s=n(3548),o=class extends r.T7{static{(0,r.eW)(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},l={parser:{TokenBuilder:(0,r.eW)((()=>new o),"TokenBuilder"),ValueConverter:(0,r.eW)((()=>new r.nr),"ValueConverter")}};function c(t=i.u){const e=(0,a.f3)((0,s.T)(t),r.GS),n=(0,a.f3)((0,s.Q)({shared:e}),r.bb,l);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}(0,r.eW)(c,"createPacketServices")},5033:(t,e,n)=>{"use strict";n.d(e,{createGitGraphServices:()=>r.z});var r=n(6389);n(806)},1139:(t,e,n)=>{"use strict";n.d(e,{createInfoServices:()=>r.M});var r=n(53);n(806)},5562:(t,e,n)=>{"use strict";n.d(e,{createPacketServices:()=>r.g});var r=n(7533);n(806)},3813:(t,e,n)=>{"use strict";n.d(e,{createPieServices:()=>r.l});var r=n(6840);n(806)},6430:(t,e,n)=>{"use strict";n.d(e,{createRadarServices:()=>r.T});var r=n(5327);n(806)},2491:(t,e,n)=>{"use strict";n.d(e,{Qc:()=>s}),n(6389),n(53),n(7533),n(6840),n(2478),n(5327);var r=n(806),i={},a={info:(0,r.eW)((async()=>{const{createInfoServices:t}=await Promise.resolve().then(n.bind(n,1139)),e=t().Info.parser.LangiumParser;i.info=e}),"info"),packet:(0,r.eW)((async()=>{const{createPacketServices:t}=await Promise.resolve().then(n.bind(n,5562)),e=t().Packet.parser.LangiumParser;i.packet=e}),"packet"),pie:(0,r.eW)((async()=>{const{createPieServices:t}=await Promise.resolve().then(n.bind(n,3813)),e=t().Pie.parser.LangiumParser;i.pie=e}),"pie"),architecture:(0,r.eW)((async()=>{const{createArchitectureServices:t}=await Promise.resolve().then(n.bind(n,2538)),e=t().Architecture.parser.LangiumParser;i.architecture=e}),"architecture"),gitGraph:(0,r.eW)((async()=>{const{createGitGraphServices:t}=await Promise.resolve().then(n.bind(n,5033)),e=t().GitGraph.parser.LangiumParser;i.gitGraph=e}),"gitGraph"),radar:(0,r.eW)((async()=>{const{createRadarServices:t}=await Promise.resolve().then(n.bind(n,6430)),e=t().Radar.parser.LangiumParser;i.radar=e}),"radar")};async function s(t,e){const n=a[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);i[t]||await n();const r=i[t].parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new o(r);return r.value}(0,r.eW)(s,"parse");var o=class extends Error{constructor(t){super(`Parsing failed: ${t.lexerErrors.map((t=>t.message)).join("\n")} ${t.parserErrors.map((t=>t.message)).join("\n")}`),this.result=t}static{(0,r.eW)(this,"MermaidParseError")}}},6435:(t,e,n)=>{"use strict";n.d(e,{ue:()=>Z,_o:()=>Er,sd:()=>ze,nu:()=>Cr,dV:()=>nr,hW:()=>Le,Sj:()=>D,Wx:()=>$,hI:()=>W,ej:()=>B,fK:()=>F,pT:()=>z,oI:()=>Y,ZW:()=>Se,Hs:()=>Ue,oC:()=>yn,l$:()=>Me,ol:()=>Ye});var r=n(870),i=n(4657),a=n(9697),s=n(3836),o=n(3402),l=n(2346);function c(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}const h=function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Array(i);++r<i;)a[r]=t[r+e];return a};var u=n(4930);const d=function(t,e,n){var r=null==t?0:t.length;return r?(e=n||void 0===e?1:(0,u.Z)(e),h(t,e<0?0:e,r)):[]};var p=n(6378),g=n(2954),f=n(1899),m=n(9268),y=n(585),v=n(2764),x=n(7179),b=Object.prototype.hasOwnProperty;const w=(0,m.Z)((function(t,e){if((0,v.Z)(e)||(0,y.Z)(e))(0,f.Z)(e,(0,x.Z)(e),t);else for(var n in e)b.call(e,n)&&(0,g.Z)(t,n,e[n])}));var k=n(7679),T=n(506),_=n(7993),E=n(4403);const S=function(t,e){if(null==t)return{};var n=(0,k.Z)((0,E.Z)(t),(function(t){return[t]}));return e=(0,T.Z)(e),(0,_.Z)(t,n,(function(t,n){return e(t,n[0])}))};var C=n(4492),A=n(8533);var L=n(1162),M=n(8351),N=M.Z&&M.Z.isRegExp;const I=N?(0,L.Z)(N):function(t){return(0,A.Z)(t)&&"[object RegExp]"==(0,C.Z)(t)};class R{get definition(){return this._definition}set definition(t){this._definition=t}constructor(t){this._definition=t}accept(t){t.visit(this),(0,r.Z)(this.definition,(e=>{e.accept(t)}))}}class D extends R{constructor(t){super([]),this.idx=1,w(this,S(t,(t=>void 0!==t)))}set definition(t){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(t){t.visit(this)}}class O extends R{constructor(t){super(t.definition),this.orgText="",w(this,S(t,(t=>void 0!==t)))}}class P extends R{constructor(t){super(t.definition),this.ignoreAmbiguities=!1,w(this,S(t,(t=>void 0!==t)))}}class $ extends R{constructor(t){super(t.definition),this.idx=1,w(this,S(t,(t=>void 0!==t)))}}class B extends R{constructor(t){super(t.definition),this.idx=1,w(this,S(t,(t=>void 0!==t)))}}class F extends R{constructor(t){super(t.definition),this.idx=1,w(this,S(t,(t=>void 0!==t)))}}class W extends R{constructor(t){super(t.definition),this.idx=1,w(this,S(t,(t=>void 0!==t)))}}class z extends R{constructor(t){super(t.definition),this.idx=1,w(this,S(t,(t=>void 0!==t)))}}class Z extends R{get definition(){return this._definition}set definition(t){this._definition=t}constructor(t){super(t.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,w(this,S(t,(t=>void 0!==t)))}}class Y{constructor(t){this.idx=1,w(this,S(t,(t=>void 0!==t)))}accept(t){t.visit(this)}}function U(t){function e(t){return(0,s.Z)(t,U)}if(t instanceof D){const e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,p.Z)(t.label)&&(e.label=t.label),e}if(t instanceof P)return{type:"Alternative",definition:e(t.definition)};if(t instanceof $)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof B)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof F)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:U(new Y({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof z)return{type:"RepetitionWithSeparator",idx:t.idx,separator:U(new Y({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof W)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Z)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Y){const e={type:"Terminal",name:t.terminalType.name,label:(n=t.terminalType,r=n,(0,p.Z)(r.LABEL)&&""!==r.LABEL?n.LABEL:n.name),idx:t.idx};(0,p.Z)(t.label)&&(e.terminalLabel=t.label);const i=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=I(i)?i.source:i),e}var n,r;if(t instanceof O)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}class G{walk(t,e=[]){(0,r.Z)(t.definition,((n,r)=>{const i=d(t.definition,r+1);if(n instanceof D)this.walkProdRef(n,i,e);else if(n instanceof Y)this.walkTerminal(n,i,e);else if(n instanceof P)this.walkFlat(n,i,e);else if(n instanceof $)this.walkOption(n,i,e);else if(n instanceof B)this.walkAtLeastOne(n,i,e);else if(n instanceof F)this.walkAtLeastOneSep(n,i,e);else if(n instanceof z)this.walkManySep(n,i,e);else if(n instanceof W)this.walkMany(n,i,e);else{if(!(n instanceof Z))throw Error("non exhaustive match");this.walkOr(n,i,e)}}))}walkTerminal(t,e,n){}walkProdRef(t,e,n){}walkFlat(t,e,n){const r=e.concat(n);this.walk(t,r)}walkOption(t,e,n){const r=e.concat(n);this.walk(t,r)}walkAtLeastOne(t,e,n){const r=[new $({definition:t.definition})].concat(e,n);this.walk(t,r)}walkAtLeastOneSep(t,e,n){const r=V(t,e,n);this.walk(t,r)}walkMany(t,e,n){const r=[new $({definition:t.definition})].concat(e,n);this.walk(t,r)}walkManySep(t,e,n){const r=V(t,e,n);this.walk(t,r)}walkOr(t,e,n){const i=e.concat(n);(0,r.Z)(t.definition,(t=>{const e=new P({definition:[t]});this.walk(e,i)}))}}function V(t,e,n){return[new $({definition:[new Y({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}var q=n(184);const j=function(t){return t&&t.length?(0,q.Z)(t):[]};var H=n(7961),X=n(2338),K=n(8640);const Q=function(t,e){var n;return(0,K.Z)(t,(function(t,r,i){return!(n=e(t,r,i))})),!!n};var J=n(7771),tt=n(439);const et=function(t,e,n){var r=(0,J.Z)(t)?X.Z:Q;return n&&(0,tt.Z)(t,e,n)&&(e=void 0),r(t,(0,T.Z)(e,3))};var nt=n(3152),rt=Math.max;const it=function(t,e,n,r){t=(0,y.Z)(t)?t:(0,i.Z)(t),n=n&&!r?(0,u.Z)(n):0;var a=t.length;return n<0&&(n=rt(a+n,0)),(0,p.Z)(t)?n<=a&&t.indexOf(e,n)>-1:!!a&&(0,nt.Z)(t,e,n)>-1},at=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0},st=function(t,e){var n=!0;return(0,K.Z)(t,(function(t,r,i){return n=!!e(t,r,i)})),n},ot=function(t,e,n){var r=(0,J.Z)(t)?at:st;return n&&(0,tt.Z)(t,e,n)&&(e=void 0),r(t,(0,T.Z)(e,3))};function lt(t,e=[]){return!!(t instanceof $||t instanceof W||t instanceof z)||(t instanceof Z?et(t.definition,(t=>lt(t,e))):!(t instanceof D&&it(e,t))&&t instanceof R&&(t instanceof D&&e.push(t),ot(t.definition,(t=>lt(t,e)))))}function ct(t){if(t instanceof D)return"SUBRULE";if(t instanceof $)return"OPTION";if(t instanceof Z)return"OR";if(t instanceof B)return"AT_LEAST_ONE";if(t instanceof F)return"AT_LEAST_ONE_SEP";if(t instanceof z)return"MANY_SEP";if(t instanceof W)return"MANY";if(t instanceof Y)return"CONSUME";throw Error("non exhaustive match")}function ht(t){if(t instanceof D)return ht(t.referencedRule);if(t instanceof Y)return[t.terminalType];if(function(t){return t instanceof P||t instanceof $||t instanceof W||t instanceof B||t instanceof F||t instanceof z||t instanceof Y||t instanceof O}(t))return function(t){let e=[];const n=t.definition;let r,i=0,a=n.length>i,s=!0;for(;a&&s;)r=n[i],s=lt(r),e=e.concat(ht(r)),i+=1,a=n.length>i;return j(e)}(t);if(function(t){return t instanceof Z}(t))return function(t){const e=(0,s.Z)(t.definition,(t=>ht(t)));return j((0,H.Z)(e))}(t);throw Error("non exhaustive match")}const ut="_~IN~_";class dt extends G{constructor(t){super(),this.topProd=t,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(t,e,n){}walkProdRef(t,e,n){const r=(i=t.referencedRule,a=t.idx,i.name+a+ut+this.topProd.name);var i,a;const s=e.concat(n),o=ht(new P({definition:s}));this.follows[r]=o}}var pt=n(9360),gt=n(5055),ft=n(3688),mt=n(8774),yt=n(4749);const vt=function(t,e){return((0,J.Z)(t)?mt.Z:yt.Z)(t,function(t){if("function"!=typeof t)throw new TypeError("Expected a function");return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}((0,T.Z)(e,3)))};var xt=n(3234),bt=Math.max;const wt=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:(0,u.Z)(n);return i<0&&(i=bt(r+i,0)),(0,nt.Z)(t,e,i)};var kt=n(4283),Tt=n(9601),_t=n(5084),Et=n(9370),St=n(2783),Ct=n(9548);var At=n(5140),Lt=n(9581),Mt=n(836),Nt=(0,Lt.Z)((function(t,e){return(0,Mt.Z)(t)?function(t,e,n,r){var i=-1,a=Et.Z,s=!0,o=t.length,l=[],c=e.length;if(!o)return l;n&&(e=(0,k.Z)(e,(0,L.Z)(n))),r?(a=St.Z,s=!1):e.length>=200&&(a=Ct.Z,s=!1,e=new _t.Z(e));t:for(;++i<o;){var h=t[i],u=null==n?h:n(h);if(h=r||0!==h?h:0,s&&u==u){for(var d=c;d--;)if(e[d]===u)continue t;l.push(h)}else a(e,u,r)||l.push(h)}return l}(t,(0,At.Z)(e,1,Mt.Z,!0)):[]}));const It=Nt,Rt=function(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var a=t[e];a&&(i[r++]=a)}return i},Dt=function(t){return t&&t.length?t[0]:void 0};var Ot=n(6026);function Pt(t){console&&console.error&&console.error(`Error: ${t}`)}function $t(t){console&&console.warn&&console.warn(`Warning: ${t}`)}let Bt={};const Ft=new gt.O;function Wt(t){const e=t.toString();if(Bt.hasOwnProperty(e))return Bt[e];{const t=Ft.pattern(e);return Bt[e]=t,t}}const zt="Complement Sets are not supported for first char optimization",Zt='Unable to use "first char" lexer optimizations:\n';function Yt(t,e=!1){try{const e=Wt(t);return Ut(e.value,{},e.flags.ignoreCase)}catch(n){if(n.message===zt)e&&$t(`${Zt}\tUnable to optimize: < ${t.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),Pt(`${Zt}\n\tFailed parsing: < ${t.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function Ut(t,e,n){switch(t.type){case"Disjunction":for(let r=0;r<t.value.length;r++)Ut(t.value[r],e,n);break;case"Alternative":const i=t.value;for(let t=0;t<i.length;t++){const a=i[t];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const s=a;switch(s.type){case"Character":Gt(s.value,e,n);break;case"Set":if(!0===s.complement)throw Error(zt);(0,r.Z)(s.value,(t=>{if("number"==typeof t)Gt(t,e,n);else{const r=t;if(!0===n)for(let t=r.from;t<=r.to;t++)Gt(t,e,n);else{for(let t=r.from;t<=r.to&&t<he;t++)Gt(t,e,n);if(r.to>=he){const t=r.from>=he?r.from:he,n=r.to,i=de(t),a=de(n);for(let t=i;t<=a;t++)e[t]=t}}}}));break;case"Group":Ut(s.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=void 0!==s.quantifier&&0===s.quantifier.atLeast;if("Group"===s.type&&!1===qt(s)||"Group"!==s.type&&!1===o)break}break;default:throw Error("non exhaustive match!")}return(0,i.Z)(e)}function Gt(t,e,n){const r=de(t);e[r]=r,!0===n&&function(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const t=de(r.charCodeAt(0));e[t]=t}else{const t=n.toLowerCase();if(t!==n){const n=de(t.charCodeAt(0));e[n]=n}}}(t,e)}function Vt(t,e){return(0,Ot.Z)(t.value,(t=>{if("number"==typeof t)return it(e,t);{const n=t;return void 0!==(0,Ot.Z)(e,(t=>n.from<=t&&t<=n.to))}}))}function qt(t){const e=t.quantifier;return!(!e||0!==e.atLeast)||!!t.value&&((0,J.Z)(t.value)?ot(t.value,qt):qt(t.value))}class jt extends gt.e{constructor(t){super(),this.targetCharCodes=t,this.found=!1}visitChildren(t){if(!0!==this.found){switch(t.type){case"Lookahead":return void this.visitLookahead(t);case"NegativeLookahead":return void this.visitNegativeLookahead(t)}super.visitChildren(t)}}visitCharacter(t){it(this.targetCharCodes,t.value)&&(this.found=!0)}visitSet(t){t.complement?void 0===Vt(t,this.targetCharCodes)&&(this.found=!0):void 0!==Vt(t,this.targetCharCodes)&&(this.found=!0)}}function Ht(t,e){if(e instanceof RegExp){const n=Wt(e),r=new jt(t);return r.visit(n),r.found}return void 0!==(0,Ot.Z)(e,(e=>it(t,e.charCodeAt(0))))}const Xt="PATTERN",Kt="defaultMode",Qt="modes";let Jt="boolean"==typeof new RegExp("(?:)").sticky;const te=/[^\\][$]/,ee=/[^\\[][\^]|^\^/;function ne(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function re(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function ie(t){const e=t.PATTERN;if(I(e))return!1;if((0,xt.Z)(e))return!0;if((0,o.Z)(e,"exec"))return!0;if((0,p.Z)(e))return!1;throw Error("non exhaustive match")}function ae(t){return!(!(0,p.Z)(t)||1!==t.length)&&t.charCodeAt(0)}const se={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const e=t.charCodeAt(n);if(10===e)return this.lastIndex=n+1,!0;if(13===e)return 10===t.charCodeAt(n+1)?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function oe(t,e){if((0,o.Z)(t,"LINE_BREAKS"))return!1;if(I(t.PATTERN)){try{Ht(e,t.PATTERN)}catch(t){return{issue:Ce.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}if((0,p.Z)(t.PATTERN))return!1;if(ie(t))return{issue:Ce.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function le(t){return(0,s.Z)(t,(t=>(0,p.Z)(t)?t.charCodeAt(0):t))}function ce(t,e,n){void 0===t[e]?t[e]=[n]:t[e].push(n)}const he=256;let ue=[];function de(t){return t<he?t:ue[t]}var pe=n(9203),ge=n(2054),fe=n(935);function me(t){const e=(new Date).getTime(),n=t();return{time:(new Date).getTime()-e,value:n}}function ye(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx||!0===e.isParent&&!0===e.categoryMatchesMap[n]}function ve(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let xe=1;const be={};function we(t){const e=function(t){let e=(0,l.Z)(t),n=t,r=!0;for(;r;){n=Rt((0,H.Z)((0,s.Z)(n,(t=>t.CATEGORIES))));const t=It(n,e);e=e.concat(t),(0,a.Z)(t)?r=!1:n=t}return e}(t);!function(t){(0,r.Z)(t,(t=>{var e;Te(t)||(be[xe]=t,t.tokenTypeIdx=xe++),_e(t)&&!(0,J.Z)(t.CATEGORIES)&&(t.CATEGORIES=[t.CATEGORIES]),_e(t)||(t.CATEGORIES=[]),e=t,(0,o.Z)(e,"categoryMatches")||(t.categoryMatches=[]),function(t){return(0,o.Z)(t,"categoryMatchesMap")}(t)||(t.categoryMatchesMap={})}))}(e),function(t){(0,r.Z)(t,(t=>{ke([],t)}))}(e),function(t){(0,r.Z)(t,(t=>{t.categoryMatches=[],(0,r.Z)(t.categoryMatchesMap,((e,n)=>{t.categoryMatches.push(be[n].tokenTypeIdx)}))}))}(e),(0,r.Z)(e,(t=>{t.isParent=t.categoryMatches.length>0}))}function ke(t,e){(0,r.Z)(t,(t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0})),(0,r.Z)(e.CATEGORIES,(n=>{const r=t.concat(e);it(r,n)||ke(r,n)}))}function Te(t){return(0,o.Z)(t,"tokenTypeIdx")}function _e(t){return(0,o.Z)(t,"CATEGORIES")}function Ee(t){return(0,o.Z)(t,"tokenTypeIdx")}const Se={buildUnableToPopLexerModeMessage:t=>`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(t,e,n,r,i)=>`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`};var Ce;!function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"}(Ce||(Ce={}));const Ae={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Se,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ae);class Le{constructor(t,e=Ae){if(this.lexerDefinition=t,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(t,e)=>{if(!0===this.traceInitPerf){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--\x3e <${t}>`);const{time:r,value:i}=me(e),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${t}> time: ${r}ms`),this.traceInitIndent--,i}return e()},"boolean"==typeof e)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=w({},Ae,e);const n=this.config.traceInitPerf;!0===n?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof n&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",(()=>{let n,h=!0;this.TRACE_INIT("Lexer Config handling",(()=>{if(this.config.lineTerminatorsPattern===Ae.lineTerminatorsPattern)this.config.lineTerminatorsPattern=se;else if(this.config.lineTerminatorCharacters===Ae.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(e.safeMode&&e.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),(0,J.Z)(t)?n={modes:{defaultMode:(0,l.Z)(t)},defaultMode:Kt}:(h=!1,n=(0,l.Z)(t))})),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(t,e,n){const i=[];return(0,o.Z)(t,Kt)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Kt+"> property in its definition\n",type:Ce.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,o.Z)(t,Qt)||i.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:Ce.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,o.Z)(t,Qt)&&(0,o.Z)(t,Kt)&&!(0,o.Z)(t.modes,t.defaultMode)&&i.push({message:`A MultiMode Lexer cannot be initialized with a ${Kt}: <${t.defaultMode}>which does not exist\n`,type:Ce.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,o.Z)(t,Qt)&&(0,r.Z)(t.modes,((t,e)=>{(0,r.Z)(t,((n,a)=>{if((0,pt.Z)(n))i.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${e}> at index: <${a}>\n`,type:Ce.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if((0,o.Z)(n,"LONGER_ALT")){const a=(0,J.Z)(n.LONGER_ALT)?n.LONGER_ALT:[n.LONGER_ALT];(0,r.Z)(a,(r=>{(0,pt.Z)(r)||it(t,r)||i.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${r.name}> on token <${n.name}> outside of mode <${e}>\n`,type:Ce.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))}}))})),i}(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),this.TRACE_INIT("performWarningRuntimeChecks",(()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(function(t,e,n){const a=[];let s=!1;const l=Rt((0,H.Z)((0,i.Z)(t.modes))),c=vt(l,(t=>t[Xt]===Le.NA)),h=le(n);return e&&(0,r.Z)(c,(t=>{const e=oe(t,h);if(!1!==e){const n=function(t,e){if(e.issue===Ce.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${t.name}> Token Type\n\t Root cause: ${e.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Ce.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${t.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(t,e),r={message:n,type:e.issue,tokenType:t};a.push(r)}else(0,o.Z)(t,"LINE_BREAKS")?!0===t.LINE_BREAKS&&(s=!0):Ht(h,t.PATTERN)&&(s=!0)})),e&&!s&&a.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:Ce.NO_LINE_BREAKS_FLAGS}),a}(n,this.trackStartLines,this.config.lineTerminatorCharacters))}))),n.modes=n.modes?n.modes:{},(0,r.Z)(n.modes,((t,e)=>{n.modes[e]=vt(t,(t=>(0,pt.Z)(t)))}));const u=(0,x.Z)(n.modes);if((0,r.Z)(n.modes,((t,n)=>{this.TRACE_INIT(`Mode: <${n}> processing`,(()=>{if(this.modes.push(n),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(t,e){let n=[];const i=function(t){const e=(0,Tt.Z)(t,(t=>!(0,o.Z)(t,Xt)));return{errors:(0,s.Z)(e,(t=>({message:"Token Type: ->"+t.name+"<- missing static 'PATTERN' property",type:Ce.MISSING_PATTERN,tokenTypes:[t]}))),valid:It(t,e)}}(t);n=n.concat(i.errors);const a=function(t){const e=(0,Tt.Z)(t,(t=>{const e=t[Xt];return!(I(e)||(0,xt.Z)(e)||(0,o.Z)(e,"exec")||(0,p.Z)(e))}));return{errors:(0,s.Z)(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ce.INVALID_PATTERN,tokenTypes:[t]}))),valid:It(t,e)}}(i.valid),l=a.valid;return n=n.concat(a.errors),n=n.concat(function(t){let e=[];const n=(0,Tt.Z)(t,(t=>I(t[Xt])));return e=e.concat(function(t){class e extends gt.e{constructor(){super(...arguments),this.found=!1}visitEndAnchor(t){this.found=!0}}const n=(0,Tt.Z)(t,(t=>{const n=t.PATTERN;try{const t=Wt(n),r=new e;return r.visit(t),r.found}catch(t){return te.test(n.source)}}));return(0,s.Z)(n,(t=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+t.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:Ce.EOI_ANCHOR_FOUND,tokenTypes:[t]})))}(n)),e=e.concat(function(t){class e extends gt.e{constructor(){super(...arguments),this.found=!1}visitStartAnchor(t){this.found=!0}}const n=(0,Tt.Z)(t,(t=>{const n=t.PATTERN;try{const t=Wt(n),r=new e;return r.visit(t),r.found}catch(t){return ee.test(n.source)}}));return(0,s.Z)(n,(t=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+t.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:Ce.SOI_ANCHOR_FOUND,tokenTypes:[t]})))}(n)),e=e.concat(function(t){const e=(0,Tt.Z)(t,(t=>{const e=t[Xt];return e instanceof RegExp&&(e.multiline||e.global)}));return(0,s.Z)(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ce.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[t]})))}(n)),e=e.concat(function(t){const e=[];let n=(0,s.Z)(t,(n=>(0,kt.Z)(t,((t,r)=>(n.PATTERN.source!==r.PATTERN.source||it(e,r)||r.PATTERN===Le.NA||(e.push(r),t.push(r)),t)),[])));n=Rt(n);const r=(0,Tt.Z)(n,(t=>t.length>1));return(0,s.Z)(r,(t=>{const e=(0,s.Z)(t,(t=>t.name));return{message:`The same RegExp pattern ->${Dt(t).PATTERN}<-has been used in all of the following Token Types: ${e.join(", ")} <-`,type:Ce.DUPLICATE_PATTERNS_FOUND,tokenTypes:t}}))}(n)),e=e.concat(function(t){const e=(0,Tt.Z)(t,(t=>t.PATTERN.test("")));return(0,s.Z)(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' must not match an empty string",type:Ce.EMPTY_MATCH_PATTERN,tokenTypes:[t]})))}(n)),e}(l)),n=n.concat(function(t){const e=(0,Tt.Z)(t,(t=>{if(!(0,o.Z)(t,"GROUP"))return!1;const e=t.GROUP;return e!==Le.SKIPPED&&e!==Le.NA&&!(0,p.Z)(e)}));return(0,s.Z)(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ce.INVALID_GROUP_TYPE_FOUND,tokenTypes:[t]})))}(l)),n=n.concat(function(t,e){const n=(0,Tt.Z)(t,(t=>void 0!==t.PUSH_MODE&&!it(e,t.PUSH_MODE)));return(0,s.Z)(n,(t=>({message:`Token Type: ->${t.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${t.PUSH_MODE}<-which does not exist`,type:Ce.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[t]})))}(l,e)),n=n.concat(function(t){const e=[],n=(0,kt.Z)(t,((t,e,n)=>{const r=e.PATTERN;return r===Le.NA||((0,p.Z)(r)?t.push({str:r,idx:n,tokenType:e}):I(r)&&(i=r,void 0===(0,Ot.Z)([".","\\","[","]","|","^","$","(",")","?","*","+","{"],(t=>-1!==i.source.indexOf(t))))&&t.push({str:r.source,idx:n,tokenType:e})),t;var i}),[]);return(0,r.Z)(t,((t,i)=>{(0,r.Z)(n,(({str:n,idx:r,tokenType:a})=>{if(i<r&&function(t,e){if(I(e)){const n=e.exec(t);return null!==n&&0===n.index}if((0,xt.Z)(e))return e(t,0,[],{});if((0,o.Z)(e,"exec"))return e.exec(t,0,[],{});if("string"==typeof e)return e===t;throw Error("non exhaustive match")}(n,t.PATTERN)){const n=`Token: ->${a.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${t.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:n,type:Ce.UNREACHABLE_PATTERN,tokenTypes:[t,a]})}}))})),e}(l)),n}(t,u))})),(0,a.Z)(this.lexerDefinitionErrors)){let i;we(t),this.TRACE_INIT("analyzeTokenTypes",(()=>{i=function(t,e){const n=(e=(0,ft.Z)(e,{useSticky:Jt,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(t,e)=>e()})).tracer;let i;n("initCharCodeToOptimizedIndexMap",(()=>{!function(){if((0,a.Z)(ue)){ue=new Array(65536);for(let t=0;t<65536;t++)ue[t]=t>255?255+~~(t/255):t}}()})),n("Reject Lexer.NA",(()=>{i=vt(t,(t=>t[Xt]===Le.NA))}));let l,c,h,u,d,g,f,m,y,v,x,b=!1;n("Transform Patterns",(()=>{b=!1,l=(0,s.Z)(i,(t=>{const n=t[Xt];if(I(n)){const t=n.source;return 1!==t.length||"^"===t||"$"===t||"."===t||n.ignoreCase?2!==t.length||"\\"!==t[0]||it(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?e.useSticky?re(n):ne(n):t[1]:t}if((0,xt.Z)(n))return b=!0,{exec:n};if("object"==typeof n)return b=!0,n;if("string"==typeof n){if(1===n.length)return n;{const t=n.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),r=new RegExp(t);return e.useSticky?re(r):ne(r)}}throw Error("non exhaustive match")}))})),n("misc mapping",(()=>{c=(0,s.Z)(i,(t=>t.tokenTypeIdx)),h=(0,s.Z)(i,(t=>{const e=t.GROUP;if(e!==Le.SKIPPED){if((0,p.Z)(e))return e;if((0,pt.Z)(e))return!1;throw Error("non exhaustive match")}})),u=(0,s.Z)(i,(t=>{const e=t.LONGER_ALT;if(e)return(0,J.Z)(e)?(0,s.Z)(e,(t=>wt(i,t))):[wt(i,e)]})),d=(0,s.Z)(i,(t=>t.PUSH_MODE)),g=(0,s.Z)(i,(t=>(0,o.Z)(t,"POP_MODE")))})),n("Line Terminator Handling",(()=>{const t=le(e.lineTerminatorCharacters);f=(0,s.Z)(i,(t=>!1)),"onlyOffset"!==e.positionTracking&&(f=(0,s.Z)(i,(e=>(0,o.Z)(e,"LINE_BREAKS")?!!e.LINE_BREAKS:!1===oe(e,t)&&Ht(t,e.PATTERN))))})),n("Misc Mapping #2",(()=>{m=(0,s.Z)(i,ie),y=(0,s.Z)(l,ae),v=(0,kt.Z)(i,((t,e)=>{const n=e.GROUP;return(0,p.Z)(n)&&n!==Le.SKIPPED&&(t[n]=[]),t}),{}),x=(0,s.Z)(l,((t,e)=>({pattern:l[e],longerAlt:u[e],canLineTerminator:f[e],isCustom:m[e],short:y[e],group:h[e],push:d[e],pop:g[e],tokenTypeIdx:c[e],tokenType:i[e]})))}));let w=!0,k=[];return e.safeMode||n("First Char Optimization",(()=>{k=(0,kt.Z)(i,((t,n,i)=>{if("string"==typeof n.PATTERN){const e=de(n.PATTERN.charCodeAt(0));ce(t,e,x[i])}else if((0,J.Z)(n.START_CHARS_HINT)){let e;(0,r.Z)(n.START_CHARS_HINT,(n=>{const r=de("string"==typeof n?n.charCodeAt(0):n);e!==r&&(e=r,ce(t,r,x[i]))}))}else if(I(n.PATTERN))if(n.PATTERN.unicode)w=!1,e.ensureOptimizations&&Pt(`${Zt}\tUnable to analyze < ${n.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const s=Yt(n.PATTERN,e.ensureOptimizations);(0,a.Z)(s)&&(w=!1),(0,r.Z)(s,(e=>{ce(t,e,x[i])}))}else e.ensureOptimizations&&Pt(`${Zt}\tTokenType: <${n.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),w=!1;return t}),[])})),{emptyGroups:v,patternIdxToConfig:x,charCodeToPatternIdxToConfig:k,hasCustom:b,canBeOptimized:w}}(t,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:e.positionTracking,ensureOptimizations:e.ensureOptimizations,safeMode:e.safeMode,tracer:this.TRACE_INIT})})),this.patternIdxToConfig[n]=i.patternIdxToConfig,this.charCodeToPatternIdxToConfig[n]=i.charCodeToPatternIdxToConfig,this.emptyGroups=w({},this.emptyGroups,i.emptyGroups),this.hasCustom=i.hasCustom||this.hasCustom,this.canModeBeOptimized[n]=i.canBeOptimized}}))})),this.defaultMode=n.defaultMode,!(0,a.Z)(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const t=(0,s.Z)(this.lexerDefinitionErrors,(t=>t.message)).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+t)}(0,r.Z)(this.lexerDefinitionWarning,(t=>{$t(t.message)})),this.TRACE_INIT("Choosing sub-methods implementations",(()=>{if(Jt?(this.chopInput=pe.Z,this.match=this.matchWithTest):(this.updateLastIndex=ge.Z,this.match=this.matchWithExec),h&&(this.handleModes=ge.Z),!1===this.trackStartLines&&(this.computeNewColumn=pe.Z),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=ge.Z),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)})),this.TRACE_INIT("Failed Optimization Warnings",(()=>{const t=(0,kt.Z)(this.canModeBeOptimized,((t,e,n)=>(!1===e&&t.push(n),t)),[]);if(e.ensureOptimizations&&!(0,a.Z)(t))throw Error(`Lexer Modes: < ${t.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)})),this.TRACE_INIT("clearRegExpParserCache",(()=>{Bt={}})),this.TRACE_INIT("toFastProperties",(()=>{c(this)}))}))}tokenize(t,e=this.defaultMode){if(!(0,a.Z)(this.lexerDefinitionErrors)){const t=(0,s.Z)(this.lexerDefinitionErrors,(t=>t.message)).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+t)}return this.tokenizeInternal(t,e)}tokenizeInternal(t,e){let n,i,a,s,o,l,c,h,u,d,p,g,f,m,y;const v=t,b=v.length;let w=0,k=0;const T=this.hasCustom?0:Math.floor(t.length/10),_=new Array(T),E=[];let S=this.trackStartLines?1:void 0,C=this.trackStartLines?1:void 0;const A=function(t){const e={},n=(0,x.Z)(t);return(0,r.Z)(n,(n=>{const r=t[n];if(!(0,J.Z)(r))throw Error("non exhaustive match");e[n]=[]})),e}(this.emptyGroups),L=this.trackStartLines,M=this.config.lineTerminatorsPattern;let N=0,I=[],R=[];const D=[],O=[];let P;function $(){return I}function B(t){const e=de(t),n=R[e];return void 0===n?O:n}Object.freeze(O);const F=t=>{if(1===D.length&&void 0===t.tokenType.PUSH_MODE){const e=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(t);E.push({offset:t.startOffset,line:t.startLine,column:t.startColumn,length:t.image.length,message:e})}else{D.pop();const t=(0,fe.Z)(D);I=this.patternIdxToConfig[t],R=this.charCodeToPatternIdxToConfig[t],N=I.length;const e=this.canModeBeOptimized[t]&&!1===this.config.safeMode;P=R&&e?B:$}};function W(t){D.push(t),R=this.charCodeToPatternIdxToConfig[t],I=this.patternIdxToConfig[t],N=I.length,N=I.length;const e=this.canModeBeOptimized[t]&&!1===this.config.safeMode;P=R&&e?B:$}let z;W.call(this,e);const Z=this.config.recoveryEnabled;for(;w<b;){l=null;const e=v.charCodeAt(w),r=P(e),x=r.length;for(n=0;n<x;n++){z=r[n];const i=z.pattern;c=null;const u=z.short;if(!1!==u?e===u&&(l=i):!0===z.isCustom?(y=i.exec(v,w,_,A),null!==y?(l=y[0],void 0!==y.payload&&(c=y.payload)):l=null):(this.updateLastIndex(i,w),l=this.match(i,t,w)),null!==l){if(o=z.longerAlt,void 0!==o){const e=o.length;for(a=0;a<e;a++){const e=I[o[a]],n=e.pattern;if(h=null,!0===e.isCustom?(y=n.exec(v,w,_,A),null!==y?(s=y[0],void 0!==y.payload&&(h=y.payload)):s=null):(this.updateLastIndex(n,w),s=this.match(n,t,w)),s&&s.length>l.length){l=s,c=h,z=e;break}}}break}}if(null!==l){if(u=l.length,d=z.group,void 0!==d&&(p=z.tokenTypeIdx,g=this.createTokenInstance(l,w,p,z.tokenType,S,C,u),this.handlePayload(g,c),!1===d?k=this.addToken(_,k,g):A[d].push(g)),t=this.chopInput(t,u),w+=u,C=this.computeNewColumn(C,u),!0===L&&!0===z.canLineTerminator){let t,e,n=0;M.lastIndex=0;do{t=M.test(l),!0===t&&(e=M.lastIndex-1,n++)}while(!0===t);0!==n&&(S+=n,C=u-e,this.updateTokenEndLineColumnLocation(g,d,e,n,S,C,u))}this.handleModes(z,F,W,g)}else{const e=w,n=S,r=C;let a=!1===Z;for(;!1===a&&w<b;)for(t=this.chopInput(t,1),w++,i=0;i<N;i++){const e=I[i],n=e.pattern,r=e.short;if(!1!==r?v.charCodeAt(w)===r&&(a=!0):!0===e.isCustom?a=null!==n.exec(v,w,_,A):(this.updateLastIndex(n,w),a=null!==n.exec(t)),!0===a)break}if(f=w-e,C=this.computeNewColumn(C,f),m=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,e,f,n,r),E.push({offset:e,line:n,column:r,length:f,message:m}),!1===Z)break}}return this.hasCustom||(_.length=k),{tokens:_,groups:A,errors:E}}handleModes(t,e,n,r){if(!0===t.pop){const i=t.push;e(r),void 0!==i&&n.call(this,i)}else void 0!==t.push&&n.call(this,t.push)}chopInput(t,e){return t.substring(e)}updateLastIndex(t,e){t.lastIndex=e}updateTokenEndLineColumnLocation(t,e,n,r,i,a,s){let o,l;void 0!==e&&(o=n===s-1,l=o?-1:0,1===r&&!0===o||(t.endLine=i+l,t.endColumn=a-1-l))}computeNewColumn(t,e){return t+e}createOffsetOnlyToken(t,e,n,r){return{image:t,startOffset:e,tokenTypeIdx:n,tokenType:r}}createStartOnlyToken(t,e,n,r,i,a){return{image:t,startOffset:e,startLine:i,startColumn:a,tokenTypeIdx:n,tokenType:r}}createFullToken(t,e,n,r,i,a,s){return{image:t,startOffset:e,endOffset:e+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:n,tokenType:r}}addTokenUsingPush(t,e,n){return t.push(n),e}addTokenUsingMemberAccess(t,e,n){return t[e]=n,++e}handlePayloadNoCustom(t,e){}handlePayloadWithCustom(t,e){null!==e&&(t.payload=e)}matchWithTest(t,e,n){return!0===t.test(e)?e.substring(n,t.lastIndex):null}matchWithExec(t,e){const n=t.exec(e);return null!==n?n[0]:null}}function Me(t){return Ne(t)?t.LABEL:t.name}function Ne(t){return(0,p.Z)(t.LABEL)&&""!==t.LABEL}Le.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Le.NA=/NOT_APPLICABLE/;const Ie="categories",Re="label",De="group",Oe="push_mode",Pe="pop_mode",$e="longer_alt",Be="line_breaks",Fe="start_chars_hint";function We(t){return function(t){const e=t.pattern,n={};if(n.name=t.name,(0,pt.Z)(e)||(n.PATTERN=e),(0,o.Z)(t,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return(0,o.Z)(t,Ie)&&(n.CATEGORIES=t[Ie]),we([n]),(0,o.Z)(t,Re)&&(n.LABEL=t[Re]),(0,o.Z)(t,De)&&(n.GROUP=t[De]),(0,o.Z)(t,Pe)&&(n.POP_MODE=t[Pe]),(0,o.Z)(t,Oe)&&(n.PUSH_MODE=t[Oe]),(0,o.Z)(t,$e)&&(n.LONGER_ALT=t[$e]),(0,o.Z)(t,Be)&&(n.LINE_BREAKS=t[Be]),(0,o.Z)(t,Fe)&&(n.START_CHARS_HINT=t[Fe]),n}(t)}const ze=We({name:"EOF",pattern:Le.NA});function Ze(t,e,n,r,i,a,s,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Ye(t,e){return ye(t,e)}we([ze]);const Ue={buildMismatchTokenMessage:({expected:t,actual:e,previous:n,ruleName:r})=>`Expecting ${Ne(t)?`--\x3e ${Me(t)} <--`:`token of type --\x3e ${t.name} <--`} but found --\x3e '${e.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:t,ruleName:e})=>"Redundant input, expecting EOF but found: "+t.image,buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const a="Expecting: ",o="\nbut found: '"+Dt(e).image+"'";if(r)return a+r+o;{const e=(0,kt.Z)(t,((t,e)=>t.concat(e)),[]),n=(0,s.Z)(e,(t=>`[${(0,s.Z)(t,(t=>Me(t))).join(", ")}]`));return a+`one of these possible Token sequences:\n${(0,s.Z)(n,((t,e)=>` ${e+1}. ${t}`)).join("\n")}`+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a="\nbut found: '"+Dt(e).image+"'";return n?i+n+a:i+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${(0,s.Z)(t,(t=>`[${(0,s.Z)(t,(t=>Me(t))).join(",")}]`)).join(" ,")}>`+a}};Object.freeze(Ue);const Ge={buildRuleNotFoundError:(t,e)=>"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+"<-\ninside top level rule: ->"+t.name+"<-"},Ve={buildDuplicateFoundError(t,e){const n=t.name,r=Dt(e),i=r.idx,a=ct(r),s=(o=r)instanceof Y?o.terminalType.name:o instanceof D?o.nonTerminalName:"";var o;let l=`->${a}${i>0?i:""}<- ${s?`with argument: ->${s}<-`:""}\n appears more than once (${e.length} times) in the top level rule: ->${n}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,"\n"),l},buildNamespaceConflictError:t=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(t){const e=(0,s.Z)(t.prefixPath,(t=>Me(t))).join(", "),n=0===t.alternation.idx?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin <OR${n}> inside <${t.topLevelRule.name}> Rule,\n<${e}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(t){const e=(0,s.Z)(t.prefixPath,(t=>Me(t))).join(", "),n=0===t.alternation.idx?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,\n<${e}> may appears as a prefix path in all these alternatives.\n`;return r+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",r},buildEmptyRepetitionError(t){let e=ct(t.repetition);return 0!==t.repetition.idx&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:t=>"deprecated",buildEmptyAlternationError:t=>`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:t=>`An Alternation cannot have more than 256 alternatives:\n<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.\n has ${t.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(t){const e=t.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${e}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${e} --\x3e ${(0,s.Z)(t.leftRecursionPath,(t=>t.name)).concat([e]).join(" --\x3e ")}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:t=>"deprecated",buildDuplicateRuleNameError(t){let e;return e=t.topLevelRule instanceof O?t.topLevelRule.name:t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};class qe{visit(t){const e=t;switch(e.constructor){case D:return this.visitNonTerminal(e);case P:return this.visitAlternative(e);case $:return this.visitOption(e);case B:return this.visitRepetitionMandatory(e);case F:return this.visitRepetitionMandatoryWithSeparator(e);case z:return this.visitRepetitionWithSeparator(e);case W:return this.visitRepetition(e);case Z:return this.visitAlternation(e);case Y:return this.visitTerminal(e);case O:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(t){}visitAlternative(t){}visitOption(t){}visitRepetition(t){}visitRepetitionMandatory(t){}visitRepetitionMandatoryWithSeparator(t){}visitRepetitionWithSeparator(t){}visitAlternation(t){}visitTerminal(t){}visitRule(t){}}class je extends qe{constructor(t,e){super(),this.nameToTopRule=t,this.errMsgProvider=e,this.errors=[]}resolveRefs(){(0,r.Z)((0,i.Z)(this.nameToTopRule),(t=>{this.currTopLevel=t,t.accept(this)}))}visitNonTerminal(t){const e=this.nameToTopRule[t.nonTerminalName];if(e)t.referencedRule=e;else{const e=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:e,type:Tr.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}}}var He=n(6805),Xe=n(4752);const Ke=function(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i<a;){var s=t[i];e(r,s,n(s),t)}return r},Qe=function(t,e,n,r){return(0,K.Z)(t,(function(t,i,a){e(r,t,n(t),a)})),r};var Je=Object.prototype.hasOwnProperty;const tn=(en=function(t,e,n){Je.call(t,n)?t[n].push(e):(0,Xe.Z)(t,n,[e])},function(t,e){var n=(0,J.Z)(t)?Ke:Qe,r=nn?nn():{};return n(t,en,(0,T.Z)(e,2),r)});var en,nn;const rn=function(t,e,n){var r=null==t?0:t.length;return r?(e=n||void 0===e?1:(0,u.Z)(e),h(t,0,(e=r-e)<0?0:e)):[]};class an extends G{constructor(t,e){super(),this.topProd=t,this.path=e,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,l.Z)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,l.Z)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(t,e=[]){this.found||super.walk(t,e)}walkProdRef(t,e,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){const r=e.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,r)}}updateExpectedNext(){(0,a.Z)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class sn extends an{constructor(t,e){super(t,e),this.path=e,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(t,e,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){const t=e.concat(n),r=new P({definition:t});this.possibleTokTypes=ht(r),this.found=!0}}}class on extends G{constructor(t,e){super(),this.topRule=t,this.occurrence=e,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class ln extends on{walkMany(t,e,n){if(t.idx===this.occurrence){const t=Dt(e.concat(n));this.result.isEndOfRule=void 0===t,t instanceof Y&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkMany(t,e,n)}}class cn extends on{walkManySep(t,e,n){if(t.idx===this.occurrence){const t=Dt(e.concat(n));this.result.isEndOfRule=void 0===t,t instanceof Y&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkManySep(t,e,n)}}class hn extends on{walkAtLeastOne(t,e,n){if(t.idx===this.occurrence){const t=Dt(e.concat(n));this.result.isEndOfRule=void 0===t,t instanceof Y&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkAtLeastOne(t,e,n)}}class un extends on{walkAtLeastOneSep(t,e,n){if(t.idx===this.occurrence){const t=Dt(e.concat(n));this.result.isEndOfRule=void 0===t,t instanceof Y&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkAtLeastOneSep(t,e,n)}}function dn(t,e,n=[]){n=(0,l.Z)(n);let i=[],s=0;function o(r){const a=dn(r.concat(d(t,s+1)),e,n);return i.concat(a)}for(;n.length<e&&s<t.length;){const e=t[s];if(e instanceof P)return o(e.definition);if(e instanceof D)return o(e.definition);if(e instanceof $)i=o(e.definition);else{if(e instanceof B)return o(e.definition.concat([new W({definition:e.definition})]));if(e instanceof F)return o([new P({definition:e.definition}),new W({definition:[new Y({terminalType:e.separator})].concat(e.definition)})]);if(e instanceof z){const t=e.definition.concat([new W({definition:[new Y({terminalType:e.separator})].concat(e.definition)})]);i=o(t)}else if(e instanceof W){const t=e.definition.concat([new W({definition:e.definition})]);i=o(t)}else{if(e instanceof Z)return(0,r.Z)(e.definition,(t=>{!1===(0,a.Z)(t.definition)&&(i=o(t.definition))})),i;if(!(e instanceof Y))throw Error("non exhaustive match");n.push(e.terminalType)}}s++}return i.push({partialPath:n,suffixDef:d(t,s)}),i}function pn(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],o="EXIT_ALTERNATIVE";let c=!1;const h=e.length,u=h-r-1,p=[],g=[];for(g.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!(0,a.Z)(g);){const t=g.pop();if(t===o){c&&(0,fe.Z)(g).idx<=u&&g.pop();continue}const r=t.def,f=t.idx,m=t.ruleStack,y=t.occurrenceStack;if((0,a.Z)(r))continue;const v=r[0];if(v===i){const t={idx:f,def:d(r),ruleStack:rn(m),occurrenceStack:rn(y)};g.push(t)}else if(v instanceof Y)if(f<h-1){const t=f+1;if(n(e[t],v.terminalType)){const e={idx:t,def:d(r),ruleStack:m,occurrenceStack:y};g.push(e)}}else{if(f!==h-1)throw Error("non exhaustive match");p.push({nextTokenType:v.terminalType,nextTokenOccurrence:v.idx,ruleStack:m,occurrenceStack:y}),c=!0}else if(v instanceof D){const t=(0,l.Z)(m);t.push(v.nonTerminalName);const e=(0,l.Z)(y);e.push(v.idx);const n={idx:f,def:v.definition.concat(s,d(r)),ruleStack:t,occurrenceStack:e};g.push(n)}else if(v instanceof $){const t={idx:f,def:d(r),ruleStack:m,occurrenceStack:y};g.push(t),g.push(o);const e={idx:f,def:v.definition.concat(d(r)),ruleStack:m,occurrenceStack:y};g.push(e)}else if(v instanceof B){const t=new W({definition:v.definition,idx:v.idx}),e={idx:f,def:v.definition.concat([t],d(r)),ruleStack:m,occurrenceStack:y};g.push(e)}else if(v instanceof F){const t=new Y({terminalType:v.separator}),e=new W({definition:[t].concat(v.definition),idx:v.idx}),n={idx:f,def:v.definition.concat([e],d(r)),ruleStack:m,occurrenceStack:y};g.push(n)}else if(v instanceof z){const t={idx:f,def:d(r),ruleStack:m,occurrenceStack:y};g.push(t),g.push(o);const e=new Y({terminalType:v.separator}),n=new W({definition:[e].concat(v.definition),idx:v.idx}),i={idx:f,def:v.definition.concat([n],d(r)),ruleStack:m,occurrenceStack:y};g.push(i)}else if(v instanceof W){const t={idx:f,def:d(r),ruleStack:m,occurrenceStack:y};g.push(t),g.push(o);const e=new W({definition:v.definition,idx:v.idx}),n={idx:f,def:v.definition.concat([e],d(r)),ruleStack:m,occurrenceStack:y};g.push(n)}else if(v instanceof Z)for(let t=v.definition.length-1;t>=0;t--){const e={idx:f,def:v.definition[t].definition.concat(d(r)),ruleStack:m,occurrenceStack:y};g.push(e),g.push(o)}else if(v instanceof P)g.push({idx:f,def:v.definition.concat(d(r)),ruleStack:m,occurrenceStack:y});else{if(!(v instanceof O))throw Error("non exhaustive match");g.push(gn(v,f,m,y))}}return p}function gn(t,e,n,r){const i=(0,l.Z)(n);i.push(t.name);const a=(0,l.Z)(r);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var fn;function mn(t){if(t instanceof $||"Option"===t)return fn.OPTION;if(t instanceof W||"Repetition"===t)return fn.REPETITION;if(t instanceof B||"RepetitionMandatory"===t)return fn.REPETITION_MANDATORY;if(t instanceof F||"RepetitionMandatoryWithSeparator"===t)return fn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof z||"RepetitionWithSeparator"===t)return fn.REPETITION_WITH_SEPARATOR;if(t instanceof Z||"Alternation"===t)return fn.ALTERNATION;throw Error("non exhaustive match")}function yn(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,a=mn(r);return a===fn.ALTERNATION?Sn(e,n,i):Cn(e,n,a,i)}function vn(t,e,n,i){const a=t.length,l=ot(t,(t=>ot(t,(t=>1===t.length))));if(e)return function(e){const r=(0,s.Z)(e,(t=>t.GATE));for(let e=0;e<a;e++){const i=t[e],a=i.length,s=r[e];if(void 0===s||!1!==s.call(this))t:for(let t=0;t<a;t++){const r=i[t],a=r.length;for(let t=0;t<a;t++){const e=this.LA(t+1);if(!1===n(e,r[t]))continue t}return e}}};if(l&&!i){const e=(0,s.Z)(t,(t=>(0,H.Z)(t))),n=(0,kt.Z)(e,((t,e,n)=>((0,r.Z)(e,(e=>{(0,o.Z)(t,e.tokenTypeIdx)||(t[e.tokenTypeIdx]=n),(0,r.Z)(e.categoryMatches,(e=>{(0,o.Z)(t,e)||(t[e]=n)}))})),t)),{});return function(){const t=this.LA(1);return n[t.tokenTypeIdx]}}return function(){for(let e=0;e<a;e++){const r=t[e],i=r.length;t:for(let t=0;t<i;t++){const i=r[t],a=i.length;for(let t=0;t<a;t++){const e=this.LA(t+1);if(!1===n(e,i[t]))continue t}return e}}}}function xn(t,e,n){const i=ot(t,(t=>1===t.length)),s=t.length;if(i&&!n){const e=(0,H.Z)(t);if(1===e.length&&(0,a.Z)(e[0].categoryMatches)){const t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{const t=(0,kt.Z)(e,((t,e,n)=>(t[e.tokenTypeIdx]=!0,(0,r.Z)(e.categoryMatches,(e=>{t[e]=!0})),t)),[]);return function(){const e=this.LA(1);return!0===t[e.tokenTypeIdx]}}}return function(){t:for(let n=0;n<s;n++){const r=t[n],i=r.length;for(let t=0;t<i;t++){const n=this.LA(t+1);if(!1===e(n,r[t]))continue t}return!0}return!1}}!function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"}(fn||(fn={}));class bn extends G{constructor(t,e,n){super(),this.topProd=t,this.targetOccurrence=e,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(t,e,n,r){return t.idx===this.targetOccurrence&&this.targetProdType===e&&(this.restDef=n.concat(r),!0)}walkOption(t,e,n){this.checkIsTarget(t,fn.OPTION,e,n)||super.walkOption(t,e,n)}walkAtLeastOne(t,e,n){this.checkIsTarget(t,fn.REPETITION_MANDATORY,e,n)||super.walkOption(t,e,n)}walkAtLeastOneSep(t,e,n){this.checkIsTarget(t,fn.REPETITION_MANDATORY_WITH_SEPARATOR,e,n)||super.walkOption(t,e,n)}walkMany(t,e,n){this.checkIsTarget(t,fn.REPETITION,e,n)||super.walkOption(t,e,n)}walkManySep(t,e,n){this.checkIsTarget(t,fn.REPETITION_WITH_SEPARATOR,e,n)||super.walkOption(t,e,n)}}class wn extends qe{constructor(t,e,n){super(),this.targetOccurrence=t,this.targetProdType=e,this.targetRef=n,this.result=[]}checkIsTarget(t,e){t.idx!==this.targetOccurrence||this.targetProdType!==e||void 0!==this.targetRef&&t!==this.targetRef||(this.result=t.definition)}visitOption(t){this.checkIsTarget(t,fn.OPTION)}visitRepetition(t){this.checkIsTarget(t,fn.REPETITION)}visitRepetitionMandatory(t){this.checkIsTarget(t,fn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(t){this.checkIsTarget(t,fn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(t){this.checkIsTarget(t,fn.REPETITION_WITH_SEPARATOR)}visitAlternation(t){this.checkIsTarget(t,fn.ALTERNATION)}}function kn(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function Tn(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let t=0;t<e.length;t++){const n=e[t];i.push(n+"_"+r.tokenTypeIdx);for(let t=0;t<r.categoryMatches.length;t++){const e="_"+r.categoryMatches[t];i.push(n+e)}}e=i}return e}function _n(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let t=0;t<e.length;t++)if(!0===i[e[t]])return!1}return!0}function En(t,e){const n=(0,s.Z)(t,(t=>dn([t],1))),i=kn(n.length),o=(0,s.Z)(n,(t=>{const e={};return(0,r.Z)(t,(t=>{const n=Tn(t.partialPath);(0,r.Z)(n,(t=>{e[t]=!0}))})),e}));let l=n;for(let t=1;t<=e;t++){const n=l;l=kn(n.length);for(let s=0;s<n.length;s++){const c=n[s];for(let n=0;n<c.length;n++){const h=c[n].partialPath,u=c[n].suffixDef,d=Tn(h);if(_n(o,d,s)||(0,a.Z)(u)||h.length===e){const t=i[s];if(!1===An(t,h)){t.push(h);for(let t=0;t<d.length;t++){const e=d[t];o[s][e]=!0}}}else{const e=dn(u,t+1,h);l[s]=l[s].concat(e),(0,r.Z)(e,(t=>{const e=Tn(t.partialPath);(0,r.Z)(e,(t=>{o[s][t]=!0}))}))}}}}return i}function Sn(t,e,n,r){const i=new wn(t,fn.ALTERNATION,r);return e.accept(i),En(i.result,n)}function Cn(t,e,n,r){const i=new wn(t,n);e.accept(i);const a=i.result,s=new bn(e,t,n).startWalking();return En([new P({definition:a}),new P({definition:s})],r)}function An(t,e){t:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let t=0;t<r.length;t++){const n=e[t],i=r[t];if(!1==(n===i||void 0!==i.categoryMatchesMap[n.tokenTypeIdx]))continue t}return!0}}return!1}function Ln(t){return ot(t,(t=>ot(t,(t=>ot(t,(t=>(0,a.Z)(t.categoryMatches)))))))}function Mn(t){return`${ct(t)}_#_${t.idx}_#_${Nn(t)}`}function Nn(t){return t instanceof Y?t.terminalType.name:t instanceof D?t.nonTerminalName:""}class In extends qe{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(t){this.allProductions.push(t)}visitOption(t){this.allProductions.push(t)}visitRepetitionWithSeparator(t){this.allProductions.push(t)}visitRepetitionMandatory(t){this.allProductions.push(t)}visitRepetitionMandatoryWithSeparator(t){this.allProductions.push(t)}visitRepetition(t){this.allProductions.push(t)}visitAlternation(t){this.allProductions.push(t)}visitTerminal(t){this.allProductions.push(t)}}function Rn(t,e,n,r=[]){const i=[],s=Dn(e.definition);if((0,a.Z)(s))return[];{const e=t.name;it(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:Tr.LEFT_RECURSION,ruleName:e});const a=It(s,r.concat([t])),o=(0,He.Z)(a,(e=>{const i=(0,l.Z)(r);return i.push(e),Rn(t,e,n,i)}));return i.concat(o)}}function Dn(t){let e=[];if((0,a.Z)(t))return e;const n=Dt(t);if(n instanceof D)e.push(n.referencedRule);else if(n instanceof P||n instanceof $||n instanceof B||n instanceof F||n instanceof z||n instanceof W)e=e.concat(Dn(n.definition));else if(n instanceof Z)e=(0,H.Z)((0,s.Z)(n.definition,(t=>Dn(t.definition))));else if(!(n instanceof Y))throw Error("non exhaustive match");const r=lt(n),i=t.length>1;if(r&&i){const n=d(t);return e.concat(Dn(n))}return e}class On extends qe{constructor(){super(...arguments),this.alternations=[]}visitAlternation(t){this.alternations.push(t)}}class Pn extends qe{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(t){this.allProductions.push(t)}visitRepetitionMandatory(t){this.allProductions.push(t)}visitRepetitionMandatoryWithSeparator(t){this.allProductions.push(t)}visitRepetition(t){this.allProductions.push(t)}}const $n="MismatchedTokenException",Bn="NoViableAltException",Fn="EarlyExitException",Wn="NotAllInputParsedException",zn=[$n,Bn,Fn,Wn];function Zn(t){return it(zn,t.name)}Object.freeze(zn);class Yn extends Error{constructor(t,e){super(t),this.token=e,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Un extends Yn{constructor(t,e,n){super(t,e),this.previousToken=n,this.name=$n}}class Gn extends Yn{constructor(t,e,n){super(t,e),this.previousToken=n,this.name=Bn}}class Vn extends Yn{constructor(t,e){super(t,e),this.name=Wn}}class qn extends Yn{constructor(t,e,n){super(t,e),this.previousToken=n,this.name=Fn}}const jn={},Hn="InRuleRecoveryException";class Xn extends Error{constructor(t){super(t),this.name=Hn}}function Kn(t,e,n,r,i,a,s){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(void 0===l){const t=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[t],i).startWalking(),this.firstAfterRepMap[o]=l}let c=l.token,h=l.occurrence;const u=l.isEndOfRule;1===this.RULE_STACK.length&&u&&void 0===c&&(c=ze,h=1),void 0!==c&&void 0!==h&&this.shouldInRepetitionRecoveryBeTried(c,h,s)&&this.tryInRepetitionRecovery(t,e,n,c)}const Qn=1024,Jn=1280,tr=1536;function er(t,e,n){return n|e|t}class nr{constructor(t){var e;this.maxLookahead=null!==(e=null==t?void 0:t.maxLookahead)&&void 0!==e?e:wr.maxLookahead}validate(t){const e=this.validateNoLeftRecursion(t.rules);if((0,a.Z)(e)){const n=this.validateEmptyOrAlternatives(t.rules),r=this.validateAmbiguousAlternationAlternatives(t.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(t.rules,this.maxLookahead);return[...e,...n,...r,...i]}return e}validateNoLeftRecursion(t){return(0,He.Z)(t,(t=>Rn(t,t,Ve)))}validateEmptyOrAlternatives(t){return(0,He.Z)(t,(t=>function(t,e){const n=new On;t.accept(n);const r=n.alternations;return(0,He.Z)(r,(n=>{const r=rn(n.definition);return(0,He.Z)(r,((r,i)=>{const s=pn([r],[],ye,1);return(0,a.Z)(s)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:n,emptyChoiceIdx:i}),type:Tr.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:n.idx,alternative:i+1}]:[]}))}))}(t,Ve)))}validateAmbiguousAlternationAlternatives(t,e){return(0,He.Z)(t,(t=>function(t,e,n){const i=new On;t.accept(i);let a=i.alternations;a=vt(a,(t=>!0===t.ignoreAmbiguities));return(0,He.Z)(a,(i=>{const a=i.idx,o=i.maxLookahead||e,l=Sn(a,t,o,i),c=function(t,e,n,i){const a=[],o=(0,kt.Z)(t,((n,i,s)=>(!0===e.definition[s].ignoreAmbiguities||(0,r.Z)(i,(i=>{const o=[s];(0,r.Z)(t,((t,n)=>{s!==n&&An(t,i)&&!0!==e.definition[n].ignoreAmbiguities&&o.push(n)})),o.length>1&&!An(a,i)&&(a.push(i),n.push({alts:o,path:i}))})),n)),[]);return(0,s.Z)(o,(t=>{const r=(0,s.Z)(t.alts,(t=>t+1));return{message:i.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:r,prefixPath:t.path}),type:Tr.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:t.alts}}))}(l,i,t,n),h=function(t,e,n,r){const i=(0,kt.Z)(t,((t,e,n)=>{const r=(0,s.Z)(e,(t=>({idx:n,path:t})));return t.concat(r)}),[]);return Rt((0,He.Z)(i,(t=>{if(!0===e.definition[t.idx].ignoreAmbiguities)return[];const a=t.idx,o=t.path,l=(0,Tt.Z)(i,(t=>{return!0!==e.definition[t.idx].ignoreAmbiguities&&t.idx<a&&(n=t.path,r=o,n.length<r.length&&ot(n,((t,e)=>{const n=r[e];return t===n||n.categoryMatchesMap[t.tokenTypeIdx]})));var n,r}));return(0,s.Z)(l,(t=>{const i=[t.idx+1,a+1],s=0===e.idx?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:i,prefixPath:t.path}),type:Tr.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:s,alternatives:i}}))})))}(l,i,t,n);return c.concat(h)}))}(t,e,Ve)))}validateSomeNonEmptyLookaheadPath(t,e){return function(t,e,n){const i=[];return(0,r.Z)(t,(t=>{const s=new Pn;t.accept(s);const o=s.allProductions;(0,r.Z)(o,(r=>{const s=mn(r),o=r.maxLookahead||e,l=Cn(r.idx,t,s,o)[0];if((0,a.Z)((0,H.Z)(l))){const e=n.buildEmptyRepetitionError({topLevelRule:t,repetition:r});i.push({message:e,type:Tr.NO_NON_EMPTY_LOOKAHEAD,ruleName:t.name})}}))})),i}(t,e,Ve)}buildLookaheadForAlternation(t){return function(t,e,n,r,i,a){const s=Sn(t,e,n);return a(s,r,Ln(s)?ve:ye,i)}(t.prodOccurrence,t.rule,t.maxLookahead,t.hasPredicates,t.dynamicTokensEnabled,vn)}buildLookaheadForOptional(t){return function(t,e,n,r,i,a){const s=Cn(t,e,i,n),o=Ln(s)?ve:ye;return a(s[0],o,r)}(t.prodOccurrence,t.rule,t.maxLookahead,t.dynamicTokensEnabled,mn(t.prodType),xn)}}const rr=new class extends qe{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(t){this.dslMethods.option.push(t)}visitRepetitionWithSeparator(t){this.dslMethods.repetitionWithSeparator.push(t)}visitRepetitionMandatory(t){this.dslMethods.repetitionMandatory.push(t)}visitRepetitionMandatoryWithSeparator(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)}visitRepetition(t){this.dslMethods.repetition.push(t)}visitAlternation(t){this.dslMethods.alternation.push(t)}};function ir(t,e){!0===isNaN(t.startOffset)?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset==1&&(t.endOffset=e.endOffset)}function ar(t,e){!0===isNaN(t.startOffset)?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset==1&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}const sr="name";function or(t,e){Object.defineProperty(t,sr,{enumerable:!1,configurable:!0,writable:!1,value:e})}function lr(t,e){const n=(0,x.Z)(t),r=n.length;for(let i=0;i<r;i++){const r=t[n[i]],a=r.length;for(let t=0;t<a;t++){const n=r[t];void 0===n.tokenTypeIdx&&this[n.name](n.children,e)}}}var cr;!function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"}(cr||(cr={}));var hr=n(7226);const ur={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ur);const dr=Math.pow(2,8)-1,pr=We({name:"RECORDING_PHASE_TOKEN",pattern:Le.NA});we([pr]);const gr=Ze(pr,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(gr);const fr={name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};function mr(t,e,n,r=!1){xr(n);const i=(0,fe.Z)(this.recordingProdStack),a=(0,xt.Z)(e)?e:e.DEF,s=new t({definition:[],idx:n});return r&&(s.separator=e.SEP),(0,o.Z)(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),ur}function yr(t,e){xr(e);const n=(0,fe.Z)(this.recordingProdStack),i=!1===(0,J.Z)(t),a=!1===i?t:t.DEF,s=new Z({definition:[],idx:e,ignoreAmbiguities:i&&!0===t.IGNORE_AMBIGUITIES});(0,o.Z)(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const l=et(a,(t=>(0,xt.Z)(t.GATE)));return s.hasPredicates=l,n.definition.push(s),(0,r.Z)(a,(t=>{const e=new P({definition:[]});s.definition.push(e),(0,o.Z)(t,"IGNORE_AMBIGUITIES")?e.ignoreAmbiguities=t.IGNORE_AMBIGUITIES:(0,o.Z)(t,"GATE")&&(e.ignoreAmbiguities=!0),this.recordingProdStack.push(e),t.ALT.call(this),this.recordingProdStack.pop()})),ur}function vr(t){return 0===t?"":`${t}`}function xr(t){if(t<0||t>dr){const e=new Error(`Invalid DSL Method idx value: <${t}>\n\tIdx value must be a none negative value smaller than ${dr+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}const br=Ze(ze,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(br);const wr=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ue,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),kr=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Tr,_r;function Er(t=void 0){return function(){return t}}!function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"}(Tr||(Tr={}));class Sr{static performSelfAnalysis(t){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",(()=>{let t;this.selfAnalysisDone=!0;const e=this.className;this.TRACE_INIT("toFastProps",(()=>{c(this)})),this.TRACE_INIT("Grammar Recording",(()=>{try{this.enableRecording(),(0,r.Z)(this.definedRulesNames,(t=>{const e=this[t].originalGrammarAction;let n;this.TRACE_INIT(`${t} Rule`,(()=>{n=this.topLevelRuleRecord(t,e)})),this.gastProductionsCache[t]=n}))}finally{this.disableRecording()}}));let n=[];if(this.TRACE_INIT("Grammar Resolving",(()=>{n=function(t){const e=(0,ft.Z)(t,{errMsgProvider:Ge}),n={};return(0,r.Z)(t.rules,(t=>{n[t.name]=t})),function(t,e){const n=new je(t,e);return n.resolveRefs(),n.errors}(n,e.errMsgProvider)}({rules:(0,i.Z)(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)})),this.TRACE_INIT("Grammar Validations",(()=>{if((0,a.Z)(n)&&!1===this.skipValidations){const n=(t={rules:(0,i.Z)(this.gastProductionsCache),tokenTypes:(0,i.Z)(this.tokensMap),errMsgProvider:Ve,grammarName:e},function(t,e,n,a){const o=(0,He.Z)(t,(t=>function(t,e){const n=new In;t.accept(n);const r=n.allProductions,a=tn(r,Mn),o=S(a,(t=>t.length>1));return(0,s.Z)((0,i.Z)(o),(n=>{const r=Dt(n),i=e.buildDuplicateFoundError(t,n),a=ct(r),s={message:i,type:Tr.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:a,occurrence:r.idx},o=Nn(r);return o&&(s.parameter=o),s}))}(t,n))),l=function(t,e,n){const i=[],a=(0,s.Z)(e,(t=>t.name));return(0,r.Z)(t,(t=>{const e=t.name;if(it(a,e)){const r=n.buildNamespaceConflictError(t);i.push({message:r,type:Tr.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:e})}})),i}(t,e,n),c=(0,He.Z)(t,(t=>function(t,e){const n=new On;t.accept(n);const r=n.alternations;return(0,He.Z)(r,(n=>n.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:n}),type:Tr.TOO_MANY_ALTS,ruleName:t.name,occurrence:n.idx}]:[]))}(t,n))),h=(0,He.Z)(t,(e=>function(t,e,n,r){const i=[],a=(0,kt.Z)(e,((e,n)=>n.name===t.name?e+1:e),0);if(a>1){const e=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:e,type:Tr.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}(e,t,a,n)));return o.concat(l,c,h)}((t=(0,ft.Z)(t,{errMsgProvider:Ve})).rules,t.tokenTypes,t.errMsgProvider,t.grammarName)),a=function(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return(0,s.Z)(e,(t=>Object.assign({type:Tr.CUSTOM_LOOKAHEAD_VALIDATION},t)))}({lookaheadStrategy:this.lookaheadStrategy,rules:(0,i.Z)(this.gastProductionsCache),tokenTypes:(0,i.Z)(this.tokensMap),grammarName:e});this.definitionErrors=this.definitionErrors.concat(n,a)}var t})),(0,a.Z)(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",(()=>{const t=function(t){const e={};return(0,r.Z)(t,(t=>{const n=new dt(t).startWalking();w(e,n)})),e}((0,i.Z)(this.gastProductionsCache));this.resyncFollows=t})),this.TRACE_INIT("ComputeLookaheadFunctions",(()=>{var t,e;null===(e=(t=this.lookaheadStrategy).initialize)||void 0===e||e.call(t,{rules:(0,i.Z)(this.gastProductionsCache)}),this.preComputeLookaheadFunctions((0,i.Z)(this.gastProductionsCache))}))),!Sr.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,a.Z)(this.definitionErrors))throw t=(0,s.Z)(this.definitionErrors,(t=>t.message)),new Error(`Parser Definition Errors detected:\n ${t.join("\n-------------------------------\n")}`)}))}constructor(t,e){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(e),n.initLexerAdapter(),n.initLooksAhead(e),n.initRecognizerEngine(t,e),n.initRecoverable(e),n.initTreeBuilder(e),n.initContentAssist(),n.initGastRecorder(e),n.initPerformanceTracer(e),(0,o.Z)(e,"ignoredIssues"))throw new Error("The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=(0,o.Z)(e,"skipValidations")?e.skipValidations:wr.skipValidations}}Sr.DEFER_DEFINITION_ERRORS_HANDLING=!1,_r=Sr,[class{initRecoverable(t){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,o.Z)(t,"recoveryEnabled")?t.recoveryEnabled:wr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Kn)}getTokenToInsert(t){const e=Ze(t,"",NaN,NaN,NaN,NaN,NaN,NaN);return e.isInsertedInRecovery=!0,e}canTokenTypeBeInsertedInRecovery(t){return!0}canTokenTypeBeDeletedInRecovery(t){return!0}tryInRepetitionRecovery(t,e,n,r){const i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[];let o=!1;const l=this.LA(1);let c=this.LA(1);const h=()=>{const t=this.LA(0),e=this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:l,previous:t,ruleName:this.getCurrRuleFullName()}),n=new Un(e,l,this.LA(0));n.resyncedTokens=rn(s),this.SAVE_ERROR(n)};for(;!o;){if(this.tokenMatcher(c,r))return void h();if(n.call(this))return h(),void t.apply(this,e);this.tokenMatcher(c,i)?o=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,s))}this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(t,e,n){return!1!==n&&!this.tokenMatcher(this.LA(1),t)&&!this.isBackTracking()&&!this.canPerformInRuleRecovery(t,this.getFollowsForInRuleRecovery(t,e))}getFollowsForInRuleRecovery(t,e){const n=this.getCurrentGrammarPath(t,e);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(t,e){if(this.canRecoverWithSingleTokenInsertion(t,e))return this.getTokenToInsert(t);if(this.canRecoverWithSingleTokenDeletion(t)){const t=this.SKIP_TOKEN();return this.consumeToken(),t}throw new Xn("sad sad panda")}canPerformInRuleRecovery(t,e){return this.canRecoverWithSingleTokenInsertion(t,e)||this.canRecoverWithSingleTokenDeletion(t)}canRecoverWithSingleTokenInsertion(t,e){if(!this.canTokenTypeBeInsertedInRecovery(t))return!1;if((0,a.Z)(e))return!1;const n=this.LA(1);return void 0!==(0,Ot.Z)(e,(t=>this.tokenMatcher(n,t)))}canRecoverWithSingleTokenDeletion(t){return!!this.canTokenTypeBeDeletedInRecovery(t)&&this.tokenMatcher(this.LA(2),t)}isInCurrentRuleReSyncSet(t){const e=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(e);return it(n,t)}findReSyncTokenType(){const t=this.flattenFollowSet();let e=this.LA(1),n=2;for(;;){const r=(0,Ot.Z)(t,(t=>Ye(e,t)));if(void 0!==r)return r;e=this.LA(n),n++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return jn;const t=this.getLastExplicitRuleShortName(),e=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(t),idxInCallingRule:e,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const t=this.RULE_STACK,e=this.RULE_OCCURRENCE_STACK;return(0,s.Z)(t,((n,r)=>0===r?jn:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:e[r],inRule:this.shortRuleNameToFullName(t[r-1])}))}flattenFollowSet(){const t=(0,s.Z)(this.buildFullFollowKeyStack(),(t=>this.getFollowSetFromFollowKey(t)));return(0,H.Z)(t)}getFollowSetFromFollowKey(t){if(t===jn)return[ze];const e=t.ruleName+t.idxInCallingRule+ut+t.inRule;return this.resyncFollows[e]}addToResyncTokens(t,e){return this.tokenMatcher(t,ze)||e.push(t),e}reSyncTo(t){const e=[];let n=this.LA(1);for(;!1===this.tokenMatcher(n,t);)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,e);return rn(e)}attemptInRepetitionRecovery(t,e,n,r,i,a,s){}getCurrentGrammarPath(t,e){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:(0,l.Z)(this.RULE_OCCURRENCE_STACK),lastTok:t,lastTokOccurrence:e}}getHumanReadableRuleStack(){return(0,s.Z)(this.RULE_STACK,(t=>this.shortRuleNameToFullName(t)))}},class{initLooksAhead(t){this.dynamicTokensEnabled=(0,o.Z)(t,"dynamicTokensEnabled")?t.dynamicTokensEnabled:wr.dynamicTokensEnabled,this.maxLookahead=(0,o.Z)(t,"maxLookahead")?t.maxLookahead:wr.maxLookahead,this.lookaheadStrategy=(0,o.Z)(t,"lookaheadStrategy")?t.lookaheadStrategy:new nr({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(t){(0,r.Z)(t,(t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,(()=>{const{alternation:e,repetition:n,option:i,repetitionMandatory:a,repetitionMandatoryWithSeparator:s,repetitionWithSeparator:o}=function(t){rr.reset(),t.accept(rr);const e=rr.dslMethods;return rr.reset(),e}(t);(0,r.Z)(e,(e=>{const n=0===e.idx?"":e.idx;this.TRACE_INIT(`${ct(e)}${n}`,(()=>{const n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:e.idx,rule:t,maxLookahead:e.maxLookahead||this.maxLookahead,hasPredicates:e.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),r=er(this.fullRuleNameToShort[t.name],256,e.idx);this.setLaFuncCache(r,n)}))})),(0,r.Z)(n,(e=>{this.computeLookaheadFunc(t,e.idx,768,"Repetition",e.maxLookahead,ct(e))})),(0,r.Z)(i,(e=>{this.computeLookaheadFunc(t,e.idx,512,"Option",e.maxLookahead,ct(e))})),(0,r.Z)(a,(e=>{this.computeLookaheadFunc(t,e.idx,Qn,"RepetitionMandatory",e.maxLookahead,ct(e))})),(0,r.Z)(s,(e=>{this.computeLookaheadFunc(t,e.idx,tr,"RepetitionMandatoryWithSeparator",e.maxLookahead,ct(e))})),(0,r.Z)(o,(e=>{this.computeLookaheadFunc(t,e.idx,Jn,"RepetitionWithSeparator",e.maxLookahead,ct(e))}))}))}))}computeLookaheadFunc(t,e,n,r,i,a){this.TRACE_INIT(`${a}${0===e?"":e}`,(()=>{const a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:e,rule:t,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r}),s=er(this.fullRuleNameToShort[t.name],n,e);this.setLaFuncCache(s,a)}))}getKeyForAutomaticLookahead(t,e){return er(this.getLastExplicitRuleShortName(),t,e)}getLaFuncFromCache(t){return this.lookAheadFuncsCache.get(t)}setLaFuncCache(t,e){this.lookAheadFuncsCache.set(t,e)}},class{initTreeBuilder(t){if(this.CST_STACK=[],this.outputCst=t.outputCst,this.nodeLocationTracking=(0,o.Z)(t,"nodeLocationTracking")?t.nodeLocationTracking:wr.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ar,this.setNodeLocationFromNode=ar,this.cstPostRule=ge.Z,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ge.Z,this.setNodeLocationFromNode=ge.Z,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ir,this.setNodeLocationFromNode=ir,this.cstPostRule=ge.Z,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ge.Z,this.setNodeLocationFromNode=ge.Z,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${t.nodeLocationTracking}"`);this.setNodeLocationFromToken=ge.Z,this.setNodeLocationFromNode=ge.Z,this.cstPostRule=ge.Z,this.setInitialNodeLocation=ge.Z}else this.cstInvocationStateUpdate=ge.Z,this.cstFinallyStateUpdate=ge.Z,this.cstPostTerminal=ge.Z,this.cstPostNonTerminal=ge.Z,this.cstPostRule=ge.Z}setInitialNodeLocationOnlyOffsetRecovery(t){t.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(t){t.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(t){t.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(t){const e=this.LA(1);t.location={startOffset:e.startOffset,startLine:e.startLine,startColumn:e.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(t){const e={name:t,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(t){const e=this.LA(0),n=t.location;n.startOffset<=e.startOffset==1?(n.endOffset=e.endOffset,n.endLine=e.endLine,n.endColumn=e.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(t){const e=this.LA(0),n=t.location;n.startOffset<=e.startOffset==1?n.endOffset=e.endOffset:n.startOffset=NaN}cstPostTerminal(t,e){const n=this.CST_STACK[this.CST_STACK.length-1];var r,i,a;i=e,a=t,void 0===(r=n).children[a]?r.children[a]=[i]:r.children[a].push(i),this.setNodeLocationFromToken(n.location,e)}cstPostNonTerminal(t,e){const n=this.CST_STACK[this.CST_STACK.length-1];!function(t,e,n){void 0===t.children[e]?t.children[e]=[n]:t.children[e].push(n)}(n,e,t),this.setNodeLocationFromNode(n.location,t.location)}getBaseCstVisitorConstructor(){if((0,pt.Z)(this.baseCstVisitorConstructor)){const t=function(t,e){const n=function(){};or(n,t+"BaseSemantics");const r={visit:function(t,e){if((0,J.Z)(t)&&(t=t[0]),!(0,pt.Z)(t))return this[t.name](t.children,e)},validateVisitor:function(){const t=function(t,e){const n=function(t,e){const n=(0,Tt.Z)(e,(e=>!1===(0,xt.Z)(t[e]))),r=(0,s.Z)(n,(e=>({msg:`Missing visitor method: <${e}> on ${t.constructor.name} CST Visitor.`,type:cr.MISSING_METHOD,methodName:e})));return Rt(r)}(t,e);return n}(this,e);if(!(0,a.Z)(t)){const e=(0,s.Z)(t,(t=>t.msg));throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${e.join("\n\n").replace(/\n/g,"\n\t")}`)}}};return(n.prototype=r).constructor=n,n._RULE_NAMES=e,n}(this.className,(0,x.Z)(this.gastProductionsCache));return this.baseCstVisitorConstructor=t,t}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if((0,pt.Z)(this.baseCstVisitorWithDefaultsConstructor)){const t=function(t,e,n){const i=function(){};or(i,t+"BaseSemanticsWithDefaults");const a=Object.create(n.prototype);return(0,r.Z)(e,(t=>{a[t]=lr})),(i.prototype=a).constructor=i,i}(this.className,(0,x.Z)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=t,t}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const t=this.RULE_STACK;return t[t.length-1]}getPreviousExplicitRuleShortName(){const t=this.RULE_STACK;return t[t.length-2]}getLastExplicitRuleOccurrenceIndex(){const t=this.RULE_OCCURRENCE_STACK;return t[t.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(t){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=t,this.tokVectorLength=t.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):br}LA(t){const e=this.currIdx+t;return e<0||this.tokVectorLength<=e?br:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(t){this.currIdx=t}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(t,e){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ve,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,o.Z)(e,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if((0,J.Z)(t)){if((0,a.Z)(t))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof t[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if((0,J.Z)(t))this.tokensMap=(0,kt.Z)(t,((t,e)=>(t[e.name]=e,t)),{});else if((0,o.Z)(t,"modes")&&ot((0,H.Z)((0,i.Z)(t.modes)),Ee)){const e=(0,H.Z)((0,i.Z)(t.modes)),n=j(e);this.tokensMap=(0,kt.Z)(n,((t,e)=>(t[e.name]=e,t)),{})}else{if(!(0,hr.Z)(t))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=(0,l.Z)(t)}this.tokensMap.EOF=ze;const n=(0,o.Z)(t,"modes")?(0,H.Z)((0,i.Z)(t.modes)):(0,i.Z)(t),r=ot(n,(t=>(0,a.Z)(t.categoryMatches)));this.tokenMatcher=r?ve:ye,we((0,i.Z)(this.tokensMap))}defineRule(t,e,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${t}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const r=(0,o.Z)(n,"resyncEnabled")?n.resyncEnabled:kr.resyncEnabled,i=(0,o.Z)(n,"recoveryValueFunc")?n.recoveryValueFunc:kr.recoveryValueFunc,a=this.ruleShortNameIdx<<12;let s;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=t,this.fullRuleNameToShort[t]=a,s=!0===this.outputCst?function(...n){try{this.ruleInvocationStateUpdate(a,t,this.subruleIdx),e.apply(this,n);const r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}catch(t){return this.invokeRuleCatch(t,r,i)}finally{this.ruleFinallyStateUpdate()}}:function(...n){try{return this.ruleInvocationStateUpdate(a,t,this.subruleIdx),e.apply(this,n)}catch(t){return this.invokeRuleCatch(t,r,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(s,{ruleName:t,originalGrammarAction:e})}invokeRuleCatch(t,e,n){const r=1===this.RULE_STACK.length,i=e&&!this.isBackTracking()&&this.recoveryEnabled;if(Zn(t)){const e=t;if(i){const r=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(r)){if(e.resyncedTokens=this.reSyncTo(r),this.outputCst){const t=this.CST_STACK[this.CST_STACK.length-1];return t.recoveredNode=!0,t}return n(t)}if(this.outputCst){const t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(r)return this.moveToTerminatedState(),n(t);throw e}throw t}optionInternal(t,e){const n=this.getKeyForAutomaticLookahead(512,e);return this.optionInternalLogic(t,e,n)}optionInternalLogic(t,e,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof t){r=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else r=t;if(!0===i.call(this))return r.call(this)}atLeastOneInternal(t,e){const n=this.getKeyForAutomaticLookahead(Qn,t);return this.atLeastOneInternalLogic(t,e,n)}atLeastOneInternalLogic(t,e,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof e){r=e.DEF;const t=e.GATE;if(void 0!==t){const e=i;i=()=>t.call(this)&&e.call(this)}}else r=e;if(!0!==i.call(this))throw this.raiseEarlyExitException(t,fn.REPETITION_MANDATORY,e.ERR_MSG);{let t=this.doSingleRepetition(r);for(;!0===i.call(this)&&!0===t;)t=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[t,e],i,Qn,t,hn)}atLeastOneSepFirstInternal(t,e){const n=this.getKeyForAutomaticLookahead(tr,t);this.atLeastOneSepFirstInternalLogic(t,e,n)}atLeastOneSepFirstInternalLogic(t,e,n){const r=e.DEF,i=e.SEP;if(!0!==this.getLaFuncFromCache(n).call(this))throw this.raiseEarlyExitException(t,fn.REPETITION_MANDATORY_WITH_SEPARATOR,e.ERR_MSG);{r.call(this);const e=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[t,i,e,r,un],e,tr,t,un)}}manyInternal(t,e){const n=this.getKeyForAutomaticLookahead(768,t);return this.manyInternalLogic(t,e,n)}manyInternalLogic(t,e,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof e){r=e.DEF;const t=e.GATE;if(void 0!==t){const e=i;i=()=>t.call(this)&&e.call(this)}}else r=e;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[t,e],i,768,t,ln,a)}manySepFirstInternal(t,e){const n=this.getKeyForAutomaticLookahead(Jn,t);this.manySepFirstInternalLogic(t,e,n)}manySepFirstInternalLogic(t,e,n){const r=e.DEF,i=e.SEP;if(!0===this.getLaFuncFromCache(n).call(this)){r.call(this);const e=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[t,i,e,r,cn],e,Jn,t,cn)}}repetitionSepSecondInternal(t,e,n,r,i){for(;n();)this.CONSUME(e),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[t,e,n,r,i],n,tr,t,i)}doSingleRepetition(t){const e=this.getLexerPosition();return t.call(this),this.getLexerPosition()>e}orInternal(t,e){const n=this.getKeyForAutomaticLookahead(256,e),r=(0,J.Z)(t)?t:t.DEF,i=this.getLaFuncFromCache(n).call(this,r);if(void 0!==i)return r[i].ALT.call(this);this.raiseNoAltException(e,t.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){const t=this.LA(1),e=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:t,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Vn(e,t))}}subruleInternal(t,e,n){let r;try{const i=void 0!==n?n.ARGS:void 0;return this.subruleIdx=e,r=t.apply(this,i),this.cstPostNonTerminal(r,void 0!==n&&void 0!==n.LABEL?n.LABEL:t.ruleName),r}catch(e){throw this.subruleInternalError(e,n,t.ruleName)}}subruleInternalError(t,e,n){throw Zn(t)&&void 0!==t.partialCstResult&&(this.cstPostNonTerminal(t.partialCstResult,void 0!==e&&void 0!==e.LABEL?e.LABEL:n),delete t.partialCstResult),t}consumeInternal(t,e,n){let r;try{const e=this.LA(1);!0===this.tokenMatcher(e,t)?(this.consumeToken(),r=e):this.consumeInternalError(t,e,n)}catch(n){r=this.consumeInternalRecovery(t,e,n)}return this.cstPostTerminal(void 0!==n&&void 0!==n.LABEL?n.LABEL:t.name,r),r}consumeInternalError(t,e,n){let r;const i=this.LA(0);throw r=void 0!==n&&n.ERR_MSG?n.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:t,actual:e,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Un(r,e,i))}consumeInternalRecovery(t,e,n){if(!this.recoveryEnabled||"MismatchedTokenException"!==n.name||this.isBackTracking())throw n;{const r=this.getFollowsForInRuleRecovery(t,e);try{return this.tryInRuleRecovery(t,r)}catch(t){throw t.name===Hn?n:t}}}saveRecogState(){const t=this.errors,e=(0,l.Z)(this.RULE_STACK);return{errors:t,lexerState:this.exportLexerState(),RULE_STACK:e,CST_STACK:this.CST_STACK}}reloadRecogState(t){this.errors=t.errors,this.importLexerState(t.lexerState),this.RULE_STACK=t.RULE_STACK}ruleInvocationStateUpdate(t,e,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(t),this.cstInvocationStateUpdate(e)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){const t=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[t]}shortRuleNameToFullName(t){return this.shortRuleNameToFull[t]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ze)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(t){return t.call(this)}consume(t,e,n){return this.consumeInternal(e,t,n)}subrule(t,e,n){return this.subruleInternal(e,t,n)}option(t,e){return this.optionInternal(e,t)}or(t,e){return this.orInternal(e,t)}many(t,e){return this.manyInternal(t,e)}atLeastOne(t,e){return this.atLeastOneInternal(t,e)}CONSUME(t,e){return this.consumeInternal(t,0,e)}CONSUME1(t,e){return this.consumeInternal(t,1,e)}CONSUME2(t,e){return this.consumeInternal(t,2,e)}CONSUME3(t,e){return this.consumeInternal(t,3,e)}CONSUME4(t,e){return this.consumeInternal(t,4,e)}CONSUME5(t,e){return this.consumeInternal(t,5,e)}CONSUME6(t,e){return this.consumeInternal(t,6,e)}CONSUME7(t,e){return this.consumeInternal(t,7,e)}CONSUME8(t,e){return this.consumeInternal(t,8,e)}CONSUME9(t,e){return this.consumeInternal(t,9,e)}SUBRULE(t,e){return this.subruleInternal(t,0,e)}SUBRULE1(t,e){return this.subruleInternal(t,1,e)}SUBRULE2(t,e){return this.subruleInternal(t,2,e)}SUBRULE3(t,e){return this.subruleInternal(t,3,e)}SUBRULE4(t,e){return this.subruleInternal(t,4,e)}SUBRULE5(t,e){return this.subruleInternal(t,5,e)}SUBRULE6(t,e){return this.subruleInternal(t,6,e)}SUBRULE7(t,e){return this.subruleInternal(t,7,e)}SUBRULE8(t,e){return this.subruleInternal(t,8,e)}SUBRULE9(t,e){return this.subruleInternal(t,9,e)}OPTION(t){return this.optionInternal(t,0)}OPTION1(t){return this.optionInternal(t,1)}OPTION2(t){return this.optionInternal(t,2)}OPTION3(t){return this.optionInternal(t,3)}OPTION4(t){return this.optionInternal(t,4)}OPTION5(t){return this.optionInternal(t,5)}OPTION6(t){return this.optionInternal(t,6)}OPTION7(t){return this.optionInternal(t,7)}OPTION8(t){return this.optionInternal(t,8)}OPTION9(t){return this.optionInternal(t,9)}OR(t){return this.orInternal(t,0)}OR1(t){return this.orInternal(t,1)}OR2(t){return this.orInternal(t,2)}OR3(t){return this.orInternal(t,3)}OR4(t){return this.orInternal(t,4)}OR5(t){return this.orInternal(t,5)}OR6(t){return this.orInternal(t,6)}OR7(t){return this.orInternal(t,7)}OR8(t){return this.orInternal(t,8)}OR9(t){return this.orInternal(t,9)}MANY(t){this.manyInternal(0,t)}MANY1(t){this.manyInternal(1,t)}MANY2(t){this.manyInternal(2,t)}MANY3(t){this.manyInternal(3,t)}MANY4(t){this.manyInternal(4,t)}MANY5(t){this.manyInternal(5,t)}MANY6(t){this.manyInternal(6,t)}MANY7(t){this.manyInternal(7,t)}MANY8(t){this.manyInternal(8,t)}MANY9(t){this.manyInternal(9,t)}MANY_SEP(t){this.manySepFirstInternal(0,t)}MANY_SEP1(t){this.manySepFirstInternal(1,t)}MANY_SEP2(t){this.manySepFirstInternal(2,t)}MANY_SEP3(t){this.manySepFirstInternal(3,t)}MANY_SEP4(t){this.manySepFirstInternal(4,t)}MANY_SEP5(t){this.manySepFirstInternal(5,t)}MANY_SEP6(t){this.manySepFirstInternal(6,t)}MANY_SEP7(t){this.manySepFirstInternal(7,t)}MANY_SEP8(t){this.manySepFirstInternal(8,t)}MANY_SEP9(t){this.manySepFirstInternal(9,t)}AT_LEAST_ONE(t){this.atLeastOneInternal(0,t)}AT_LEAST_ONE1(t){return this.atLeastOneInternal(1,t)}AT_LEAST_ONE2(t){this.atLeastOneInternal(2,t)}AT_LEAST_ONE3(t){this.atLeastOneInternal(3,t)}AT_LEAST_ONE4(t){this.atLeastOneInternal(4,t)}AT_LEAST_ONE5(t){this.atLeastOneInternal(5,t)}AT_LEAST_ONE6(t){this.atLeastOneInternal(6,t)}AT_LEAST_ONE7(t){this.atLeastOneInternal(7,t)}AT_LEAST_ONE8(t){this.atLeastOneInternal(8,t)}AT_LEAST_ONE9(t){this.atLeastOneInternal(9,t)}AT_LEAST_ONE_SEP(t){this.atLeastOneSepFirstInternal(0,t)}AT_LEAST_ONE_SEP1(t){this.atLeastOneSepFirstInternal(1,t)}AT_LEAST_ONE_SEP2(t){this.atLeastOneSepFirstInternal(2,t)}AT_LEAST_ONE_SEP3(t){this.atLeastOneSepFirstInternal(3,t)}AT_LEAST_ONE_SEP4(t){this.atLeastOneSepFirstInternal(4,t)}AT_LEAST_ONE_SEP5(t){this.atLeastOneSepFirstInternal(5,t)}AT_LEAST_ONE_SEP6(t){this.atLeastOneSepFirstInternal(6,t)}AT_LEAST_ONE_SEP7(t){this.atLeastOneSepFirstInternal(7,t)}AT_LEAST_ONE_SEP8(t){this.atLeastOneSepFirstInternal(8,t)}AT_LEAST_ONE_SEP9(t){this.atLeastOneSepFirstInternal(9,t)}RULE(t,e,n=kr){if(it(this.definedRulesNames,t)){const e={message:Ve.buildDuplicateRuleNameError({topLevelRule:t,grammarName:this.className}),type:Tr.DUPLICATE_RULE_NAME,ruleName:t};this.definitionErrors.push(e)}this.definedRulesNames.push(t);const r=this.defineRule(t,e,n);return this[t]=r,r}OVERRIDE_RULE(t,e,n=kr){const r=function(t,e,n){const r=[];let i;return it(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:Tr.INVALID_RULE_OVERRIDE,ruleName:t})),r}(t,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);const i=this.defineRule(t,e,n);return this[t]=i,i}BACKTRACK(t,e){return function(){this.isBackTrackingStack.push(1);const n=this.saveRecogState();try{return t.apply(this,e),!0}catch(t){if(Zn(t))return!1;throw t}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return t=(0,i.Z)(this.gastProductionsCache),(0,s.Z)(t,U);var t}},class{initErrorHandler(t){this._errors=[],this.errorMessageProvider=(0,o.Z)(t,"errorMessageProvider")?t.errorMessageProvider:wr.errorMessageProvider}SAVE_ERROR(t){if(Zn(t))return t.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,l.Z)(this.RULE_OCCURRENCE_STACK)},this._errors.push(t),t;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return(0,l.Z)(this._errors)}set errors(t){this._errors=t}raiseEarlyExitException(t,e,n){const r=this.getCurrRuleFullName(),i=Cn(t,this.getGAstProductions()[r],e,this.maxLookahead)[0],a=[];for(let t=1;t<=this.maxLookahead;t++)a.push(this.LA(t));const s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:n,ruleName:r});throw this.SAVE_ERROR(new qn(s,this.LA(1),this.LA(0)))}raiseNoAltException(t,e){const n=this.getCurrRuleFullName(),r=Sn(t,this.getGAstProductions()[n],this.maxLookahead),i=[];for(let t=1;t<=this.maxLookahead;t++)i.push(this.LA(t));const a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:r,actual:i,previous:a,customUserDescription:e,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Gn(s,this.LA(1),a))}},class{initContentAssist(){}computeContentAssist(t,e){const n=this.gastProductionsCache[t];if((0,pt.Z)(n))throw Error(`Rule ->${t}<- does not exist in this grammar.`);return pn([n],e,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(t){const e=Dt(t.ruleStack),n=this.getGAstProductions()[e];return new sn(n,t).startWalking()}},class{initGastRecorder(t){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",(()=>{for(let t=0;t<10;t++){const e=t>0?t:"";this[`CONSUME${e}`]=function(e,n){return this.consumeInternalRecord(e,t,n)},this[`SUBRULE${e}`]=function(e,n){return this.subruleInternalRecord(e,t,n)},this[`OPTION${e}`]=function(e){return this.optionInternalRecord(e,t)},this[`OR${e}`]=function(e){return this.orInternalRecord(e,t)},this[`MANY${e}`]=function(e){this.manyInternalRecord(t,e)},this[`MANY_SEP${e}`]=function(e){this.manySepFirstInternalRecord(t,e)},this[`AT_LEAST_ONE${e}`]=function(e){this.atLeastOneInternalRecord(t,e)},this[`AT_LEAST_ONE_SEP${e}`]=function(e){this.atLeastOneSepFirstInternalRecord(t,e)}}this.consume=function(t,e,n){return this.consumeInternalRecord(e,t,n)},this.subrule=function(t,e,n){return this.subruleInternalRecord(e,t,n)},this.option=function(t,e){return this.optionInternalRecord(e,t)},this.or=function(t,e){return this.orInternalRecord(e,t)},this.many=function(t,e){this.manyInternalRecord(t,e)},this.atLeastOne=function(t,e){this.atLeastOneInternalRecord(t,e)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD}))}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",(()=>{const t=this;for(let e=0;e<10;e++){const n=e>0?e:"";delete t[`CONSUME${n}`],delete t[`SUBRULE${n}`],delete t[`OPTION${n}`],delete t[`OR${n}`],delete t[`MANY${n}`],delete t[`MANY_SEP${n}`],delete t[`AT_LEAST_ONE${n}`],delete t[`AT_LEAST_ONE_SEP${n}`]}delete t.consume,delete t.subrule,delete t.option,delete t.or,delete t.many,delete t.atLeastOne,delete t.ACTION,delete t.BACKTRACK,delete t.LA}))}ACTION_RECORD(t){}BACKTRACK_RECORD(t,e){return()=>!0}LA_RECORD(t){return br}topLevelRuleRecord(t,e){try{const n=new O({definition:[],name:t});return n.name=t,this.recordingProdStack.push(n),e.call(this),this.recordingProdStack.pop(),n}catch(t){if(!0!==t.KNOWN_RECORDER_ERROR)try{t.message=t.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){throw t}throw t}}optionInternalRecord(t,e){return mr.call(this,$,t,e)}atLeastOneInternalRecord(t,e){mr.call(this,B,e,t)}atLeastOneSepFirstInternalRecord(t,e){mr.call(this,F,e,t,!0)}manyInternalRecord(t,e){mr.call(this,W,e,t)}manySepFirstInternalRecord(t,e){mr.call(this,z,e,t,!0)}orInternalRecord(t,e){return yr.call(this,t,e)}subruleInternalRecord(t,e,n){if(xr(e),!t||!1===(0,o.Z)(t,"ruleName")){const n=new Error(`<SUBRULE${vr(e)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(t)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}const r=(0,fe.Z)(this.recordingProdStack),i=t.ruleName,a=new D({idx:e,nonTerminalName:i,label:null==n?void 0:n.LABEL,referencedRule:void 0});return r.definition.push(a),this.outputCst?fr:ur}consumeInternalRecord(t,e,n){if(xr(e),!Te(t)){const n=new Error(`<CONSUME${vr(e)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(t)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}const r=(0,fe.Z)(this.recordingProdStack),i=new Y({idx:e,terminalType:t,label:null==n?void 0:n.LABEL});return r.definition.push(i),gr}},class{initPerformanceTracer(t){if((0,o.Z)(t,"traceInitPerf")){const e=t.traceInitPerf,n="number"==typeof e;this.traceInitMaxIdent=n?e:1/0,this.traceInitPerf=n?e>0:e}else this.traceInitMaxIdent=0,this.traceInitPerf=wr.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(t,e){if(!0===this.traceInitPerf){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--\x3e <${t}>`);const{time:r,value:i}=me(e),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${t}> time: ${r}ms`),this.traceInitIndent--,i}return e()}}].forEach((t=>{const e=t.prototype;Object.getOwnPropertyNames(e).forEach((n=>{if("constructor"===n)return;const r=Object.getOwnPropertyDescriptor(e,n);r&&(r.get||r.set)?Object.defineProperty(_r.prototype,n,r):_r.prototype[n]=t.prototype[n]}))}));class Cr extends Sr{constructor(t,e=wr){const n=(0,l.Z)(e);n.outputCst=!1,super(t,n)}}},1387:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,h(r.key),r)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=d(t))||e){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){o=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function o(t,e,n){return(e=h(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,s,o=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(o.push(r.value),o.length!==e);l=!0);}catch(t){c=!0,i=t}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(t,e)||d(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||d(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function d(t,e){if(t){if("string"==typeof t)return r(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}n.d(e,{Z:()=>Ju});var p="undefined"==typeof window?null:window,g=p?p.navigator:null;p&&p.document;var f,m,y,v,x,b,w,k,T,_,E,S,C,A,L,M,N,I,R,D,O,P,$,B,F,W,z,Z,Y=u(""),U=u({}),G=u((function(){})),V="undefined"==typeof HTMLElement?"undefined":u(HTMLElement),q=function(t){return t&&t.instanceString&&H(t.instanceString)?t.instanceString():null},j=function(t){return null!=t&&u(t)==Y},H=function(t){return null!=t&&u(t)===G},X=function(t){return!tt(t)&&(Array.isArray?Array.isArray(t):null!=t&&t instanceof Array)},K=function(t){return null!=t&&u(t)===U&&!X(t)&&t.constructor===Object},Q=function(t){return null!=t&&u(t)===u(1)&&!isNaN(t)},J=function(t){return"undefined"===V?void 0:null!=t&&t instanceof HTMLElement},tt=function(t){return et(t)||nt(t)},et=function(t){return"collection"===q(t)&&t._private.single},nt=function(t){return"collection"===q(t)&&!t._private.single},rt=function(t){return"core"===q(t)},it=function(t){return"stylesheet"===q(t)},at=function(t){return null==t||!(""!==t&&!t.match(/^\s+$/))},st=function(t){return function(t){return null!=t&&u(t)===U}(t)&&H(t.then)},ot=function(t,e){e||(e=function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var t=[],e=0;e<arguments.length;e++)t.push(arguments[e]);return t.join("$")});var n=function(){var r,i=arguments,a=e.apply(this,i),s=n.cache;return(r=s[a])||(r=s[a]=t.apply(this,i)),r};return n.cache={},n},lt=ot((function(t){return t.replace(/([A-Z])/g,(function(t){return"-"+t.toLowerCase()}))})),ct=ot((function(t){return t.replace(/(-\w)/g,(function(t){return t[1].toUpperCase()}))})),ht=ot((function(t,e){return t+e[0].toUpperCase()+e.substring(1)}),(function(t,e){return t+"$"+e})),ut=function(t){return at(t)?t:t.charAt(0).toUpperCase()+t.substring(1)},dt="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",pt="rgb[a]?\\(("+dt+"[%]?)\\s*,\\s*("+dt+"[%]?)\\s*,\\s*("+dt+"[%]?)(?:\\s*,\\s*("+dt+"))?\\)",gt="rgb[a]?\\((?:"+dt+"[%]?)\\s*,\\s*(?:"+dt+"[%]?)\\s*,\\s*(?:"+dt+"[%]?)(?:\\s*,\\s*(?:"+dt+"))?\\)",ft="hsl[a]?\\(("+dt+")\\s*,\\s*("+dt+"[%])\\s*,\\s*("+dt+"[%])(?:\\s*,\\s*("+dt+"))?\\)",mt="hsl[a]?\\((?:"+dt+")\\s*,\\s*(?:"+dt+"[%])\\s*,\\s*(?:"+dt+"[%])(?:\\s*,\\s*(?:"+dt+"))?\\)",yt=function(t,e){return t<e?-1:t>e?1:0},vt=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n<e.length;n++){var r=e[n];if(null!=r)for(var i=Object.keys(r),a=0;a<i.length;a++){var s=i[a];t[s]=r[s]}}return t},xt=function(t){return(X(t)?t:null)||function(t){return bt[t.toLowerCase()]}(t)||function(t){if((4===t.length||7===t.length)&&"#"===t[0]){var e,n,r,i=16;return 4===t.length?(e=parseInt(t[1]+t[1],i),n=parseInt(t[2]+t[2],i),r=parseInt(t[3]+t[3],i)):(e=parseInt(t[1]+t[2],i),n=parseInt(t[3]+t[4],i),r=parseInt(t[5]+t[6],i)),[e,n,r]}}(t)||function(t){var e,n=new RegExp("^"+pt+"$").exec(t);if(n){e=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;e.push(Math.floor(a))}var s=r[1]||r[2]||r[3],o=r[1]&&r[2]&&r[3];if(s&&!o)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;e.push(l)}}return e}(t)||function(t){var e,n,r,i,a,s,o,l;function c(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var h=new RegExp("^"+ft+"$").exec(t);if(h){if((n=parseInt(h[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(h[2]))<0||r>100)return;if(r/=100,(i=parseFloat(h[3]))<0||i>100)return;if(i/=100,void 0!==(a=h[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)s=o=l=Math.round(255*i);else{var u=i<.5?i*(1+r):i+r-i*r,d=2*i-u;s=Math.round(255*c(d,u,n+1/3)),o=Math.round(255*c(d,u,n)),l=Math.round(255*c(d,u,n-1/3))}e=[s,o,l,a]}return e}(t)},bt={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},wt=function(t){for(var e=t.map,n=t.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(K(a))throw Error("Tried to set map with object key");i<n.length-1?(null==e[a]&&(e[a]={}),e=e[a]):e[a]=t.value}},kt=function(t){for(var e=t.map,n=t.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(K(a))throw Error("Tried to get map with object key");if(null==(e=e[a]))return e}return e},Tt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function _t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Et(){return m?f:(m=1,f=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)})}function St(){if(b)return x;b=1;var t=function(){if(v)return y;v=1;var t="object"==typeof Tt&&Tt&&Tt.Object===Object&&Tt;return y=t}(),e="object"==typeof self&&self&&self.Object===Object&&self,n=t||e||Function("return this")();return x=n}function Ct(){if(A)return C;A=1;var t=St().Symbol;return C=t}function At(){if(D)return R;D=1;var t=Ct(),e=function(){if(M)return L;M=1;var t=Ct(),e=Object.prototype,n=e.hasOwnProperty,r=e.toString,i=t?t.toStringTag:void 0;return L=function(t){var e=n.call(t,i),a=t[i];try{t[i]=void 0;var s=!0}catch(t){}var o=r.call(t);return s&&(e?t[i]=a:delete t[i]),o}}(),n=function(){if(I)return N;I=1;var t=Object.prototype.toString;return N=function(e){return t.call(e)}}(),r=t?t.toStringTag:void 0;return R=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":r&&r in Object(t)?e(t):n(t)}}function Lt(){if(B)return $;B=1;var t=At(),e=P?O:(P=1,O=function(t){return null!=t&&"object"==typeof t});return $=function(n){return"symbol"==typeof n||e(n)&&"[object Symbol]"==t(n)}}var Mt=_t(function(){if(Z)return z;Z=1;var t=Et(),e=function(){if(k)return w;k=1;var t=St();return w=function(){return t.Date.now()}}(),n=function(){if(W)return F;W=1;var t=function(){if(S)return E;S=1;var t=function(){if(_)return T;_=1;var t=/\s/;return T=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n},T}(),e=/^\s+/;return E=function(n){return n?n.slice(0,t(n)+1).replace(e,""):n},E}(),e=Et(),n=Lt(),r=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt;return F=function(o){if("number"==typeof o)return o;if(n(o))return NaN;if(e(o)){var l="function"==typeof o.valueOf?o.valueOf():o;o=e(l)?l+"":l}if("string"!=typeof o)return 0===o?o:+o;o=t(o);var c=i.test(o);return c||a.test(o)?s(o.slice(2),c?2:8):r.test(o)?NaN:+o}}(),r=Math.max,i=Math.min;return z=function(a,s,o){var l,c,h,u,d,p,g=0,f=!1,m=!1,y=!0;if("function"!=typeof a)throw new TypeError("Expected a function");function v(t){var e=l,n=c;return l=c=void 0,g=t,u=a.apply(n,e)}function x(t){var e=t-p;return void 0===p||e>=s||e<0||m&&t-g>=h}function b(){var t=e();if(x(t))return w(t);d=setTimeout(b,function(t){var e=s-(t-p);return m?i(e,h-(t-g)):e}(t))}function w(t){return d=void 0,y&&l?v(t):(l=c=void 0,u)}function k(){var t=e(),n=x(t);if(l=arguments,c=this,p=t,n){if(void 0===d)return function(t){return g=t,d=setTimeout(b,s),f?v(t):u}(p);if(m)return clearTimeout(d),d=setTimeout(b,s),v(p)}return void 0===d&&(d=setTimeout(b,s)),u}return s=n(s)||0,t(o)&&(f=!!o.leading,h=(m="maxWait"in o)?r(n(o.maxWait)||0,s):h,y="trailing"in o?!!o.trailing:y),k.cancel=function(){void 0!==d&&clearTimeout(d),g=0,l=p=c=d=void 0},k.flush=function(){return void 0===d?u:w(e())},k}}()),Nt=p?p.performance:null,It=Nt&&Nt.now?function(){return Nt.now()}:function(){return Date.now()},Rt=function(){if(p){if(p.requestAnimationFrame)return function(t){p.requestAnimationFrame(t)};if(p.mozRequestAnimationFrame)return function(t){p.mozRequestAnimationFrame(t)};if(p.webkitRequestAnimationFrame)return function(t){p.webkitRequestAnimationFrame(t)};if(p.msRequestAnimationFrame)return function(t){p.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout((function(){t(It())}),1e3/60)}}(),Dt=function(t){return Rt(t)},Ot=It,Pt=9261,$t=5381,Bt=function(t){for(var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pt;!(e=t.next()).done;)n=65599*n+e.value|0;return n},Ft=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pt)+t|0},Wt=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$t;return(e<<5)+e+t|0},zt=function(t){return 2097152*t[0]+t[1]},Zt=function(t,e){return[Ft(t[0],e[0]),Wt(t[1],e[1])]},Yt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return Bt({next:function(){return r<i?n.value=t[r++]:n.done=!0,n}},e)},Ut=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return Bt({next:function(){return r<i?n.value=t.charCodeAt(r++):n.done=!0,n}},e)},Gt=function(){return Vt(arguments)},Vt=function(t){for(var e,n=0;n<t.length;n++){var r=t[n];e=0===n?Ut(r):Ut(r,e)}return e},qt=!0,jt=null!=console.warn,Ht=null!=console.trace,Xt=Number.MAX_SAFE_INTEGER||9007199254740991,Kt=function(){return!0},Qt=function(){return!1},Jt=function(){return 0},te=function(){},ee=function(t){throw new Error(t)},ne=function(t){if(void 0===t)return qt;qt=!!t},re=function(t){ne()&&(jt?console.warn(t):(console.log(t),Ht&&console.trace()))},ie=function(t){return null==t?t:X(t)?t.slice():K(t)?function(t){return vt({},t)}(t):t},ae=function(t,e){for(e=t="";t++<36;e+=51*t&52?(15^t?8^Math.random()*(20^t?16:4):4).toString(16):"-");return e},se={},oe=function(){return se},le=function(t){var e=Object.keys(t);return function(n){for(var r={},i=0;i<e.length;i++){var a=e[i],s=null==n?void 0:n[a];r[a]=void 0===s?t[a]:s}return r}},ce=function(t,e,n){for(var r=t.length-1;r>=0;r--)t[r]===e&&t.splice(r,1)},he=function(t){t.splice(0,t.length)},ue=function(t,e,n){return n&&(e=ht(n,e)),t[e]},de=function(t,e,n,r){n&&(e=ht(n,e)),t[e]=r},pe="undefined"!=typeof Map?Map:function(){return a((function t(){i(this,t),this._obj={}}),[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}])}(),ge=function(){return a((function t(e){if(i(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r<n.length;r++)this.add(n[r])}}),[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(t){var e=this._obj;1!==e[t]&&(e[t]=1,this.size++)}},{key:"delete",value:function(t){var e=this._obj;1===e[t]&&(e[t]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(t){return 1===this._obj[t]}},{key:"toArray",value:function(){var t=this;return Object.keys(this._obj).filter((function(e){return t.has(e)}))}},{key:"forEach",value:function(t,e){return this.toArray().forEach(t,e)}}])}(),fe="undefined"!==("undefined"==typeof Set?"undefined":u(Set))?Set:ge,me=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&rt(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new fe,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var a=e.renderedPosition,s=t.pan(),o=t.zoom();i.position={x:(a.x-s.x)/o,y:(a.y-s.y)/o}}var l=[];X(e.classes)?l=e.classes:j(e.classes)&&(l=e.classes.split(/\s+/));for(var c=0,h=l.length;c<h;c++){var u=l[c];u&&""!==u&&i.classes.add(u)}this.createEmitter(),(void 0===n||n)&&this.restore();var d=e.style||e.css;d&&(re("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(d))}else ee("An element must be of type `nodes` or `edges`; you specified `"+r+"`")}else ee("An element must have a core reference and parameters set")},ye=function(t){return t={bfs:t.bfs||!t.dfs,dfs:t.dfs||!t.bfs},function(e,n,r){var i;K(e)&&!tt(e)&&(e=(i=e).roots||i.root,n=i.visit,r=i.directed),r=2!==arguments.length||H(n)?r:n,n=H(n)?n:function(){};for(var a,s=this._private.cy,o=e=j(e)?this.filter(e):e,l=[],c=[],h={},u={},d={},p=0,g=this.byGroup(),f=g.nodes,m=g.edges,y=0;y<o.length;y++){var v=o[y],x=v.id();v.isNode()&&(l.unshift(v),t.bfs&&(d[x]=!0,c.push(v)),u[x]=0)}for(var b,w=function(){var e=t.bfs?l.shift():l.pop(),i=e.id();if(t.dfs){if(d[i])return 0;d[i]=!0,c.push(e)}var s,o=u[i],g=h[i],y=null!=g?g.source():null,v=null!=g?g.target():null,x=null==g?void 0:e.same(y)?v[0]:y[0];if(!0===(s=n(e,g,x,p++,o)))return a=e,1;if(!1===s)return 1;for(var b=e.connectedEdges().filter((function(t){return(!r||t.source().same(e))&&m.has(t)})),w=0;w<b.length;w++){var k=b[w],T=k.connectedNodes().filter((function(t){return!t.same(e)&&f.has(t)})),_=T.id();0===T.length||d[_]||(T=T[0],l.push(T),t.bfs&&(d[_]=!0,c.push(T)),h[_]=k,u[_]=u[i]+1)}};0!==l.length&&(0===(b=w())||1!==b););for(var k=s.collection(),T=0;T<c.length;T++){var _=c[T],E=h[_.id()];null!=E&&k.push(E),k.push(_)}return{path:s.collection(k),found:s.collection(a)}}},ve={breadthFirstSearch:ye({bfs:!0}),depthFirstSearch:ye({dfs:!0})};ve.bfs=ve.breadthFirstSearch,ve.dfs=ve.depthFirstSearch;var xe,be,we,ke={exports:{}},Te=ke.exports;var _e=_t(we?be:(we=1,xe||(xe=1,function(t,e){(function(){var e,n,r,i,a,s,o,l,c,h,u,d,p,g,f;r=Math.floor,h=Math.min,n=function(t,e){return t<e?-1:t>e?1:0},c=function(t,e,i,a,s){var o;if(null==i&&(i=0),null==s&&(s=n),i<0)throw new Error("lo must be non-negative");for(null==a&&(a=t.length);i<a;)s(e,t[o=r((i+a)/2)])<0?a=o:i=o+1;return[].splice.apply(t,[i,i-i].concat(e)),e},s=function(t,e,r){return null==r&&(r=n),t.push(e),g(t,0,t.length-1,r)},a=function(t,e){var r,i;return null==e&&(e=n),r=t.pop(),t.length?(i=t[0],t[0]=r,f(t,0,e)):i=r,i},l=function(t,e,r){var i;return null==r&&(r=n),i=t[0],t[0]=e,f(t,0,r),i},o=function(t,e,r){var i;return null==r&&(r=n),t.length&&r(t[0],e)<0&&(e=(i=[t[0],e])[0],t[0]=i[1],f(t,0,r)),e},i=function(t,e){var i,a,s,o,l,c;for(null==e&&(e=n),l=[],a=0,s=(o=function(){c=[];for(var e=0,n=r(t.length/2);0<=n?e<n:e>n;0<=n?e++:e--)c.push(e);return c}.apply(this).reverse()).length;a<s;a++)i=o[a],l.push(f(t,i,e));return l},p=function(t,e,r){var i;if(null==r&&(r=n),-1!==(i=t.indexOf(e)))return g(t,0,i,r),f(t,i,r)},u=function(t,e,r){var a,s,l,c,h;if(null==r&&(r=n),!(s=t.slice(0,e)).length)return s;for(i(s,r),l=0,c=(h=t.slice(e)).length;l<c;l++)a=h[l],o(s,a,r);return s.sort(r).reverse()},d=function(t,e,r){var s,o,l,u,d,p,g,f,m;if(null==r&&(r=n),10*e<=t.length){if(!(l=t.slice(0,e).sort(r)).length)return l;for(o=l[l.length-1],u=0,p=(g=t.slice(e)).length;u<p;u++)r(s=g[u],o)<0&&(c(l,s,0,null,r),l.pop(),o=l[l.length-1]);return l}for(i(t,r),m=[],d=0,f=h(e,t.length);0<=f?d<f:d>f;0<=f?++d:--d)m.push(a(t,r));return m},g=function(t,e,r,i){var a,s,o;for(null==i&&(i=n),a=t[r];r>e&&i(a,s=t[o=r-1>>1])<0;)t[r]=s,r=o;return t[r]=a},f=function(t,e,r){var i,a,s,o,l;for(null==r&&(r=n),a=t.length,l=e,s=t[e],i=2*e+1;i<a;)(o=i+1)<a&&!(r(t[i],t[o])<0)&&(i=o),t[e]=t[i],i=2*(e=i)+1;return t[e]=s,g(t,l,e,r)},e=function(){function t(t){this.cmp=null!=t?t:n,this.nodes=[]}return t.push=s,t.pop=a,t.replace=l,t.pushpop=o,t.heapify=i,t.updateItem=p,t.nlargest=u,t.nsmallest=d,t.prototype.push=function(t){return s(this.nodes,t,this.cmp)},t.prototype.pop=function(){return a(this.nodes,this.cmp)},t.prototype.peek=function(){return this.nodes[0]},t.prototype.contains=function(t){return-1!==this.nodes.indexOf(t)},t.prototype.replace=function(t){return l(this.nodes,t,this.cmp)},t.prototype.pushpop=function(t){return o(this.nodes,t,this.cmp)},t.prototype.heapify=function(){return i(this.nodes,this.cmp)},t.prototype.updateItem=function(t){return p(this.nodes,t,this.cmp)},t.prototype.clear=function(){return this.nodes=[]},t.prototype.empty=function(){return 0===this.nodes.length},t.prototype.size=function(){return this.nodes.length},t.prototype.clone=function(){var e;return(e=new t).nodes=this.nodes.slice(0),e},t.prototype.toArray=function(){return this.nodes.slice(0)},t.prototype.insert=t.prototype.push,t.prototype.top=t.prototype.peek,t.prototype.front=t.prototype.peek,t.prototype.has=t.prototype.contains,t.prototype.copy=t.prototype.clone,t}(),t.exports=e}).call(Te)}(ke)),be=ke.exports)),Ee=le({root:null,weight:function(t){return 1},directed:!1}),Se={dijkstra:function(t){if(!K(t)){var e=arguments;t={root:e[0],weight:e[1],directed:e[2]}}var n=Ee(t),r=n.root,i=n.weight,a=n.directed,s=this,o=i,l=j(r)?this.filter(r)[0]:r[0],c={},h={},u={},d=this.byGroup(),p=d.nodes,g=d.edges;g.unmergeBy((function(t){return t.isLoop()}));for(var f=function(t){return c[t.id()]},m=function(t,e){c[t.id()]=e,y.updateItem(t)},y=new _e((function(t,e){return f(t)-f(e)})),v=0;v<p.length;v++){var x=p[v];c[x.id()]=x.same(l)?0:1/0,y.push(x)}for(var b=function(t,e){for(var n,r=(a?t.edgesTo(e):t.edgesWith(e)).intersect(g),i=1/0,s=0;s<r.length;s++){var l=r[s],c=o(l);(c<i||!n)&&(i=c,n=l)}return{edge:n,dist:i}};y.size()>0;){var w=y.pop(),k=f(w),T=w.id();if(u[T]=k,k!==1/0)for(var _=w.neighborhood().intersect(p),E=0;E<_.length;E++){var S=_[E],C=S.id(),A=b(w,S),L=k+A.dist;L<f(S)&&(m(S,L),h[C]={node:w,edge:A.edge})}}return{distanceTo:function(t){var e=j(t)?p.filter(t)[0]:t[0];return u[e.id()]},pathTo:function(t){var e=j(t)?p.filter(t)[0]:t[0],n=[],r=e,i=r.id();if(e.length>0)for(n.unshift(e);h[i];){var a=h[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return s.spawn(n)}}}},Ce={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,a=new Array(i),s=n,o=function(t){for(var e=0;e<a.length;e++)if(a[e].has(t))return e},l=0;l<i;l++)a[l]=this.spawn(n[l]);for(var c=r.sort((function(e,n){return t(e)-t(n)})),h=0;h<c.length;h++){var u=c[h],d=u.source()[0],p=u.target()[0],g=o(d),f=o(p),m=a[g],y=a[f];g!==f&&(s.merge(u),m.merge(y),a.splice(f,1))}return s}},Ae=le({root:null,goal:null,weight:function(t){return 1},heuristic:function(t){return 0},directed:!1}),Le={aStar:function(t){var e=this.cy(),n=Ae(t),r=n.root,i=n.goal,a=n.heuristic,s=n.directed,o=n.weight;r=e.collection(r)[0],i=e.collection(i)[0];var l,c,h=r.id(),u=i.id(),d={},p={},g={},f=new _e((function(t,e){return p[t.id()]-p[e.id()]})),m=new fe,y={},v={},x=function(t,e){f.push(t),m.add(e)};x(r,h),d[h]=0,p[h]=a(r);for(var b,w=0;f.size()>0;){if(c=(l=f.pop()).id(),m.delete(c),w++,c===u){for(var k=[],T=i,_=u,E=v[_];k.unshift(T),null!=E&&k.unshift(E),null!=(T=y[_]);)E=v[_=T.id()];return{found:!0,distance:d[c],path:this.spawn(k),steps:w}}g[c]=!0;for(var S=l._private.edges,C=0;C<S.length;C++){var A=S[C];if(this.hasElementWithId(A.id())&&(!s||A.data("source")===c)){var L=A.source(),M=A.target(),N=L.id()!==c?L:M,I=N.id();if(this.hasElementWithId(I)&&!g[I]){var R=d[c]+o(A);b=I,m.has(b)?R<d[I]&&(d[I]=R,p[I]=R+a(N),y[I]=l,v[I]=A):(d[I]=R,p[I]=R+a(N),x(N,I),y[I]=l,v[I]=A)}}}}return{found:!1,distance:void 0,path:void 0,steps:w}}},Me=le({weight:function(t){return 1},directed:!1}),Ne={floydWarshall:function(t){for(var e=this.cy(),n=Me(t),r=n.weight,i=n.directed,a=r,s=this.byGroup(),o=s.nodes,l=s.edges,c=o.length,h=c*c,u=function(t){return o.indexOf(t)},d=function(t){return o[t]},p=new Array(h),g=0;g<h;g++){var f=g%c,m=(g-f)/c;p[g]=m===f?0:1/0}for(var y=new Array(h),v=new Array(h),x=0;x<l.length;x++){var b=l[x],w=b.source()[0],k=b.target()[0];if(w!==k){var T=u(w),_=u(k),E=T*c+_,S=a(b);if(p[E]>S&&(p[E]=S,y[E]=_,v[E]=b),!i){var C=_*c+T;!i&&p[C]>S&&(p[C]=S,y[C]=T,v[C]=b)}}}for(var A=0;A<c;A++)for(var L=0;L<c;L++)for(var M=L*c+A,N=0;N<c;N++){var I=L*c+N,R=A*c+N;p[M]+p[R]<p[I]&&(p[I]=p[M]+p[R],y[I]=y[M])}var D=function(t){return u(function(t){return(j(t)?e.filter(t):t)[0]}(t))},O={distance:function(t,e){var n=D(t),r=D(e);return p[n*c+r]},path:function(t,n){var r=D(t),i=D(n),a=d(r);if(r===i)return a.collection();if(null==y[r*c+i])return e.collection();var s,o=e.collection(),l=r;for(o.merge(a);r!==i;)l=r,r=y[r*c+i],s=v[l*c+r],o.merge(s),o.merge(d(r));return o}};return O}},Ie=le({weight:function(t){return 1},directed:!1,root:null}),Re={bellmanFord:function(t){var e=this,n=Ie(t),r=n.weight,i=n.directed,a=n.root,s=r,o=this,l=this.cy(),c=this.byGroup(),h=c.edges,u=c.nodes,d=u.length,p=new pe,g=!1,f=[];a=l.collection(a)[0],h.unmergeBy((function(t){return t.isLoop()}));for(var m=h.length,y=function(t){var e=p.get(t.id());return e||(e={},p.set(t.id(),e)),e},v=function(t){return(j(t)?l.$(t):t)[0]},x=0;x<d;x++){var b=u[x],w=y(b);b.same(a)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var k=!1,T=function(t,e,n,r,i,a){var s=r.dist+a;s<i.dist&&!n.same(r.edge)&&(i.dist=s,i.pred=t,i.edge=n,k=!0)},_=1;_<d;_++){k=!1;for(var E=0;E<m;E++){var S=h[E],C=S.source(),A=S.target(),L=s(S),M=y(C),N=y(A);T(C,0,S,M,N,L),i||T(A,0,S,N,M,L)}if(!k)break}if(k)for(var I=[],R=0;R<m;R++){var D=h[R],O=D.source(),P=D.target(),$=s(D),B=y(O).dist,F=y(P).dist;if(B+$<F||!i&&F+$<B){if(g||(re("Graph contains a negative weight cycle for Bellman-Ford"),g=!0),!1===t.findNegativeWeightCycles)break;var W=[];B+$<F&&W.push(O),!i&&F+$<B&&W.push(P);for(var z=W.length,Z=0;Z<z;Z++){var Y=W[Z],U=[Y];U.push(y(Y).edge);for(var G=y(Y).pred;-1===U.indexOf(G);)U.push(G),U.push(y(G).edge),G=y(G).pred;for(var V=(U=U.slice(U.indexOf(G)))[0].id(),q=0,H=2;H<U.length;H+=2)U[H].id()<V&&(V=U[H].id(),q=H);(U=U.slice(q).concat(U.slice(0,q))).push(U[0]);var X=U.map((function(t){return t.id()})).join(",");-1===I.indexOf(X)&&(f.push(o.spawn(U)),I.push(X))}}}return{distanceTo:function(t){return y(v(t)).dist},pathTo:function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=v(t);;){if(null==i)return e.spawn();var s=y(i),l=s.edge,c=s.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=l&&r.unshift(l),i=c}return o.spawn(r)},hasNegativeWeightCycle:g,negativeWeightCycles:f}}},De=Math.sqrt(2),Oe=function(t,e,n){0===n.length&&ee("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],a=r[2],s=e[i],o=e[a],l=n,c=l.length-1;c>=0;c--){var h=l[c],u=h[1],d=h[2];(e[u]===s&&e[d]===o||e[u]===o&&e[d]===s)&&l.splice(c,1)}for(var p=0;p<l.length;p++){var g=l[p];g[1]===o?(l[p]=g.slice(),l[p][1]=s):g[2]===o&&(l[p]=g.slice(),l[p][2]=s)}for(var f=0;f<e.length;f++)e[f]===o&&(e[f]=s);return l},Pe=function(t,e,n,r){for(;n>r;){var i=Math.floor(Math.random()*e.length);e=Oe(i,t,e),n--}return e},$e={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,a=r.length,s=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),o=Math.floor(i/De);if(!(i<2)){for(var l=[],c=0;c<a;c++){var h=r[c];l.push([c,n.indexOf(h.source()),n.indexOf(h.target())])}for(var u=1/0,d=[],p=new Array(i),g=new Array(i),f=new Array(i),m=function(t,e){for(var n=0;n<i;n++)e[n]=t[n]},y=0;y<=s;y++){for(var v=0;v<i;v++)g[v]=v;var x=Pe(g,l.slice(),i,o),b=x.slice();m(g,f);var w=Pe(g,x,o,2),k=Pe(f,b,o,2);w.length<=k.length&&w.length<u?(u=w.length,d=w,m(g,p)):k.length<=w.length&&k.length<u&&(u=k.length,d=k,m(f,p))}for(var T=this.spawn(d.map((function(t){return r[t[0]]}))),_=this.spawn(),E=this.spawn(),S=p[0],C=0;C<p.length;C++){var A=p[C],L=n[C];A===S?_.merge(L):E.merge(L)}var M=function(e){var n=t.spawn();return e.forEach((function(e){n.merge(e),e.connectedEdges().forEach((function(e){t.contains(e)&&!T.contains(e)&&n.merge(e)}))})),n},N=[M(_),M(E)];return{cut:T,components:N,partition1:_,partition2:E}}ee("At least 2 nodes are required for Karger-Stein algorithm")}},Be=function(t,e,n){return{x:t.x*e+n.x,y:t.y*e+n.y}},Fe=function(t,e,n){return{x:(t.x-n.x)/e,y:(t.y-n.y)/e}},We=function(t){return{x:t[0],y:t[1]}},ze=function(t,e){return Math.atan2(e,t)-Math.PI/2},Ze=Math.log2||function(t){return Math.log(t)/Math.log(2)},Ye=function(t){return t>0?1:t<0?-1:0},Ue=function(t,e){return Math.sqrt(Ge(t,e))},Ge=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},Ve=function(t){for(var e=t.length,n=0,r=0;r<e;r++)n+=t[r];for(var i=0;i<e;i++)t[i]=t[i]/n;return t},qe=function(t,e,n,r){return(1-r)*(1-r)*t+2*(1-r)*r*e+r*r*n},je=function(t,e,n,r){return{x:qe(t.x,e.x,n.x,r),y:qe(t.y,e.y,n.y,r)}},He=function(t,e,n){return Math.max(t,Math.min(n,e))},Xe=function(t){if(null==t)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=t.x1&&null!=t.y1){if(null!=t.x2&&null!=t.y2&&t.x2>=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},Ke=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},Qe=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},Je=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},tn=function(t){var e,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)e=n=r=i=a[0];else if(2===a.length)e=r=a[0],i=n=a[1];else if(4===a.length){var s=l(a,4);e=s[0],n=s[1],r=s[2],i=s[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},en=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},nn=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2<e.x1||e.x2<t.x1||t.y2<e.y1||e.y2<t.y1||t.y1>e.y2||e.y1>t.y2)},rn=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},an=function(t,e,n,r,i,a,s){var o,l,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",h="auto"===c?Tn(i,a):c,u=i/2,d=a/2,p=(h=Math.min(h,u,d))!==u,g=h!==d;if(p){var f=r-d-s;if((o=yn(t,e,n,r,n-u+h-s,f,n+u-h+s,f,!1)).length>0)return o}if(g){var m=n+u+s;if((o=yn(t,e,n,r,m,r-d+h-s,m,r+d-h+s,!1)).length>0)return o}if(p){var y=r+d+s;if((o=yn(t,e,n,r,n-u+h-s,y,n+u-h+s,y,!1)).length>0)return o}if(g){var v=n-u-s;if((o=yn(t,e,n,r,v,r-d+h-s,v,r+d-h+s,!1)).length>0)return o}var x=n-u+h,b=r-d+h;if((l=fn(t,e,n,r,x,b,h+s)).length>0&&l[0]<=x&&l[1]<=b)return[l[0],l[1]];var w=n+u-h,k=r-d+h;if((l=fn(t,e,n,r,w,k,h+s)).length>0&&l[0]>=w&&l[1]<=k)return[l[0],l[1]];var T=n+u-h,_=r+d-h;if((l=fn(t,e,n,r,T,_,h+s)).length>0&&l[0]>=T&&l[1]>=_)return[l[0],l[1]];var E=n-u+h,S=r+d-h;return(l=fn(t,e,n,r,E,S,h+s)).length>0&&l[0]<=E&&l[1]>=S?[l[0],l[1]]:[]},sn=function(t,e,n,r,i,a,s){var o=s,l=Math.min(n,i),c=Math.max(n,i),h=Math.min(r,a),u=Math.max(r,a);return l-o<=t&&t<=c+o&&h-o<=e&&e<=u+o},on=function(t,e,n,r,i,a,s,o,l){var c=Math.min(n,s,i)-l,h=Math.max(n,s,i)+l,u=Math.min(r,o,a)-l,d=Math.max(r,o,a)+l;return!(t<c||t>h||e<u||e>d)},ln=function(t,e,n,r,i,a,s,o){var l=[];!function(t,e,n,r,i){var a,s,o,l,c,h,u,d;0===t&&(t=1e-5),o=-27*(r/=t)+(e/=t)*(9*(n/=t)-e*e*2),a=(s=(3*n-e*e)/9)*s*s+(o/=54)*o,i[1]=0,u=e/3,a>0?(c=(c=o+Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),h=(h=o-Math.sqrt(a))<0?-Math.pow(-h,1/3):Math.pow(h,1/3),i[0]=-u+c+h,u+=(c+h)/2,i[4]=i[2]=-u,u=Math.sqrt(3)*(-h+c)/2,i[3]=u,i[5]=-u):(i[5]=i[3]=0,0===a?(d=o<0?-Math.pow(-o,1/3):Math.pow(o,1/3),i[0]=2*d-u,i[4]=i[2]=-(d+u)):(l=(s=-s)*s*s,l=Math.acos(o/Math.sqrt(l)),d=2*Math.sqrt(s),i[0]=-u+d*Math.cos(l/3),i[2]=-u+d*Math.cos((l+2*Math.PI)/3),i[4]=-u+d*Math.cos((l+4*Math.PI)/3)))}(1*n*n-4*n*i+2*n*s+4*i*i-4*i*s+s*s+r*r-4*r*a+2*r*o+4*a*a-4*a*o+o*o,9*n*i-3*n*n-3*n*s-6*i*i+3*i*s+9*r*a-3*r*r-3*r*o-6*a*a+3*a*o,3*n*n-6*n*i+n*s-n*t+2*i*i+2*i*t-s*t+3*r*r-6*r*a+r*o-r*e+2*a*a+2*a*e-o*e,1*n*i-n*n+n*t-i*t+r*a-r*r+r*e-a*e,l);for(var c=[],h=0;h<6;h+=2)Math.abs(l[h+1])<1e-7&&l[h]>=0&&l[h]<=1&&c.push(l[h]);c.push(1),c.push(0);for(var u,d,p,g=-1,f=0;f<c.length;f++)u=Math.pow(1-c[f],2)*n+2*(1-c[f])*c[f]*i+c[f]*c[f]*s,d=Math.pow(1-c[f],2)*r+2*(1-c[f])*c[f]*a+c[f]*c[f]*o,p=Math.pow(u-t,2)+Math.pow(d-e,2),g>=0?p<g&&(g=p):g=p;return g},cn=function(t,e,n,r,i,a){var s=[t-n,e-r],o=[i-n,a-r],l=o[0]*o[0]+o[1]*o[1],c=s[0]*s[0]+s[1]*s[1],h=s[0]*o[0]+s[1]*o[1],u=h*h/l;return h<0?c:u>l?(t-i)*(t-i)+(e-a)*(e-a):c-u},hn=function(t,e,n){for(var r,i,a,s,o=0,l=0;l<n.length/2;l++)if(r=n[2*l],i=n[2*l+1],l+1<n.length/2?(a=n[2*(l+1)],s=n[2*(l+1)+1]):(a=n[2*(l+1-n.length/2)],s=n[2*(l+1-n.length/2)+1]),r==t&&a==t);else{if(!(r>=t&&t>=a||r<=t&&t<=a))continue;(t-r)/(a-r)*(s-i)+i>e&&o++}return o%2!=0},un=function(t,e,n,r,i,a,s,o,l){var c,h=new Array(n.length);null!=o[0]?(c=Math.atan(o[1]/o[0]),o[0]<0?c+=Math.PI/2:c=-c-Math.PI/2):c=o;for(var u,d=Math.cos(-c),p=Math.sin(-c),g=0;g<h.length/2;g++)h[2*g]=a/2*(n[2*g]*d-n[2*g+1]*p),h[2*g+1]=s/2*(n[2*g+1]*d+n[2*g]*p),h[2*g]+=r,h[2*g+1]+=i;if(l>0){var f=pn(h,-l);u=dn(f)}else u=h;return hn(t,e,u)},dn=function(t){for(var e,n,r,i,a,s,o,l,c=new Array(t.length/2),h=0;h<t.length/4;h++){e=t[4*h],n=t[4*h+1],r=t[4*h+2],i=t[4*h+3],h<t.length/4-1?(a=t[4*(h+1)],s=t[4*(h+1)+1],o=t[4*(h+1)+2],l=t[4*(h+1)+3]):(a=t[0],s=t[1],o=t[2],l=t[3]);var u=yn(e,n,r,i,a,s,o,l,!0);c[2*h]=u[0],c[2*h+1]=u[1]}return c},pn=function(t,e){for(var n,r,i,a,s=new Array(2*t.length),o=0;o<t.length/2;o++){n=t[2*o],r=t[2*o+1],o<t.length/2-1?(i=t[2*(o+1)],a=t[2*(o+1)+1]):(i=t[0],a=t[1]);var l=a-r,c=-(i-n),h=Math.sqrt(l*l+c*c),u=l/h,d=c/h;s[4*o]=n+u*e,s[4*o+1]=r+d*e,s[4*o+2]=i+u*e,s[4*o+3]=a+d*e}return s},gn=function(t,e,n,r,i,a,s){return t-=i,e-=a,(t/=n/2+s)*t+(e/=r/2+s)*e<=1},fn=function(t,e,n,r,i,a,s){var o=[n-t,r-e],l=[t-i,e-a],c=o[0]*o[0]+o[1]*o[1],h=2*(l[0]*o[0]+l[1]*o[1]),u=h*h-4*c*(l[0]*l[0]+l[1]*l[1]-s*s);if(u<0)return[];var d=(-h+Math.sqrt(u))/(2*c),p=(-h-Math.sqrt(u))/(2*c),g=Math.min(d,p),f=Math.max(d,p),m=[];if(g>=0&&g<=1&&m.push(g),f>=0&&f<=1&&m.push(f),0===m.length)return[];var y=m[0]*o[0]+t,v=m[0]*o[1]+e;return m.length>1?m[0]==m[1]?[y,v]:[y,v,m[1]*o[0]+t,m[1]*o[1]+e]:[y,v]},mn=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},yn=function(t,e,n,r,i,a,s,o,l){var c=t-i,h=n-t,u=s-i,d=e-a,p=r-e,g=o-a,f=u*d-g*c,m=h*d-p*c,y=g*h-u*p;if(0!==y){var v=f/y,x=m/y,b=-.001;return b<=v&&v<=1.001&&b<=x&&x<=1.001||l?[t+v*h,e+v*p]:[]}return 0===f||0===m?mn(t,n,s)===s?[s,o]:mn(t,n,i)===i?[i,a]:mn(i,s,n)===n?[n,r]:[]:[]},vn=function(t,e,n,r,i,a,s,o){var l,c,h,u,d,p,g=[],f=new Array(n.length),m=!0;if(null==a&&(m=!1),m){for(var y=0;y<f.length/2;y++)f[2*y]=n[2*y]*a+r,f[2*y+1]=n[2*y+1]*s+i;if(o>0){var v=pn(f,-o);c=dn(v)}else c=f}else c=n;for(var x=0;x<c.length/2;x++)h=c[2*x],u=c[2*x+1],x<c.length/2-1?(d=c[2*(x+1)],p=c[2*(x+1)+1]):(d=c[0],p=c[1]),0!==(l=yn(t,e,r,i,h,u,d,p)).length&&g.push(l[0],l[1]);return g},xn=function(t,e,n){var r=[t[0]-e[0],t[1]-e[1]],i=Math.sqrt(r[0]*r[0]+r[1]*r[1]),a=(i-n)/i;return a<0&&(a=1e-5),[e[0]+a*r[0],e[1]+a*r[1]]},bn=function(t,e){var n=kn(t,e);return wn(n)},wn=function(t){for(var e,n,r=t.length/2,i=1/0,a=1/0,s=-1/0,o=-1/0,l=0;l<r;l++)e=t[2*l],n=t[2*l+1],i=Math.min(i,e),s=Math.max(s,e),a=Math.min(a,n),o=Math.max(o,n);for(var c=2/(s-i),h=2/(o-a),u=0;u<r;u++)e=t[2*u]=t[2*u]*c,n=t[2*u+1]=t[2*u+1]*h,i=Math.min(i,e),s=Math.max(s,e),a=Math.min(a,n),o=Math.max(o,n);if(a<-1)for(var d=0;d<r;d++)n=t[2*d+1]=t[2*d+1]+(-1-a);return t},kn=function(t,e){var n=1/t*2*Math.PI,r=t%2==0?Math.PI/2+n/2:Math.PI/2;r+=e;for(var i,a=new Array(2*t),s=0;s<t;s++)i=s*n+r,a[2*s]=Math.cos(i),a[2*s+1]=Math.sin(-i);return a},Tn=function(t,e){return Math.min(t/4,e/4,8)},_n=function(t,e){return Math.min(t/10,e/10,8)},En=function(t,e){return{heightOffset:Math.min(15,.05*e),widthOffset:Math.min(100,.25*t),ctrlPtOffsetPct:.05}};function Sn(t,e){function n(t){for(var e=[],n=0;n<t.length;n++){var r=t[n],i=t[(n+1)%t.length],a={x:i.x-r.x,y:i.y-r.y},s={x:-a.y,y:a.x},o=Math.sqrt(s.x*s.x+s.y*s.y);e.push({x:s.x/o,y:s.y/o})}return e}function r(t,e){var n,r=1/0,i=-1/0,a=s(t);try{for(a.s();!(n=a.n()).done;){var o=n.value,l=o.x*e.x+o.y*e.y;r=Math.min(r,l),i=Math.max(i,l)}}catch(t){a.e(t)}finally{a.f()}return{min:r,max:i}}var i,a,o,l=s([].concat(c(n(t)),c(n(e))));try{for(l.s();!(i=l.n()).done;){var h=i.value;if(a=r(t,h),o=r(e,h),a.max<o.min||o.max<a.min)return!1}}catch(t){l.e(t)}finally{l.f()}return!0}var Cn=le({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(t){return 1}}),An={pageRank:function(t){for(var e=Cn(t),n=e.dampingFactor,r=e.precision,i=e.iterations,a=e.weight,s=this._private.cy,o=this.byGroup(),l=o.nodes,c=o.edges,h=l.length,u=h*h,d=c.length,p=new Array(u),g=new Array(h),f=(1-n)/h,m=0;m<h;m++){for(var y=0;y<h;y++)p[m*h+y]=0;g[m]=0}for(var v=0;v<d;v++){var x=c[v],b=x.data("source"),w=x.data("target");if(b!==w){var k=l.indexOfId(b),T=l.indexOfId(w),_=a(x);p[T*h+k]+=_,g[k]+=_}}for(var E=1/h+f,S=0;S<h;S++)if(0===g[S])for(var C=0;C<h;C++)p[C*h+S]=E;else for(var A=0;A<h;A++){var L=A*h+S;p[L]=p[L]/g[S]+f}for(var M,N=new Array(h),I=new Array(h),R=0;R<h;R++)N[R]=1;for(var D=0;D<i;D++){for(var O=0;O<h;O++)I[O]=0;for(var P=0;P<h;P++)for(var $=0;$<h;$++){var B=P*h+$;I[P]+=p[B]*N[$]}Ve(I),M=N,N=I,I=M;for(var F=0,W=0;W<h;W++){var z=M[W]-N[W];F+=z*z}if(F<r)break}return{rank:function(t){return t=s.collection(t)[0],N[l.indexOf(t)]}}}},Ln=le({root:null,weight:function(t){return 1},directed:!1,alpha:0}),Mn={degreeCentralityNormalized:function(t){t=Ln(t);var e=this.cy(),n=this.nodes(),r=n.length;if(t.directed){for(var i={},a={},s=0,o=0,l=0;l<r;l++){var c=n[l],h=c.id();t.root=c;var u=this.degreeCentrality(t);s<u.indegree&&(s=u.indegree),o<u.outdegree&&(o=u.outdegree),i[h]=u.indegree,a[h]=u.outdegree}return{indegree:function(t){return 0==s?0:(j(t)&&(t=e.filter(t)),i[t.id()]/s)},outdegree:function(t){return 0===o?0:(j(t)&&(t=e.filter(t)),a[t.id()]/o)}}}for(var d={},p=0,g=0;g<r;g++){var f=n[g];t.root=f;var m=this.degreeCentrality(t);p<m.degree&&(p=m.degree),d[f.id()]=m.degree}return{degree:function(t){return 0===p?0:(j(t)&&(t=e.filter(t)),d[t.id()]/p)}}},degreeCentrality:function(t){t=Ln(t);var e=this.cy(),n=this,r=t,i=r.root,a=r.weight,s=r.directed,o=r.alpha;if(i=e.collection(i)[0],s){for(var l=i.connectedEdges(),c=l.filter((function(t){return t.target().same(i)&&n.has(t)})),h=l.filter((function(t){return t.source().same(i)&&n.has(t)})),u=c.length,d=h.length,p=0,g=0,f=0;f<c.length;f++)p+=a(c[f]);for(var m=0;m<h.length;m++)g+=a(h[m]);return{indegree:Math.pow(u,1-o)*Math.pow(p,o),outdegree:Math.pow(d,1-o)*Math.pow(g,o)}}for(var y=i.connectedEdges().intersection(n),v=y.length,x=0,b=0;b<y.length;b++)x+=a(y[b]);return{degree:Math.pow(v,1-o)*Math.pow(x,o)}}};Mn.dc=Mn.degreeCentrality,Mn.dcn=Mn.degreeCentralityNormalised=Mn.degreeCentralityNormalized;var Nn=le({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),In={closenessCentralityNormalized:function(t){for(var e=Nn(t),n=e.harmonic,r=e.weight,i=e.directed,a=this.cy(),s={},o=0,l=this.nodes(),c=this.floydWarshall({weight:r,directed:i}),h=0;h<l.length;h++){for(var u=0,d=l[h],p=0;p<l.length;p++)if(h!==p){var g=c.distance(d,l[p]);u+=n?1/g:g}n||(u=1/u),o<u&&(o=u),s[d.id()]=u}return{closeness:function(t){return 0==o?0:(t=j(t)?a.filter(t)[0].id():t.id(),s[t]/o)}}},closenessCentrality:function(t){var e=Nn(t),n=e.root,r=e.weight,i=e.directed,a=e.harmonic;n=this.filter(n)[0];for(var s=this.dijkstra({root:n,weight:r,directed:i}),o=0,l=this.nodes(),c=0;c<l.length;c++){var h=l[c];if(!h.same(n)){var u=s.distanceTo(h);o+=a?1/u:u}}return a?o:1/o}};In.cc=In.closenessCentrality,In.ccn=In.closenessCentralityNormalised=In.closenessCentralityNormalized;var Rn=le({weight:null,directed:!1}),Dn={betweennessCentrality:function(t){for(var e=Rn(t),n=e.directed,r=e.weight,i=null!=r,a=this.cy(),s=this.nodes(),o={},l={},c=0,h=function(t,e){l[t]=e,e>c&&(c=e)},u=function(t){return l[t]},d=0;d<s.length;d++){var p=s[d],g=p.id();o[g]=n?p.outgoers().nodes():p.openNeighborhood().nodes(),h(g,0)}for(var f=function(){for(var t=s[m].id(),e=[],n={},l={},c={},d=new _e((function(t,e){return c[t]-c[e]})),p=0;p<s.length;p++){var g=s[p].id();n[g]=[],l[g]=0,c[g]=1/0}for(l[t]=1,c[t]=0,d.push(t);!d.empty();){var f=d.pop();if(e.push(f),i)for(var y=0;y<o[f].length;y++){var v,x=o[f][y],b=a.getElementById(f);v=b.edgesTo(x).length>0?b.edgesTo(x)[0]:x.edgesTo(b)[0];var w=r(v);x=x.id(),c[x]>c[f]+w&&(c[x]=c[f]+w,d.nodes.indexOf(x)<0?d.push(x):d.updateItem(x),l[x]=0,n[x]=[]),c[x]==c[f]+w&&(l[x]=l[x]+l[f],n[x].push(f))}else for(var k=0;k<o[f].length;k++){var T=o[f][k].id();c[T]==1/0&&(d.push(T),c[T]=c[f]+1),c[T]==c[f]+1&&(l[T]=l[T]+l[f],n[T].push(f))}}for(var _={},E=0;E<s.length;E++)_[s[E].id()]=0;for(;e.length>0;){for(var S=e.pop(),C=0;C<n[S].length;C++){var A=n[S][C];_[A]=_[A]+l[A]/l[S]*(1+_[S])}S!=s[m].id()&&h(S,u(S)+_[S])}},m=0;m<s.length;m++)f();var y={betweenness:function(t){var e=a.collection(t).id();return u(e)},betweennessNormalized:function(t){if(0==c)return 0;var e=a.collection(t).id();return u(e)/c}};return y.betweennessNormalised=y.betweennessNormalized,y}};Dn.bc=Dn.betweennessCentrality;var On=le({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(t){return 1}]}),Pn=function(t,e){for(var n=0,r=0;r<e.length;r++)n+=e[r](t);return n},$n=function(t,e){for(var n,r=0;r<e;r++){n=0;for(var i=0;i<e;i++)n+=t[i*e+r];for(var a=0;a<e;a++)t[a*e+r]=t[a*e+r]/n}},Bn=function(t,e,n){for(var r=new Array(n*n),i=0;i<n;i++){for(var a=0;a<n;a++)r[i*n+a]=0;for(var s=0;s<n;s++)for(var o=0;o<n;o++)r[i*n+o]+=t[i*n+s]*e[s*n+o]}return r},Fn=function(t,e,n){for(var r=t.slice(0),i=1;i<n;i++)t=Bn(t,r,e);return t},Wn=function(t,e,n){for(var r=new Array(e*e),i=0;i<e*e;i++)r[i]=Math.pow(t[i],n);return $n(r,e),r},zn=function(t,e,n,r){for(var i=0;i<n;i++)if(Math.round(t[i]*Math.pow(10,r))/Math.pow(10,r)!=Math.round(e[i]*Math.pow(10,r))/Math.pow(10,r))return!1;return!0},Zn=function(t,e){for(var n=0;n<t.length;n++)if(!e[n]||t[n].id()!==e[n].id())return!1;return!0},Yn=function(t){for(var e=this.nodes(),n=this.edges(),r=this.cy(),i=function(t){return On(t)}(t),a={},s=0;s<e.length;s++)a[e[s].id()]=s;for(var o,l=e.length,c=l*l,h=new Array(c),u=0;u<c;u++)h[u]=0;for(var d=0;d<n.length;d++){var p=n[d],g=a[p.source().id()],f=a[p.target().id()],m=Pn(p,i.attributes);h[g*l+f]+=m,h[f*l+g]+=m}!function(t,e,n){for(var r=0;r<e;r++)t[r*e+r]=n}(h,l,i.multFactor),$n(h,l);for(var y=!0,v=0;y&&v<i.maxIterations;)y=!1,o=Fn(h,l,i.expandFactor),h=Wn(o,l,i.inflateFactor),zn(h,o,c,4)||(y=!0),v++;var x=function(t,e,n,r){for(var i=[],a=0;a<e;a++){for(var s=[],o=0;o<e;o++)Math.round(1e3*t[a*e+o])/1e3>0&&s.push(n[o]);0!==s.length&&i.push(r.collection(s))}return i}(h,l,e,r);return x=function(t){for(var e=0;e<t.length;e++)for(var n=0;n<t.length;n++)e!=n&&Zn(t[e],t[n])&&t.splice(n,1);return t}(x),x},Un={markovClustering:Yn,mcl:Yn},Gn=function(t){return t},Vn=function(t,e){return Math.abs(e-t)},qn=function(t,e,n){return t+Vn(e,n)},jn=function(t,e,n){return t+Math.pow(n-e,2)},Hn=function(t){return Math.sqrt(t)},Xn=function(t,e,n){return Math.max(t,Vn(e,n))},Kn=function(t,e,n,r,i){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Gn,s=r,o=0;o<t;o++)s=i(s,e(o),n(o));return a(s)},Qn={euclidean:function(t,e,n){return t>=2?Kn(t,e,n,0,jn,Hn):Kn(t,e,n,0,qn)},squaredEuclidean:function(t,e,n){return Kn(t,e,n,0,jn)},manhattan:function(t,e,n){return Kn(t,e,n,0,qn)},max:function(t,e,n){return Kn(t,e,n,-1/0,Xn)}};function Jn(t,e,n,r,i,a){var s;return s=H(t)?t:Qn[t]||Qn.euclidean,0===e&&H(t)?s(i,a):s(e,n,r,i,a)}Qn["squared-euclidean"]=Qn.squaredEuclidean,Qn.squaredeuclidean=Qn.squaredEuclidean;var tr=le({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),er=function(t){return tr(t)},nr=function(t,e,n,r,i){var a="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},s=n,o=e;return Jn(t,r.length,a,(function(t){return r[t](e)}),s,o)},rr=function(t,e,n){for(var r=n.length,i=new Array(r),a=new Array(r),s=new Array(e),o=null,l=0;l<r;l++)i[l]=t.min(n[l]).value,a[l]=t.max(n[l]).value;for(var c=0;c<e;c++){o=[];for(var h=0;h<r;h++)o[h]=Math.random()*(a[h]-i[h])+i[h];s[c]=o}return s},ir=function(t,e,n,r,i){for(var a=1/0,s=0,o=0;o<e.length;o++){var l=nr(n,t,e[o],r,i);l<a&&(a=l,s=o)}return s},ar=function(t,e,n){for(var r=[],i=null,a=0;a<e.length;a++)n[(i=e[a]).id()]===t&&r.push(i);return r},sr=function(t,e,n){return Math.abs(e-t)<=n},or=function(t,e,n){for(var r=0;r<t.length;r++)for(var i=0;i<t[r].length;i++)if(Math.abs(t[r][i]-e[r][i])>n)return!1;return!0},lr=function(t,e,n){for(var r=0;r<n;r++)if(t===e[r])return!0;return!1},cr=function(t,e){var n=new Array(e);if(t.length<50)for(var r=0;r<e;r++){for(var i=t[Math.floor(Math.random()*t.length)];lr(i,n,r);)i=t[Math.floor(Math.random()*t.length)];n[r]=i}else for(var a=0;a<e;a++)n[a]=t[Math.floor(Math.random()*t.length)];return n},hr=function(t,e,n){for(var r=0,i=0;i<e.length;i++)r+=nr("manhattan",e[i],t,n,"kMedoids");return r},ur=function(t,e,n,r,i){for(var a,s,o=0;o<e.length;o++)for(var l=0;l<t.length;l++)r[o][l]=Math.pow(n[o][l],i.m);for(var c=0;c<t.length;c++)for(var h=0;h<i.attributes.length;h++){a=0,s=0;for(var u=0;u<e.length;u++)a+=r[u][c]*i.attributes[h](e[u]),s+=r[u][c];t[c][h]=a/s}},dr=function(t,e,n,r,i){for(var a=0;a<t.length;a++)e[a]=t[a].slice();for(var s,o,l,c=2/(i.m-1),h=0;h<n.length;h++)for(var u=0;u<r.length;u++){s=0;for(var d=0;d<n.length;d++)o=nr(i.distance,r[u],n[h],i.attributes,"cmeans"),l=nr(i.distance,r[u],n[d],i.attributes,"cmeans"),s+=Math.pow(o/l,c);t[u][h]=1/s}},pr=function(t){var e,n,r,i,a,s=this.cy(),o=this.nodes(),l=er(t);i=new Array(o.length);for(var c=0;c<o.length;c++)i[c]=new Array(l.k);r=new Array(o.length);for(var h=0;h<o.length;h++)r[h]=new Array(l.k);for(var u=0;u<o.length;u++){for(var d=0,p=0;p<l.k;p++)r[u][p]=Math.random(),d+=r[u][p];for(var g=0;g<l.k;g++)r[u][g]=r[u][g]/d}n=new Array(l.k);for(var f=0;f<l.k;f++)n[f]=new Array(l.attributes.length);a=new Array(o.length);for(var m=0;m<o.length;m++)a[m]=new Array(l.k);for(var y=!0,v=0;y&&v<l.maxIterations;)y=!1,ur(n,o,r,a,l),dr(r,i,n,o,l),or(r,i,l.sensitivityThreshold)||(y=!0),v++;return e=function(t,e,n,r){for(var i,a,s=new Array(n.k),o=0;o<s.length;o++)s[o]=[];for(var l=0;l<e.length;l++){i=-1/0,a=-1;for(var c=0;c<e[0].length;c++)e[l][c]>i&&(i=e[l][c],a=c);s[a].push(t[l])}for(var h=0;h<s.length;h++)s[h]=r.collection(s[h]);return s}(o,r,l,s),{clusters:e,degreeOfMembership:r}},gr={kMeans:function(t){var e,n=this.cy(),r=this.nodes(),i=null,a=er(t),s=new Array(a.k),o={};a.testMode?"number"==typeof a.testCentroids?(a.testCentroids,e=rr(r,a.k,a.attributes)):e="object"===u(a.testCentroids)?a.testCentroids:rr(r,a.k,a.attributes):e=rr(r,a.k,a.attributes);for(var l=!0,c=0;l&&c<a.maxIterations;){for(var h=0;h<r.length;h++)o[(i=r[h]).id()]=ir(i,e,a.distance,a.attributes,"kMeans");l=!1;for(var d=0;d<a.k;d++){var p=ar(d,r,o);if(0!==p.length){for(var g=a.attributes.length,f=e[d],m=new Array(g),y=new Array(g),v=0;v<g;v++){y[v]=0;for(var x=0;x<p.length;x++)i=p[x],y[v]+=a.attributes[v](i);m[v]=y[v]/p.length,sr(m[v],f[v],a.sensitivityThreshold)||(l=!0)}e[d]=m,s[d]=n.collection(p)}}c++}return s},kMedoids:function(t){var e,n,r=this.cy(),i=this.nodes(),a=null,s=er(t),o=new Array(s.k),l={},c=new Array(s.k);s.testMode?"number"==typeof s.testCentroids||(e="object"===u(s.testCentroids)?s.testCentroids:cr(i,s.k)):e=cr(i,s.k);for(var h=!0,d=0;h&&d<s.maxIterations;){for(var p=0;p<i.length;p++)l[(a=i[p]).id()]=ir(a,e,s.distance,s.attributes,"kMedoids");h=!1;for(var g=0;g<e.length;g++){var f=ar(g,i,l);if(0!==f.length){c[g]=hr(e[g],f,s.attributes);for(var m=0;m<f.length;m++)(n=hr(f[m],f,s.attributes))<c[g]&&(c[g]=n,e[g]=f[m],h=!0);o[g]=r.collection(f)}}d++}return o},fuzzyCMeans:pr,fcm:pr},fr=le({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),mr={single:"min",complete:"max"},yr=function(t,e,n,r,i){for(var a,s=0,o=1/0,l=i.attributes,c=function(t,e){return Jn(i.distance,l.length,(function(e){return l[e](t)}),(function(t){return l[t](e)}),t,e)},h=0;h<t.length;h++){var u=t[h].key,d=n[u][r[u]];d<o&&(s=u,o=d)}if("threshold"===i.mode&&o>=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var p,g=e[s],f=e[r[s]];p="dendrogram"===i.mode?{left:g,right:f,key:g.key}:{value:g.value.concat(f.value),key:g.key},t[g.index]=p,t.splice(f.index,1),e[g.key]=p;for(var m=0;m<t.length;m++){var y=t[m];g.key===y.key?a=1/0:"min"===i.linkage?(a=n[g.key][y.key],n[g.key][y.key]>n[f.key][y.key]&&(a=n[f.key][y.key])):"max"===i.linkage?(a=n[g.key][y.key],n[g.key][y.key]<n[f.key][y.key]&&(a=n[f.key][y.key])):a="mean"===i.linkage?(n[g.key][y.key]*g.size+n[f.key][y.key]*f.size)/(g.size+f.size):"dendrogram"===i.mode?c(y.value,g.value):c(y.value[0],g.value[0]),n[g.key][y.key]=n[y.key][g.key]=a}for(var v=0;v<t.length;v++){var x=t[v].key;if(r[x]===g.key||r[x]===f.key){for(var b=x,w=0;w<t.length;w++){var k=t[w].key;n[x][k]<n[x][b]&&(b=k)}r[x]=b}t[v].index=v}return g.key=f.key=g.index=f.index=null,!0},vr=function(t,e,n){t&&(t.value?e.push(t.value):(t.left&&vr(t.left,e),t.right&&vr(t.right,e)))},xr=function(t,e){if(!t)return"";if(t.left&&t.right){var n=xr(t.left,e),r=xr(t.right,e),i=e.add({group:"nodes",data:{id:n+","+r}});return e.add({group:"edges",data:{source:n,target:i.id()}}),e.add({group:"edges",data:{source:r,target:i.id()}}),i.id()}return t.value?t.value.id():void 0},br=function(t,e,n){if(!t)return[];var r=[],i=[],a=[];return 0===e?(t.left&&vr(t.left,r),t.right&&vr(t.right,i),a=r.concat(i),[n.collection(a)]):1===e?t.value?[n.collection(t.value)]:(t.left&&vr(t.left,r),t.right&&vr(t.right,i),[n.collection(r),n.collection(i)]):t.value?[n.collection(t.value)]:(t.left&&(r=br(t.left,e-1,n)),t.right&&(i=br(t.right,e-1,n)),r.concat(i))},wr=function(t){for(var e=this.cy(),n=this.nodes(),r=function(t){var e=fr(t),n=mr[e.linkage];return null!=n&&(e.linkage=n),e}(t),i=r.attributes,a=function(t,e){return Jn(r.distance,i.length,(function(e){return i[e](t)}),(function(t){return i[t](e)}),t,e)},s=[],o=[],l=[],c=[],h=0;h<n.length;h++){var u={value:"dendrogram"===r.mode?n[h]:[n[h]],key:h,index:h};s[h]=u,c[h]=u,o[h]=[],l[h]=0}for(var d=0;d<s.length;d++)for(var p=0;p<=d;p++){var g;g="dendrogram"===r.mode?d===p?1/0:a(s[d].value,s[p].value):d===p?1/0:a(s[d].value[0],s[p].value[0]),o[d][p]=g,o[p][d]=g,g<o[d][l[d]]&&(l[d]=p)}for(var f,m=yr(s,c,o,l,r);m;)m=yr(s,c,o,l,r);return"dendrogram"===r.mode?(f=br(s[0],r.dendrogramDepth,e),r.addDendrogram&&xr(s[0],e)):(f=new Array(s.length),s.forEach((function(t,n){t.key=t.index=null,f[n]=e.collection(t.value)}))),f},kr={hierarchicalClustering:wr,hca:wr},Tr=le({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),_r=function(t,e,n,r){var i=function(t,e){return r[e](t)};return-Jn(t,r.length,(function(t){return i(e,t)}),(function(t){return i(n,t)}),e,n)},Er=function(t,e,n){for(var r=[],i=0;i<t;i++){for(var a=-1,s=-1/0,o=0;o<n.length;o++){var l=n[o];e[i*t+l]>s&&(a=l,s=e[i*t+l])}a>0&&r.push(a)}for(var c=0;c<n.length;c++)r[n[c]]=n[c];return r},Sr=function(t){for(var e,n,r,i,a,s,o=this.cy(),l=this.nodes(),c=function(t){var e=t.damping,n=t.preference;.5<=e&&e<1||ee("Damping must range on [0.5, 1). Got: ".concat(e));var r=["median","mean","min","max"];return r.some((function(t){return t===n}))||Q(n)||ee("Preference must be one of [".concat(r.map((function(t){return"'".concat(t,"'")})).join(", "),"] or a number. Got: ").concat(n)),Tr(t)}(t),h={},u=0;u<l.length;u++)h[l[u].id()]=u;n=(e=l.length)*e,r=new Array(n);for(var d=0;d<n;d++)r[d]=-1/0;for(var p=0;p<e;p++)for(var g=0;g<e;g++)p!==g&&(r[p*e+g]=_r(c.distance,l[p],l[g],c.attributes));i=function(t,e){var n;return n="median"===e?function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n<t.length&&t.splice(n,t.length-n),e>0&&t.splice(0,e)):t=t.slice(e,n);for(var a=0,s=t.length-1;s>=0;s--){var o=t[s];i?isFinite(o)||(t[s]=-1/0,a++):t.splice(s,1)}r&&t.sort((function(t,e){return t-e}));var l=t.length,c=Math.floor(l/2);return l%2!=0?t[c+1+a]:(t[c-1+a]+t[c+a])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,a=e;a<n;a++){var s=t[a];isFinite(s)&&(r+=s,i++)}return r/i}(t):"min"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i<n;i++){var a=t[i];isFinite(a)&&(r=Math.min(a,r))}return r}(t):"max"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i<n;i++){var a=t[i];isFinite(a)&&(r=Math.max(a,r))}return r}(t):e,n}(r,c.preference);for(var f=0;f<e;f++)r[f*e+f]=i;a=new Array(n);for(var m=0;m<n;m++)a[m]=0;s=new Array(n);for(var y=0;y<n;y++)s[y]=0;for(var v=new Array(e),x=new Array(e),b=new Array(e),w=0;w<e;w++)v[w]=0,x[w]=0,b[w]=0;for(var k,T=new Array(e*c.minIterations),_=0;_<T.length;_++)T[_]=0;for(k=0;k<c.maxIterations;k++){for(var E=0;E<e;E++){for(var S=-1/0,C=-1/0,A=-1,L=0,M=0;M<e;M++)v[M]=a[E*e+M],(L=s[E*e+M]+r[E*e+M])>=S?(C=S,S=L,A=M):L>C&&(C=L);for(var N=0;N<e;N++)a[E*e+N]=(1-c.damping)*(r[E*e+N]-S)+c.damping*v[N];a[E*e+A]=(1-c.damping)*(r[E*e+A]-C)+c.damping*v[A]}for(var I=0;I<e;I++){for(var R=0,D=0;D<e;D++)v[D]=s[D*e+I],x[D]=Math.max(0,a[D*e+I]),R+=x[D];R-=x[I],x[I]=a[I*e+I],R+=x[I];for(var O=0;O<e;O++)s[O*e+I]=(1-c.damping)*Math.min(0,R-x[O])+c.damping*v[O];s[I*e+I]=(1-c.damping)*(R-x[I])+c.damping*v[I]}for(var P=0,$=0;$<e;$++){var B=s[$*e+$]+a[$*e+$]>0?1:0;T[k%c.minIterations*e+$]=B,P+=B}if(P>0&&(k>=c.minIterations-1||k==c.maxIterations-1)){for(var F=0,W=0;W<e;W++){b[W]=0;for(var z=0;z<c.minIterations;z++)b[W]+=T[z*e+W];0!==b[W]&&b[W]!==c.minIterations||F++}if(F===e)break}}for(var Z=function(t,e,n){for(var r=[],i=0;i<t;i++)e[i*t+i]+n[i*t+i]>0&&r.push(i);return r}(e,a,s),Y=function(t,e,n){for(var r=Er(t,e,n),i=0;i<n.length;i++){for(var a=[],s=0;s<r.length;s++)r[s]===n[i]&&a.push(s);for(var o=-1,l=-1/0,c=0;c<a.length;c++){for(var h=0,u=0;u<a.length;u++)h+=e[a[u]*t+a[c]];h>l&&(o=c,l=h)}n[i]=a[o]}return Er(t,e,n)}(e,r,Z),U={},G=0;G<Z.length;G++)U[Z[G]]=[];for(var V=0;V<l.length;V++){var q=Y[h[l[V].id()]];null!=q&&U[q].push(l[V])}for(var j=new Array(Z.length),H=0;H<Z.length;H++)j[H]=o.collection(U[Z[H]]);return j},Cr={affinityPropagation:Sr,ap:Sr},Ar=le({root:void 0,directed:!1}),Lr=function(){var t=this,e={},n=0,r=0,i=[],a=[],s={},o=function(l,c,h){l===h&&(r+=1),e[c]={id:n,low:n++,cutVertex:!1};var u,d,p,g,f=t.getElementById(c).connectedEdges().intersection(t);0===f.size()?i.push(t.spawn(t.getElementById(c))):f.forEach((function(n){u=n.source().id(),d=n.target().id(),(p=u===c?d:u)!==h&&(g=n.id(),s[g]||(s[g]=!0,a.push({x:c,y:p,edge:n})),p in e?e[c].low=Math.min(e[c].low,e[p].id):(o(l,p,c),e[c].low=Math.min(e[c].low,e[p].low),e[c].id<=e[p].low&&(e[c].cutVertex=!0,function(n,r){for(var s=a.length-1,o=[],l=t.spawn();a[s].x!=n||a[s].y!=r;)o.push(a.pop().edge),s--;o.push(a.pop().edge),o.forEach((function(n){var r=n.connectedNodes().intersection(t);l.merge(n),r.forEach((function(n){var r=n.id(),i=n.connectedEdges().intersection(t);l.merge(n),e[r].cutVertex?l.merge(i.filter((function(t){return t.isLoop()}))):l.merge(i)}))})),i.push(l)}(c,p))))}))};t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||(r=0,o(n,n),e[n].cutVertex=r>1)}}));var l=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(l),components:i}},Mr=function(){var t=this,e={},n=0,r=[],i=[],a=t.spawn(t),s=function(o){if(i.push(o),e[o]={index:n,low:n++,explored:!1},t.getElementById(o).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==o&&(n in e||s(n),e[n].explored||(e[o].low=Math.min(e[o].low,e[n].low)))})),e[o].index===e[o].low){for(var l=t.spawn();;){var c=i.pop();if(l.merge(t.getElementById(c)),e[c].low=e[o].index,e[c].explored=!0,c===o)break}var h=l.edgesWith(l),u=l.merge(h);r.push(u),a=a.difference(u)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||s(n)}})),{cut:a,components:r}},Nr={};[ve,Se,Ce,Le,Ne,Re,$e,An,Mn,In,Dn,Un,gr,kr,Cr,{hierholzer:function(t){if(!K(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,a=Ar(t),s=a.root,o=a.directed,l=this,c=!1;s&&(i=j(s)?this.filter(s)[0].id():s[0].id());var h={},u={};o?l.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),a=t.outdegree(!0),s=i-a,o=a-i;1==s?n?c=!0:n=e:1==o?r?c=!0:r=e:(o>1||s>1)&&(c=!0),h[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&h[e].push(t.id())}))}else u[e]=[void 0,t.target().id()]})):l.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?c=!0:r=e:n=e),h[e]=[],t.connectedEdges().forEach((function(t){return h[e].push(t.id())}))):u[e]=[t.source().id(),t.target().id()]}));var d={found:!1,trail:void 0};if(c)return d;if(r&&n)if(o){if(i&&r!=i)return d;i=r}else{if(i&&r!=i&&n!=i)return d;i||(i=r)}else i||(i=l[0].id());var p=function(t){for(var e,n,r,i=t,a=[t];h[i].length;)e=h[i].shift(),n=u[e][0],i!=(r=u[e][1])?(h[r]=h[r].filter((function(t){return t!=e})),i=r):o||i==n||(h[n]=h[n].filter((function(t){return t!=e})),i=n),a.unshift(e),a.unshift(i);return a},g=[],f=[];for(f=p(i);1!=f.length;)0==h[f[0]].length?(g.unshift(l.getElementById(f.shift())),g.unshift(l.getElementById(f.shift()))):f=p(f.shift()).concat(f);for(var m in g.unshift(l.getElementById(f.shift())),h)if(h[m].length)return d;return d.found=!0,d.trail=this.spawn(g,!0),d}},{hopcroftTarjanBiconnected:Lr,htbc:Lr,htb:Lr,hopcroftTarjanBiconnectedComponents:Lr},{tarjanStronglyConnected:Mr,tsc:Mr,tscc:Mr,tarjanStronglyConnectedComponents:Mr}].forEach((function(t){vt(Nr,t)}));var Ir=function(t){if(!(this instanceof Ir))return new Ir(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Ir.prototype={fulfill:function(t){return Rr(this,1,"fulfillValue",t)},reject:function(t){return Rr(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new Ir;return n.onFulfilled.push(Pr(t,r,"fulfill")),n.onRejected.push(Pr(e,r,"reject")),Dr(n),r.proxy}};var Rr=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Dr(t)),t},Dr=function(t){1===t.state?Or(t,"onFulfilled",t.fulfillValue):2===t.state&&Or(t,"onRejected",t.rejectReason)},Or=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t<r.length;t++)r[t](n)};"function"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},Pr=function(t,e,n){return function(r){if("function"!=typeof t)e[n].call(e,r);else{var i;try{i=t(r)}catch(t){return void e.reject(t)}$r(e,i)}}},$r=function(t,e){if(t!==e&&t.proxy!==e){var n;if("object"===u(e)&&null!==e||"function"==typeof e)try{n=e.then}catch(e){return void t.reject(e)}if("function"!=typeof n)t.fulfill(e);else{var r=!1;try{n.call(e,(function(n){r||(r=!0,n===e?t.reject(new TypeError("circular thenable chain")):$r(t,n))}),(function(e){r||(r=!0,t.reject(e))}))}catch(e){r||t.reject(e)}}}else t.reject(new TypeError("cannot resolve promise with itself"))};Ir.all=function(t){return new Ir((function(e,n){for(var r=new Array(t.length),i=0,a=function(n,a){r[n]=a,++i===t.length&&e(r)},s=0;s<t.length;s++)!function(e){var r=t[e];null!=r&&null!=r.then?r.then((function(t){a(e,t)}),(function(t){n(t)})):a(e,r)}(s)}))},Ir.resolve=function(t){return new Ir((function(e,n){e(t)}))},Ir.reject=function(t){return new Ir((function(e,n){n(t)}))};var Br="undefined"!=typeof Promise?Promise:Ir,Fr=function(t,e,n){var r=rt(t),i=!r,a=this._private=vt({duration:1e3},e,n);if(a.target=t,a.style=a.style||a.css,a.started=!1,a.playing=!1,a.hooked=!1,a.applying=!1,a.progress=0,a.completes=[],a.frames=[],a.complete&&H(a.complete)&&a.completes.push(a.complete),i){var s=t.position();a.startPosition=a.startPosition||{x:s.x,y:s.y},a.startStyle=a.startStyle||t.cy().style().getAnimationStartStyle(t,a.style)}if(r){var o=t.pan();a.startPan={x:o.x,y:o.y},a.startZoom=t.zoom()}this.length=1,this[0]=this},Wr=Fr.prototype;vt(Wr,{instanceString:function(){return"animation"},hook:function(){var t=this._private;if(!t.hooked){var e=t.target._private.animation;(t.queue?e.queue:e.current).push(this),tt(t.target)&&t.target.cy().addToAnimationPool(t.target),t.hooked=!0}return this},play:function(){var t=this._private;return 1===t.progress&&(t.progress=0),t.playing=!0,t.started=!1,t.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var t=this._private;return t.applying=!0,t.started=!1,t.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var t=this._private;return t.playing=!1,t.started=!1,this},stop:function(){var t=this._private;return t.playing=!1,t.started=!1,t.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(t){var e=this._private;return void 0===t?e.progress*e.duration:this.progress(t/e.duration)},progress:function(t){var e=this._private,n=e.playing;return void 0===t?e.progress:(n&&this.pause(),e.progress=t,e.started=!1,n&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var t=this._private,e=t.playing;e&&this.pause(),t.progress=1-t.progress,t.started=!1;var n=function(e,n){var r=t[e];null!=r&&(t[e]=t[n],t[n]=r)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),t.style)for(var r=0;r<t.style.length;r++){var i=t.style[r],a=i.name,s=t.startStyle[a];t.startStyle[a]=i,t.style[r]=s}return e&&this.play(),this},promise:function(t){var e,n=this._private;return e="frame"===t?n.frames:n.completes,new Br((function(t,n){e.push((function(){t()}))}))}}),Wr.complete=Wr.completed,Wr.run=Wr.play,Wr.running=Wr.playing;var zr,Zr,Yr,Ur,Gr,Vr,qr,jr,Hr,Xr,Kr,Qr,Jr,ti,ei,ni,ri,ii,ai,si,oi,li,ci,hi,ui,di,pi,gi,fi,mi,yi,vi,xi,bi,wi,ki,Ti,_i,Ei,Si,Ci,Ai,Li,Mi,Ni,Ii,Ri,Di,Oi,Pi,$i,Bi,Fi,Wi,zi,Zi,Yi,Ui,Gi,Vi,qi,ji,Hi,Xi,Ki,Qi,Ji,ta,ea,na,ra,ia,aa,sa,oa,la,ca,ha,ua,da,pa,ga,fa,ma,ya,va,xa={animated:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return!1;var n=e[0];return n?n._private.animation.current.length>0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n<e.length;n++)e[n]._private.animation.queue=[];return this}},delay:function(){return function(t,e){return(this._private.cy||this).styleEnabled()?this.animate({delay:t,duration:t,complete:e}):this}},delayAnimation:function(){return function(t,e){return(this._private.cy||this).styleEnabled()?this.animation({delay:t,duration:t,complete:e}):this}},animation:function(){return function(t,e){var n=this,r=void 0!==n.length,i=r?n:[n],a=this._private.cy||this,s=!r,o=!s;if(!a.styleEnabled())return this;var l=a.style();if(t=vt({},t,e),0===Object.keys(t).length)return new Fr(i[0],t);switch(void 0===t.duration&&(t.duration=400),t.duration){case"slow":t.duration=600;break;case"fast":t.duration=200}if(o&&(t.style=l.getPropsList(t.style||t.css),t.css=void 0),o&&null!=t.renderedPosition){var c=t.renderedPosition,h=a.pan(),u=a.zoom();t.position=Fe(c,u,h)}if(s&&null!=t.panBy){var d=t.panBy,p=a.pan();t.pan={x:p.x+d.x,y:p.y+d.y}}var g=t.center||t.centre;if(s&&null!=g){var f=a.getCenterPan(g.eles,t.zoom);null!=f&&(t.pan=f)}if(s&&null!=t.fit){var m=t.fit,y=a.getFitViewport(m.eles||m.boundingBox,m.padding);null!=y&&(t.pan=y.pan,t.zoom=y.zoom)}if(s&&K(t.zoom)){var v=a.getZoomedViewport(t.zoom);null!=v?(v.zoomed&&(t.zoom=v.zoom),v.panned&&(t.pan=v.pan)):t.zoom=null}return new Fr(i[0],t)}},animate:function(){return function(t,e){var n=this,r=void 0!==n.length?n:[n];if(!(this._private.cy||this).styleEnabled())return this;e&&(t=vt({},t,e));for(var i=0;i<r.length;i++){var a=r[i],s=a.animated()&&(void 0===t.queue||t.queue);a.animation(t,s?{queue:!0}:void 0).play()}return this}},stop:function(){return function(t,e){var n=this,r=void 0!==n.length?n:[n],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var a=0;a<r.length;a++){for(var s=r[a]._private,o=s.animation.current,l=0;l<o.length;l++){var c=o[l]._private;e&&(c.duration=0)}t&&(s.animation.queue=[]),e||(s.animation.current=[])}return i.notify("draw"),this}}};function ba(){if(Zr)return zr;Zr=1;var t=Array.isArray;return zr=t}function wa(){if(ti)return Jr;ti=1;var t=function(){if(Vr)return Gr;Vr=1;var t=At(),e=Et();return Gr=function(n){if(!e(n))return!1;var r=t(n);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}}(),e=function(){if(Xr)return Hr;Xr=1;var t,e=function(){if(jr)return qr;jr=1;var t=St()["__core-js_shared__"];return qr=t}(),n=(t=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";return Hr=function(t){return!!n&&n in t}}(),n=Et(),r=function(){if(Qr)return Kr;Qr=1;var t=Function.prototype.toString;return Kr=function(e){if(null!=e){try{return t.call(e)}catch(t){}try{return e+""}catch(t){}}return""}}(),i=/^\[object .+?Constructor\]$/,a=Function.prototype,s=Object.prototype,o=a.toString,l=s.hasOwnProperty,c=RegExp("^"+o.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return Jr=function(a){return!(!n(a)||e(a))&&(t(a)?c:i).test(r(a))}}function ka(){if(ii)return ri;ii=1;var t=wa(),e=(ni||(ni=1,ei=function(t,e){return null==t?void 0:t[e]}),ei);return ri=function(n,r){var i=e(n,r);return t(i)?i:void 0}}function Ta(){if(si)return ai;si=1;var t=ka()(Object,"create");return ai=t}function _a(){return ki?wi:(ki=1,wi=function(t,e){return t===e||t!=t&&e!=e})}function Ea(){if(_i)return Ti;_i=1;var t=_a();return Ti=function(e,n){for(var r=e.length;r--;)if(t(e[r][0],n))return r;return-1},Ti}function Sa(){if(Bi)return $i;Bi=1;var t=function(){if(vi)return yi;vi=1;var t=function(){if(li)return oi;li=1;var t=Ta();return oi=function(){this.__data__=t?t(null):{},this.size=0}}(),e=hi?ci:(hi=1,ci=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}),n=function(){if(di)return ui;di=1;var t=Ta(),e=Object.prototype.hasOwnProperty;return ui=function(n){var r=this.__data__;if(t){var i=r[n];return"__lodash_hash_undefined__"===i?void 0:i}return e.call(r,n)?r[n]:void 0},ui}(),r=function(){if(gi)return pi;gi=1;var t=Ta(),e=Object.prototype.hasOwnProperty;return pi=function(n){var r=this.__data__;return t?void 0!==r[n]:e.call(r,n)},pi}(),i=function(){if(mi)return fi;mi=1;var t=Ta();return fi=function(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=t&&void 0===n?"__lodash_hash_undefined__":n,this},fi}();function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}return a.prototype.clear=t,a.prototype.delete=e,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,yi=a}(),e=function(){if(Di)return Ri;Di=1;var t=bi?xi:(bi=1,xi=function(){this.__data__=[],this.size=0}),e=function(){if(Si)return Ei;Si=1;var t=Ea(),e=Array.prototype.splice;return Ei=function(n){var r=this.__data__,i=t(r,n);return!(i<0||(i==r.length-1?r.pop():e.call(r,i,1),--this.size,0))},Ei}(),n=function(){if(Ai)return Ci;Ai=1;var t=Ea();return Ci=function(e){var n=this.__data__,r=t(n,e);return r<0?void 0:n[r][1]},Ci}(),r=function(){if(Mi)return Li;Mi=1;var t=Ea();return Li=function(e){return t(this.__data__,e)>-1}}(),i=function(){if(Ii)return Ni;Ii=1;var t=Ea();return Ni=function(e,n){var r=this.__data__,i=t(r,e);return i<0?(++this.size,r.push([e,n])):r[i][1]=n,this},Ni}();function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}return a.prototype.clear=t,a.prototype.delete=e,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,Ri=a}(),n=function(){if(Pi)return Oi;Pi=1;var t=ka()(St(),"Map");return Oi=t}();return $i=function(){this.size=0,this.__data__={hash:new t,map:new(n||e),string:new t}}}function Ca(){if(Zi)return zi;Zi=1;var t=Wi?Fi:(Wi=1,Fi=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t});return zi=function(e,n){var r=e.__data__;return t(n)?r["string"==typeof n?"string":"hash"]:r.map},zi}function Aa(){if(na)return ea;na=1;var t=function(){if(ta)return Ji;ta=1;var t=function(){if(Qi)return Ki;Qi=1;var t=Sa(),e=function(){if(Ui)return Yi;Ui=1;var t=Ca();return Yi=function(e){var n=t(this,e).delete(e);return this.size-=n?1:0,n}}(),n=function(){if(Vi)return Gi;Vi=1;var t=Ca();return Gi=function(e){return t(this,e).get(e)}}(),r=function(){if(ji)return qi;ji=1;var t=Ca();return qi=function(e){return t(this,e).has(e)}}(),i=function(){if(Xi)return Hi;Xi=1;var t=Ca();return Hi=function(e,n){var r=t(this,e),i=r.size;return r.set(e,n),this.size+=r.size==i?0:1,this},Hi}();function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}return a.prototype.clear=t,a.prototype.delete=e,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,Ki=a}();function e(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw new TypeError("Expected a function");var i=function(){var t=arguments,e=r?r.apply(this,t):t[0],a=i.cache;if(a.has(e))return a.get(e);var s=n.apply(this,t);return i.cache=a.set(e,s)||a,s};return i.cache=new(e.Cache||t),i}return e.Cache=t,Ji=e}();return ea=function(e){var n=t(e,(function(t){return 500===r.size&&r.clear(),t})),r=n.cache;return n},ea}function La(){if(ia)return ra;ia=1;var t=Aa(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=t((function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(e,(function(t,e,i,a){r.push(i?a.replace(n,"$1"):e||t)})),r}));return ra=r}function Ma(){return sa||(sa=1,aa=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}),aa}function Na(){if(ha)return ca;ha=1;var t=function(){if(la)return oa;la=1;var t=Ct(),e=Ma(),n=ba(),r=Lt(),i=t?t.prototype:void 0,a=i?i.toString:void 0;return oa=function t(i){if("string"==typeof i)return i;if(n(i))return e(i,t)+"";if(r(i))return a?a.call(i):"";var s=i+"";return"0"==s&&1/i==-1/0?"-0":s},oa}();return ca=function(e){return null==e?"":t(e)}}function Ia(){if(da)return ua;da=1;var t=ba(),e=function(){if(Ur)return Yr;Ur=1;var t=ba(),e=Lt(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;return Yr=function(i,a){if(t(i))return!1;var s=typeof i;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=i&&!e(i))||r.test(i)||!n.test(i)||null!=a&&i in Object(a)}}(),n=La(),r=Na();return ua=function(i,a){return t(i)?i:e(i,a)?[i]:n(r(i))}}function Ra(){if(ga)return pa;ga=1;var t=Lt();return pa=function(e){if("string"==typeof e||t(e))return e;var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}}var Da,Oa,Pa,$a,Ba,Fa,Wa,za,Za,Ya,Ua,Ga,Va=_t(function(){if(va)return ya;va=1;var t=function(){if(ma)return fa;ma=1;var t=Ia(),e=Ra();return fa=function(n,r){for(var i=0,a=(r=t(r,n)).length;null!=n&&i<a;)n=n[e(r[i++])];return i&&i==a?n:void 0}}();return ya=function(e,n,r){var i=null==e?void 0:t(e,n);return void 0===i?r:i}}());function qa(){if(Ya)return Za;Ya=1;var t=function(){if(Fa)return Ba;Fa=1;var t=function(){if($a)return Pa;$a=1;var t=function(){if(Oa)return Da;Oa=1;var t=ka(),e=function(){try{var e=t(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();return Da=e}();return Pa=function(e,n,r){"__proto__"==n&&t?t(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}}(),e=_a(),n=Object.prototype.hasOwnProperty;return Ba=function(r,i,a){var s=r[i];n.call(r,i)&&e(s,a)&&(void 0!==a||i in r)||t(r,i,a)}}(),e=Ia(),n=function(){if(za)return Wa;za=1;var t=/^(?:0|[1-9]\d*)$/;return Wa=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e<n}}(),r=Et(),i=Ra();return Za=function(a,s,o,l){if(!r(a))return a;for(var c=-1,h=(s=e(s,a)).length,u=h-1,d=a;null!=d&&++c<h;){var p=i(s[c]),g=o;if("__proto__"===p||"constructor"===p||"prototype"===p)return a;if(c!=u){var f=d[p];void 0===(g=l?l(f,p,d):void 0)&&(g=r(f)?f:n(s[c+1])?[]:{})}t(d,p,g),d=d[p]}return a}}var ja,Ha,Xa,Ka,Qa=_t(function(){if(Ga)return Ua;Ga=1;var t=qa();return Ua=function(e,n,r){return null==e?e:t(e,n,r)}}()),Ja=function(){if(Ka)return Xa;Ka=1;var t=Ma(),e=(Ha||(Ha=1,ja=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}),ja),n=ba(),r=Lt(),i=La(),a=Ra(),s=Na();return Xa=function(o){return n(o)?t(o,a):r(o)?[o]:e(i(s(o)))}}(),ts=_t(Ja),es={data:function(t){return t=vt({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(t){},beforeSet:function(t,e){},onSet:function(t){},canSet:function(t){return!0}},t),function(e,n){var r=t,i=this,a=void 0!==i.length,s=a?i:[i],l=a?i[0]:i;if(j(e)){var c,h=-1!==e.indexOf(".")&&ts(e);if(r.allowGetting&&void 0===n)return l&&(r.beforeGet(l),c=h&&void 0===l._private[r.field][e]?Va(l._private[r.field],h):l._private[r.field][e]),c;if(r.allowSetting&&void 0!==n&&!r.immutableKeys[e]){var u=o({},e,n);r.beforeSet(i,u);for(var d=0,p=s.length;d<p;d++){var g=s[d];r.canSet(g)&&(h&&void 0===l._private[r.field][e]?Qa(g._private[r.field],h,n):g._private[r.field][e]=n)}r.updateStyle&&i.updateStyle(),r.onSet(i),r.settingTriggersEvent&&i[r.triggerFnName](r.settingEvent)}}else if(r.allowSetting&&K(e)){var f,m,y=e,v=Object.keys(y);r.beforeSet(i,y);for(var x=0;x<v.length;x++)if(m=y[f=v[x]],!r.immutableKeys[f])for(var b=0;b<s.length;b++){var w=s[b];r.canSet(w)&&(w._private[r.field][f]=m)}r.updateStyle&&i.updateStyle(),r.onSet(i),r.settingTriggersEvent&&i[r.triggerFnName](r.settingEvent)}else if(r.allowBinding&&H(e)){var k=e;i.on(r.bindingEvent,k)}else if(r.allowGetting&&void 0===e){var T;return l&&(r.beforeGet(l),T=l._private[r.field]),T}return i}},removeData:function(t){return t=vt({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},t),function(e){var n=t,r=this,i=void 0!==r.length?r:[r];if(j(e)){for(var a=e.split(/\s+/),s=a.length,o=0;o<s;o++){var l=a[o];if(!at(l)&&!n.immutableKeys[l])for(var c=0,h=i.length;c<h;c++)i[c]._private[n.field][l]=void 0}n.triggerEvent&&r[n.triggerFnName](n.event)}else if(void 0===e){for(var u=0,d=i.length;u<d;u++)for(var p=i[u]._private[n.field],g=Object.keys(p),f=0;f<g.length;f++){var m=g[f];!n.immutableKeys[m]&&(p[m]=void 0)}n.triggerEvent&&r[n.triggerFnName](n.event)}return r}}},ns={eventAliasesOn:function(t){var e=t;e.addListener=e.listen=e.bind=e.on,e.unlisten=e.unbind=e.off=e.removeListener,e.trigger=e.emit,e.pon=e.promiseOn=function(t,e){var n=this,r=Array.prototype.slice.call(arguments,0);return new Br((function(t,e){var i=r.concat([function(e){n.off.apply(n,a),t(e)}]),a=i.concat([]);n.on.apply(n,i)}))}}},rs={};[xa,es,ns].forEach((function(t){vt(rs,t)}));var is={animate:rs.animate(),animation:rs.animation(),animated:rs.animated(),clearQueue:rs.clearQueue(),delay:rs.delay(),delayAnimation:rs.delayAnimation(),stop:rs.stop()},as={classes:function(t){var e=this;if(void 0===t){var n=[];return e[0]._private.classes.forEach((function(t){return n.push(t)})),n}X(t)||(t=(t||"").match(/\S+/g)||[]);for(var r=[],i=new fe(t),a=0;a<e.length;a++){for(var s=e[a],o=s._private,l=o.classes,c=!1,h=0;h<t.length;h++){var u=t[h];if(!l.has(u)){c=!0;break}}c||(c=l.size!==t.length),c&&(o.classes=i,r.push(s))}return r.length>0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){X(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],a=0,s=n.length;a<s;a++)for(var o=n[a],l=o._private.classes,c=!1,h=0;h<t.length;h++){var u=t[h],d=l.has(u),p=!1;e||r&&!d?(l.add(u),p=!0):(!e||r&&d)&&(l.delete(u),p=!0),!c&&p&&(i.push(o),c=!0)}return i.length>0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};as.className=as.classNames=as.classes;var ss={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:dt,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ss.variable="(?:[\\w-.]|(?:\\\\"+ss.metaChar+"))+",ss.className="(?:[\\w-]|(?:\\\\"+ss.metaChar+"))+",ss.value=ss.string+"|"+ss.number,ss.id=ss.variable,function(){var t,e,n;for(t=ss.comparatorOp.split("|"),n=0;n<t.length;n++)e=t[n],ss.comparatorOp+="|@"+e;for(t=ss.comparatorOp.split("|"),n=0;n<t.length;n++)(e=t[n]).indexOf("!")>=0||"="!==e&&(ss.comparatorOp+="|\\!"+e)}();var os=20,ls=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*yt(t,e)}(t.selector,e.selector)})),cs=function(){for(var t,e={},n=0;n<ls.length;n++)e[(t=ls[n]).selector]=t.matches;return e}(),hs="("+ls.map((function(t){return t.selector})).join("|")+")",us=function(t){return t.replace(new RegExp("\\\\("+ss.metaChar+")","g"),(function(t,e){return e}))},ds=function(t,e,n){t[t.length-1]=n},ps=[{name:"group",query:!0,regex:"("+ss.group+")",populate:function(t,e,n){var r=l(n,1)[0];e.checks.push({type:0,value:"*"===r?r:r+"s"})}},{name:"state",query:!0,regex:hs,populate:function(t,e,n){var r=l(n,1)[0];e.checks.push({type:7,value:r})}},{name:"id",query:!0,regex:"\\#("+ss.id+")",populate:function(t,e,n){var r=l(n,1)[0];e.checks.push({type:8,value:us(r)})}},{name:"className",query:!0,regex:"\\.("+ss.className+")",populate:function(t,e,n){var r=l(n,1)[0];e.checks.push({type:9,value:us(r)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+ss.variable+")\\s*\\]",populate:function(t,e,n){var r=l(n,1)[0];e.checks.push({type:4,field:us(r)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+ss.variable+")\\s*("+ss.comparatorOp+")\\s*("+ss.value+")\\s*\\]",populate:function(t,e,n){var r=l(n,3),i=r[0],a=r[1],s=r[2];s=null!=new RegExp("^"+ss.string+"$").exec(s)?s.substring(1,s.length-1):parseFloat(s),e.checks.push({type:3,field:us(i),operator:a,value:s})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+ss.boolOp+")\\s*("+ss.variable+")\\s*\\]",populate:function(t,e,n){var r=l(n,2),i=r[0],a=r[1];e.checks.push({type:5,field:us(a),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+ss.meta+")\\s*("+ss.comparatorOp+")\\s*("+ss.number+")\\s*\\]\\]",populate:function(t,e,n){var r=l(n,3),i=r[0],a=r[1],s=r[2];e.checks.push({type:6,field:us(i),operator:a,value:parseFloat(s)})}},{name:"nextQuery",separator:!0,regex:ss.separator,populate:function(t,e){var n=t.currentSubject,r=t.edgeCount,i=t.compoundCount,a=t[t.length-1];return null!=n&&(a.subject=n,t.currentSubject=null),a.edgeCount=r,a.compoundCount=i,t.edgeCount=0,t.compoundCount=0,t[t.length++]={checks:[]}}},{name:"directedEdge",separator:!0,regex:ss.directedEdge,populate:function(t,e){if(null==t.currentSubject){var n={checks:[]},r=e,i={checks:[]};return n.checks.push({type:11,source:r,target:i}),ds(t,0,n),t.edgeCount++,i}var a={checks:[]},s=e,o={checks:[]};return a.checks.push({type:12,source:s,target:o}),ds(t,0,a),t.edgeCount++,o}},{name:"undirectedEdge",separator:!0,regex:ss.undirectedEdge,populate:function(t,e){if(null==t.currentSubject){var n={checks:[]},r=e,i={checks:[]};return n.checks.push({type:10,nodes:[r,i]}),ds(t,0,n),t.edgeCount++,i}var a={checks:[]},s=e,o={checks:[]};return a.checks.push({type:14,node:s,neighbor:o}),ds(t,0,a),o}},{name:"child",separator:!0,regex:ss.child,populate:function(t,e){if(null==t.currentSubject){var n={checks:[]},r={checks:[]},i=t[t.length-1];return n.checks.push({type:15,parent:i,child:r}),ds(t,0,n),t.compoundCount++,r}if(t.currentSubject===e){var a={checks:[]},s=t[t.length-1],o={checks:[]},l={checks:[]},c={checks:[]},h={checks:[]};return a.checks.push({type:19,left:s,right:o,subject:l}),l.checks=e.checks,e.checks=[{type:os}],h.checks.push({type:os}),o.checks.push({type:17,parent:h,child:c}),ds(t,0,a),t.currentSubject=l,t.compoundCount++,c}var u={checks:[]},d={checks:[]},p=[{type:17,parent:u,child:d}];return u.checks=e.checks,e.checks=p,t.compoundCount++,d}},{name:"descendant",separator:!0,regex:ss.descendant,populate:function(t,e){if(null==t.currentSubject){var n={checks:[]},r={checks:[]},i=t[t.length-1];return n.checks.push({type:16,ancestor:i,descendant:r}),ds(t,0,n),t.compoundCount++,r}if(t.currentSubject===e){var a={checks:[]},s=t[t.length-1],o={checks:[]},l={checks:[]},c={checks:[]},h={checks:[]};return a.checks.push({type:19,left:s,right:o,subject:l}),l.checks=e.checks,e.checks=[{type:os}],h.checks.push({type:os}),o.checks.push({type:18,ancestor:h,descendant:c}),ds(t,0,a),t.currentSubject=l,t.compoundCount++,c}var u={checks:[]},d={checks:[]},p=[{type:18,ancestor:u,descendant:d}];return u.checks=e.checks,e.checks=p,t.compoundCount++,d}},{name:"subject",modifier:!0,regex:ss.subject,populate:function(t,e){if(null!=t.currentSubject&&t.currentSubject!==e)return re("Redefinition of subject in selector `"+t.toString()+"`"),!1;t.currentSubject=e;var n=t[t.length-1].checks[0],r=null==n?null:n.type;11===r?n.type=13:10===r&&(n.type=14,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];ps.forEach((function(t){return t.regexObj=new RegExp("^"+t.regex)}));var gs=function(t){for(var e,n,r,i=0;i<ps.length;i++){var a=ps[i],s=a.name,o=t.match(a.regexObj);if(null!=o){n=o,e=a,r=s;var l=o[0];t=t.substring(l.length);break}}return{expr:e,match:n,name:r,remaining:t}},fs={parse:function(t){var e=this,n=e.inputText=t,r=e[0]={checks:[]};for(e.length=1,n=function(t){var e=t.match(/^\s+/);if(e){var n=e[0];t=t.substring(n.length)}return t}(n);;){var i=gs(n);if(null==i.expr)return re("The selector `"+t+"`is invalid"),!1;var a=i.match.slice(1),s=i.expr.populate(e,r,a);if(!1===s)return!1;if(null!=s&&(r=s),(n=i.remaining).match(/^\s*$/))break}var o=e[e.length-1];null!=e.currentSubject&&(o.subject=e.currentSubject),o.edgeCount=e.edgeCount,o.compoundCount=e.compoundCount;for(var l=0;l<e.length;l++){var c=e[l];if(c.compoundCount>0&&c.edgeCount>0)return re("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(c.edgeCount>1)return re("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===c.edgeCount&&re("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return j(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,a){return i.checks.reduce((function(s,o,l){return s+(a===i&&0===l?"$":"")+function(i,a){var s=i.type,o=i.value;switch(s){case 0:var l=t(o);return l.substring(0,l.length-1);case 3:var c=i.field,h=i.operator;return"["+c+n(t(h))+e(o)+"]";case 5:var u=i.operator,d=i.field;return"["+t(u)+d+"]";case 4:return"["+i.field+"]";case 6:var p=i.operator;return"[["+i.field+n(t(p))+e(o)+"]]";case 7:return o;case 8:return"#"+o;case 9:return"."+o;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var g=r(i.left,a),f=r(i.subject,a),m=r(i.right,a);return g+(g.length>0?" ":"")+f+m;case os:return""}}(o,a)}),"")},i="",a=0;a<this.length;a++){var s=this[a];i+=r(s,s.subject),this.length>1&&a<this.length-1&&(i+=", ")}return this.toStringCache=i,i}},ms=function(t,e,n){var r,i,a,s=j(t),o=Q(t),l=j(n),c=!1,h=!1,u=!1;switch(e.indexOf("!")>=0&&(e=e.replace("!",""),h=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),c=!0),(s||l||c)&&(i=s||o?""+t:"",a=""+n),c&&(t=i=i.toLowerCase(),n=a=a.toLowerCase()),e){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=t===n;break;case">":u=!0,r=t>n;break;case">=":u=!0,r=t>=n;break;case"<":u=!0,r=t<n;break;case"<=":u=!0,r=t<=n;break;default:r=!1}return!h||null==t&&u||(r=!r),r},ys=function(t,e){return t.data(e)},vs=[],xs=function(t,e){return t.checks.every((function(t){return vs[t.type](t,e)}))};vs[0]=function(t,e){var n=t.value;return"*"===n||n===e.group()},vs[7]=function(t,e){return function(t,e){return cs[t](e)}(t.value,e)},vs[8]=function(t,e){var n=t.value;return e.id()===n},vs[9]=function(t,e){var n=t.value;return e.hasClass(n)},vs[6]=function(t,e){var n=t.field,r=t.operator,i=t.value;return ms(function(t,e){return t[e]()}(e,n),r,i)},vs[3]=function(t,e){var n=t.field,r=t.operator,i=t.value;return ms(ys(e,n),r,i)},vs[5]=function(t,e){var n=t.field,r=t.operator;return function(t,e){switch(e){case"?":return!!t;case"!":return!t;case"^":return void 0===t}}(ys(e,n),r)},vs[4]=function(t,e){var n=t.field;return t.operator,void 0!==ys(e,n)},vs[10]=function(t,e){var n=t.nodes[0],r=t.nodes[1],i=e.source(),a=e.target();return xs(n,i)&&xs(r,a)||xs(r,i)&&xs(n,a)},vs[14]=function(t,e){return xs(t.node,e)&&e.neighborhood().some((function(e){return e.isNode()&&xs(t.neighbor,e)}))},vs[11]=function(t,e){return xs(t.source,e.source())&&xs(t.target,e.target())},vs[12]=function(t,e){return xs(t.source,e)&&e.outgoers().some((function(e){return e.isNode()&&xs(t.target,e)}))},vs[13]=function(t,e){return xs(t.target,e)&&e.incomers().some((function(e){return e.isNode()&&xs(t.source,e)}))},vs[15]=function(t,e){return xs(t.child,e)&&xs(t.parent,e.parent())},vs[17]=function(t,e){return xs(t.parent,e)&&e.children().some((function(e){return xs(t.child,e)}))},vs[16]=function(t,e){return xs(t.descendant,e)&&e.ancestors().some((function(e){return xs(t.ancestor,e)}))},vs[18]=function(t,e){return xs(t.ancestor,e)&&e.descendants().some((function(e){return xs(t.descendant,e)}))},vs[19]=function(t,e){return xs(t.subject,e)&&xs(t.left,e)&&xs(t.right,e)},vs[20]=function(){return!0},vs[1]=function(t,e){return t.value.has(e)},vs[2]=function(t,e){return(0,t.value)(e)};var bs={matches:function(t){for(var e=0;e<this.length;e++){var n=this[e];if(xs(n,t))return!0}return!1},filter:function(t){var e=this;if(1===e.length&&1===e[0].checks.length&&8===e[0].checks[0].type)return t.getElementById(e[0].checks[0].value).collection();var n=function(t){for(var n=0;n<e.length;n++){var r=e[n];if(xs(r,t))return!0}return!1};return null==e.text()&&(n=function(){return!0}),t.filter(n)}},ws=function(t){this.inputText=t,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==t||j(t)&&t.match(/^\s*$/)||(tt(t)?this.addQuery({checks:[{type:1,value:t.collection()}]}):H(t)?this.addQuery({checks:[{type:2,value:t}]}):j(t)?this.parse(t)||(this.invalid=!0):ee("A selector must be created from a string; found "))},ks=ws.prototype;[fs,bs].forEach((function(t){return vt(ks,t)})),ks.text=function(){return this.inputText},ks.size=function(){return this.length},ks.eq=function(t){return this[t]},ks.sameText=function(t){return!this.invalid&&!t.invalid&&this.text()===t.text()},ks.addQuery=function(t){this[this.length++]=t},ks.selector=ks.toString;var Ts={allAre:function(t){var e=new ws(t);return this.every((function(t){return e.matches(t)}))},is:function(t){var e=new ws(t);return this.some((function(t){return e.matches(t)}))},some:function(t,e){for(var n=0;n<this.length;n++)if(e?t.apply(e,[this[n],n,this]):t(this[n],n,this))return!0;return!1},every:function(t,e){for(var n=0;n<this.length;n++)if(!(e?t.apply(e,[this[n],n,this]):t(this[n],n,this)))return!1;return!0},same:function(t){if(this===t)return!0;t=this.cy().collection(t);var e=this.length;return e===t.length&&(1===e?this[0]===t[0]:this.every((function(e){return t.hasElementWithId(e.id())})))},anySame:function(t){return t=this.cy().collection(t),this.some((function(e){return t.hasElementWithId(e.id())}))},allAreNeighbors:function(t){t=this.cy().collection(t);var e=this.neighborhood();return t.every((function(t){return e.hasElementWithId(t.id())}))},contains:function(t){t=this.cy().collection(t);var e=this;return t.every((function(t){return e.hasElementWithId(t.id())}))}};Ts.allAreNeighbours=Ts.allAreNeighbors,Ts.has=Ts.contains,Ts.equal=Ts.equals=Ts.same;var _s,Es,Ss=function(t,e){return function(n,r,i,a){var s,o=n,l=this;if(null==o?s="":tt(o)&&1===o.length&&(s=o.id()),1===l.length&&s){var c=l[0]._private,h=c.traversalCache=c.traversalCache||{},u=h[e]=h[e]||[],d=Ut(s);return u[d]||(u[d]=t.call(l,n,r,i,a))}return t.call(l,n,r,i,a)}},Cs={parent:function(t){var e=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var i=this[r]._private.parent;i&&e.push(i)}return this.spawn(e,!0).filter(t)},parents:function(t){for(var e=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var i=n[r];e.push(i)}n=n.parent()}return this.spawn(e,!0).filter(t)},commonAncestors:function(t){for(var e,n=0;n<this.length;n++){var r=this[n].parents();e=(e=e||r).intersect(r)}return e.filter(t)},orphans:function(t){return this.stdFilter((function(t){return t.isOrphan()})).filter(t)},nonorphans:function(t){return this.stdFilter((function(t){return t.isChild()})).filter(t)},children:Ss((function(t){for(var e=[],n=0;n<this.length;n++)for(var r=this[n]._private.children,i=0;i<r.length;i++)e.push(r[i]);return this.spawn(e,!0).filter(t)}),"children"),siblings:function(t){return this.parent().children().not(this).filter(t)},isParent:function(){var t=this[0];if(t)return t.isNode()&&0!==t._private.children.length},isChildless:function(){var t=this[0];if(t)return t.isNode()&&0===t._private.children.length},isChild:function(){var t=this[0];if(t)return t.isNode()&&null!=t._private.parent},isOrphan:function(){var t=this[0];if(t)return t.isNode()&&null==t._private.parent},descendants:function(t){var e=[];return function t(n){for(var r=0;r<n.length;r++){var i=n[r];e.push(i),i.children().nonempty()&&t(i.children())}}(this.children()),this.spawn(e,!0).filter(t)}};function As(t,e,n,r){for(var i=[],a=new fe,s=t.cy().hasCompoundNodes(),o=0;o<t.length;o++){var l=t[o];n?i.push(l):s&&r(i,a,l)}for(;i.length>0;){var c=i.shift();e(c),a.add(c.id()),s&&r(i,a,c)}return t}function Ls(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i<r.length;i++){var a=r[i];e.has(a.id())||t.push(a)}}function Ms(t,e,n){if(n.isChild()){var r=n._private.parent;e.has(r.id())||t.push(r)}}function Ns(t,e,n){Ms(t,e,n),Ls(t,e,n)}Cs.forEachDown=function(t){return As(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ls)},Cs.forEachUp=function(t){return As(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ms)},Cs.forEachUpAndDown=function(t){return As(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ns)},Cs.ancestors=Cs.parents,(_s=Es={data:rs.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:rs.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:rs.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:rs.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:rs.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:rs.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=_s.data,_s.removeAttr=_s.removeData;var Is,Rs,Ds=Es,Os={};function Ps(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,s=0;s<a.length;s++){var o=a[s];!e&&o.isLoop()||(r+=t(i,o))}return r}}}function $s(t,e){return function(n){for(var r,i=this.nodes(),a=0;a<i.length;a++){var s=i[a][t](n);void 0===s||void 0!==r&&!e(s,r)||(r=s)}return r}}vt(Os,{degree:Ps((function(t,e){return e.source().same(e.target())?2:1})),indegree:Ps((function(t,e){return e.target().same(t)?1:0})),outdegree:Ps((function(t,e){return e.source().same(t)?1:0}))}),vt(Os,{minDegree:$s("degree",(function(t,e){return t<e})),maxDegree:$s("degree",(function(t,e){return t>e})),minIndegree:$s("indegree",(function(t,e){return t<e})),maxIndegree:$s("indegree",(function(t,e){return t>e})),minOutdegree:$s("outdegree",(function(t,e){return t<e})),maxOutdegree:$s("outdegree",(function(t,e){return t>e}))}),vt(Os,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r<n.length;r++)e+=n[r].degree(t);return e}});var Bs=function(t,e,n){for(var r=0;r<t.length;r++){var i=t[r];if(!i.locked()){var a=i._private.position,s={x:null!=e.x?e.x-a.x:0,y:null!=e.y?e.y-a.y:0};!i.isParent()||0===s.x&&0===s.y||i.children().shift(s,n),i.dirtyBoundingBoxCache()}}},Fs={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(t){t.updateCompoundBounds()},beforeSet:function(t,e){Bs(t,e,!1)},onSet:function(t){t.dirtyCompoundBoundsCache()},canSet:function(t){return!t.locked()}};Is=Rs={position:rs.data(Fs),silentPosition:rs.data(vt({},Fs,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(t,e){Bs(t,e,!0)},onSet:function(t){t.dirtyCompoundBoundsCache()}})),positions:function(t,e){if(K(t))e?this.silentPosition(t):this.position(t);else if(H(t)){var n=t,r=this.cy();r.startBatch();for(var i=0;i<this.length;i++){var a,s=this[i];(a=n(s,i))&&(e?s.silentPosition(a):s.position(a))}r.endBatch()}return this},silentPositions:function(t){return this.positions(t,!0)},shift:function(t,e,n){var r;if(K(t)?(r={x:Q(t.x)?t.x:0,y:Q(t.y)?t.y:0},n=e):j(t)&&Q(e)&&((r={x:0,y:0})[t]=e),null!=r){var i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var s=this[a];if(!(i.hasCompoundNodes()&&s.isChild()&&s.ancestors().anySame(this))){var o=s.position(),l={x:o.x+r.x,y:o.y+r.y};n?s.silentPosition(l):s.position(l)}}i.endBatch()}return this},silentShift:function(t,e){return K(t)?this.shift(t,!0):j(t)&&Q(e)&&this.shift(t,e,!0),this},renderedPosition:function(t,e){var n=this[0],r=this.cy(),i=r.zoom(),a=r.pan(),s=K(t)?t:void 0,o=void 0!==s||void 0!==e&&j(t);if(n&&n.isNode()){if(!o){var l=n.position();return s=Be(l,i,a),void 0===t?s:s[t]}for(var c=0;c<this.length;c++){var h=this[c];void 0!==e?h.position(t,(e-a[t])/i):void 0!==s&&h.position(Fe(s,i,a))}}else if(!o)return;return this},relativePosition:function(t,e){var n=this[0],r=this.cy(),i=K(t)?t:void 0,a=void 0!==i||void 0!==e&&j(t),s=r.hasCompoundNodes();if(n&&n.isNode()){if(!a){var o=n.position(),l=s?n.parent():null,c=l&&l.length>0,h=c;c&&(l=l[0]);var u=h?l.position():{x:0,y:0};return i={x:o.x-u.x,y:o.y-u.y},void 0===t?i:i[t]}for(var d=0;d<this.length;d++){var p=this[d],g=s?p.parent():null,f=g&&g.length>0,m=f;f&&(g=g[0]);var y=m?g.position():{x:0,y:0};void 0!==e?p.position(t,e+y[t]):void 0!==i&&p.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Is.modelPosition=Is.point=Is.position,Is.modelPositions=Is.points=Is.positions,Is.renderedPoint=Is.renderedPosition,Is.relativePoint=Is.relativePosition;var Ws,zs,Zs=Rs;Ws=zs={},zs.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),a=e.x1*r+i.x,s=e.x2*r+i.x,o=e.y1*r+i.y,l=e.y2*r+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}},zs.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},zs.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),s=e.position;0!==a.w&&0!==a.h||((a={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=s.x-a.w/2,a.x2=s.x+a.w/2,a.y1=s.y-a.h/2,a.y2=s.y+a.h/2);var o=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(o=100*o/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var c=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(c=100*c/i.height.val);var h=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(h=100*h/i.height.val);var u=y(i.width.val-a.w,o,l),d=u.biasDiff,p=u.biasComplementDiff,g=y(i.height.val-a.h,c,h),f=g.biasDiff,m=g.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(a.w,a.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(a.w,i.width.val),s.x=(-d+a.x1+a.x2+p)/2,e.autoHeight=Math.max(a.h,i.height.val),s.y=(-f+a.y1+a.y2+m)/2}function y(t,e,n){var r=0,i=0,a=e+n;return t>0&&a>0&&(r=e/a*t,i=n/a*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;r<this.length;r++){var i=this[r],a=i._private;a.compoundBoundsClean&&!t||(n(i),e.batching()||(a.compoundBoundsClean=!0))}return this};var Ys=function(t){return t===1/0||t===-1/0?0:t},Us=function(t,e,n,r,i){r-e!=0&&i-n!=0&&null!=e&&null!=n&&null!=r&&null!=i&&(t.x1=e<t.x1?e:t.x1,t.x2=r>t.x2?r:t.x2,t.y1=n<t.y1?n:t.y1,t.y2=i>t.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},Gs=function(t,e){return null==e?t:Us(t,e.x1,e.y1,e.x2,e.y2)},Vs=function(t,e,n){return ue(t,e,n)},qs=function(t,e,n){if(!e.cy().headless()){var r,i,a=e._private,s=a.rstyle,o=s.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=s.srcX,i=s.srcY):"target"===n?(r=s.tgtX,i=s.tgtY):(r=s.midX,i=s.midY);var l=a.arrowBounds=a.arrowBounds||{},c=l[n]=l[n]||{};c.x1=r-o,c.y1=i-o,c.x2=r+o,c.y2=i+o,c.w=c.x2-c.x1,c.h=c.y2-c.y1,Je(c,1),Us(t,c.x1,c.y1,c.x2,c.y2)}}},js=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,a=i.rstyle;if(e.pstyle(r+"label").strValue){var s,o,l,c,h=e.pstyle("text-halign"),u=e.pstyle("text-valign"),d=Vs(a,"labelWidth",n),p=Vs(a,"labelHeight",n),g=Vs(a,"labelX",n),f=Vs(a,"labelY",n),m=e.pstyle(r+"text-margin-x").pfValue,y=e.pstyle(r+"text-margin-y").pfValue,v=e.isEdge(),x=e.pstyle(r+"text-rotation"),b=e.pstyle("text-outline-width").pfValue,w=e.pstyle("text-border-width").pfValue/2,k=e.pstyle("text-background-padding").pfValue,T=p,_=d,E=_/2,S=T/2;if(v)s=g-E,o=g+E,l=f-S,c=f+S;else{switch(h.value){case"left":s=g-_,o=g;break;case"center":s=g-E,o=g+E;break;case"right":s=g,o=g+_}switch(u.value){case"top":l=f-T,c=f;break;case"center":l=f-S,c=f+S;break;case"bottom":l=f,c=f+T}}var C=m-Math.max(b,w)-k-2,A=m+Math.max(b,w)+k+2,L=y-Math.max(b,w)-k-2,M=y+Math.max(b,w)+k+2;s+=C,o+=A,l+=L,c+=M;var N=n||"main",I=i.labelBounds,R=I[N]=I[N]||{};R.x1=s,R.y1=l,R.x2=o,R.y2=c,R.w=o-s,R.h=c-l,R.leftPad=C,R.rightPad=A,R.topPad=L,R.botPad=M;var D=v&&"autorotate"===x.strValue,O=null!=x.pfValue&&0!==x.pfValue;if(D||O){var P=D?Vs(i.rstyle,"labelAngle",n):x.pfValue,$=Math.cos(P),B=Math.sin(P),F=(s+o)/2,W=(l+c)/2;if(!v){switch(h.value){case"left":F=o;break;case"right":F=s}switch(u.value){case"top":W=c;break;case"bottom":W=l}}var z=function(t,e){return{x:(t-=F)*$-(e-=W)*B+F,y:t*B+e*$+W}},Z=z(s,l),Y=z(s,c),U=z(o,l),G=z(o,c);s=Math.min(Z.x,Y.x,U.x,G.x),o=Math.max(Z.x,Y.x,U.x,G.x),l=Math.min(Z.y,Y.y,U.y,G.y),c=Math.max(Z.y,Y.y,U.y,G.y)}var V=N+"Rot",q=I[V]=I[V]||{};q.x1=s,q.y1=l,q.x2=o,q.y2=c,q.w=o-s,q.h=c-l,Us(t,s,l,o,c),Us(i.labelBounds.all,s,l,o,c)}return t}},Hs=function(t){var e=0,n=function(t){return(t?1:0)<<e++},r=0;return r+=n(t.incudeNodes),r+=n(t.includeEdges),r+=n(t.includeLabels),r+=n(t.includeMainLabels),r+=n(t.includeSourceLabels),r+=n(t.includeTargetLabels),(r+=n(t.includeOverlays))+n(t.includeOutlines)},Xs=function(t){var e=function(t){return Math.round(t)};if(t.isEdge()){var n=t.source().position(),r=t.target().position();return Yt([e(n.x),e(n.y),e(r.x),e(r.y)])}var i=t.position();return Yt([e(i.x),e(i.y)])},Ks=function(t,e){var n,r=t._private,i=t.isEdge(),a=(null==e?Js:Hs(e))===Js;if(null==r.bbCache?(n=function(t,e){var n,r,i,a,s,o,l,c=t._private.cy,h=c.styleEnabled(),u=c.headless(),d=Xe(),p=t._private,g=t.isNode(),f=t.isEdge(),m=p.rstyle,y=g&&h?t.pstyle("bounds-expansion").pfValue:[0],v=function(t){return"none"!==t.pstyle("display").value},x=!h||v(t)&&(!f||v(t.source())&&v(t.target()));if(x){var b=0;h&&e.includeOverlays&&0!==t.pstyle("overlay-opacity").value&&(b=t.pstyle("overlay-padding").value);var w=0;h&&e.includeUnderlays&&0!==t.pstyle("underlay-opacity").value&&(w=t.pstyle("underlay-padding").value);var k=Math.max(b,w),T=0;if(h&&(T=t.pstyle("width").pfValue/2),g&&e.includeNodes){var _=t.position();s=_.x,o=_.y;var E=t.outerWidth()/2,S=t.outerHeight()/2;Us(d,n=s-E,i=o-S,r=s+E,a=o+S),h&&e.includeOutlines&&function(t,e){if(!e.cy().headless()){var n,r,i=e.pstyle("outline-opacity").value,a=e.pstyle("outline-width").value;if(i>0&&a>0){var s=e.pstyle("outline-offset").value,o=e.pstyle("shape").value,l=a+s,c=(t.w+2*l)/t.w,h=(t.h+2*l)/t.h,u=0;["diamond","pentagon","round-triangle"].includes(o)?(c=(t.w+2.4*l)/t.w,u=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(o)?c=(t.w+2.4*l)/t.w:"star"===o?(c=(t.w+2.8*l)/t.w,h=(t.h+2.6*l)/t.h,u=-l/3.8):"triangle"===o?(c=(t.w+2.8*l)/t.w,h=(t.h+2.4*l)/t.h,u=-l/1.4):"vee"===o&&(c=(t.w+4.4*l)/t.w,h=(t.h+3.8*l)/t.h,u=.5*-l);var d=t.h*h-t.h,p=t.w*c-t.w;if(tn(t,[Math.ceil(d/2),Math.ceil(p/2)]),0!==u){var g=(r=u,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});Ke(t,g)}}}}(d,t)}else if(f&&e.includeEdges)if(h&&!u){var C=t.pstyle("curve-style").strValue;if(n=Math.min(m.srcX,m.midX,m.tgtX),r=Math.max(m.srcX,m.midX,m.tgtX),i=Math.min(m.srcY,m.midY,m.tgtY),a=Math.max(m.srcY,m.midY,m.tgtY),Us(d,n-=T,i-=T,r+=T,a+=T),"haystack"===C){var A=m.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var L=n;n=r,r=L}if(i>(a=A[1].y)){var M=i;i=a,a=M}Us(d,n-T,i-T,r+T,a+T)}}else if("bezier"===C||"unbundled-bezier"===C||C.endsWith("segments")||C.endsWith("taxi")){var N;switch(C){case"bezier":case"unbundled-bezier":N=m.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":N=m.linePts}if(null!=N)for(var I=0;I<N.length;I++){var R=N[I];n=R.x-T,r=R.x+T,i=R.y-T,a=R.y+T,Us(d,n,i,r,a)}}}else{var D=t.source().position(),O=t.target().position();if((n=D.x)>(r=O.x)){var P=n;n=r,r=P}if((i=D.y)>(a=O.y)){var $=i;i=a,a=$}Us(d,n-=T,i-=T,r+=T,a+=T)}if(h&&e.includeEdges&&f&&(qs(d,t,"mid-source"),qs(d,t,"mid-target"),qs(d,t,"source"),qs(d,t,"target")),h&&"yes"===t.pstyle("ghost").value){var B=t.pstyle("ghost-offset-x").pfValue,F=t.pstyle("ghost-offset-y").pfValue;Us(d,d.x1+B,d.y1+F,d.x2+B,d.y2+F)}var W=p.bodyBounds=p.bodyBounds||{};en(W,d),tn(W,y),Je(W,1),h&&(n=d.x1,r=d.x2,i=d.y1,a=d.y2,Us(d,n-k,i-k,r+k,a+k));var z=p.overlayBounds=p.overlayBounds||{};en(z,d),tn(z,y),Je(z,1);var Z=p.labelBounds=p.labelBounds||{};null!=Z.all?((l=Z.all).x1=1/0,l.y1=1/0,l.x2=-1/0,l.y2=-1/0,l.w=0,l.h=0):Z.all=Xe(),h&&e.includeLabels&&(e.includeMainLabels&&js(d,t,null),f&&(e.includeSourceLabels&&js(d,t,"source"),e.includeTargetLabels&&js(d,t,"target")))}return d.x1=Ys(d.x1),d.y1=Ys(d.y1),d.x2=Ys(d.x2),d.y2=Ys(d.y2),d.w=Ys(d.x2-d.x1),d.h=Ys(d.y2-d.y1),d.w>0&&d.h>0&&x&&(tn(d,y),Je(d,1)),d}(t,Qs),r.bbCache=n,r.bbCachePosKey=Xs(t)):n=r.bbCache,!a){var s=t.isNode();n=Xe(),(e.includeNodes&&s||e.includeEdges&&!s)&&(e.includeOverlays?Gs(n,r.overlayBounds):Gs(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?Gs(n,r.labelBounds.all):(e.includeMainLabels&&Gs(n,r.labelBounds.mainRot),e.includeSourceLabels&&Gs(n,r.labelBounds.sourceRot),e.includeTargetLabels&&Gs(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},Qs={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},Js=Hs(Qs),to=le(Qs);zs.boundingBox=function(t){var e,n=void 0===t||void 0===t.useCache||!0===t.useCache,r=ot((function(t){var e=t._private;return null==e.bbCache||e.styleDirty||e.bbCachePosKey!==Xs(t)}),(function(t){return t.id()}));if(n&&1===this.length&&!r(this[0]))t=void 0===t?Qs:to(t),e=Ks(this[0],t);else{e=Xe();var i=to(t=t||Qs),a=this,s=a.cy().styleEnabled();this.edges().forEach(r),this.nodes().forEach(r),s&&this.recalculateRenderedStyle(n),this.updateCompoundBounds(!n);for(var o=0;o<a.length;o++){var l=a[o];r(l)&&l.dirtyBoundingBoxCache(),Gs(e,Ks(l,i))}}return e.x1=Ys(e.x1),e.y1=Ys(e.y1),e.x2=Ys(e.x2),e.y2=Ys(e.y2),e.w=Ys(e.x2-e.x1),e.h=Ys(e.y2-e.y1),e},zs.dirtyBoundingBoxCache=function(){for(var t=0;t<this.length;t++){var e=this[t]._private;e.bbCache=null,e.bbCachePosKey=null,e.bodyBounds=null,e.overlayBounds=null,e.labelBounds.all=null,e.labelBounds.source=null,e.labelBounds.target=null,e.labelBounds.main=null,e.labelBounds.sourceRot=null,e.labelBounds.targetRot=null,e.labelBounds.mainRot=null,e.arrowBounds.source=null,e.arrowBounds.target=null,e.arrowBounds["mid-source"]=null,e.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},zs.boundingBoxAt=function(t){var e=this.nodes(),n=this.cy(),r=n.hasCompoundNodes(),i=n.collection();if(r&&(i=e.filter((function(t){return t.isParent()})),e=e.not(i)),K(t)){var a=t;t=function(){return a}}n.startBatch(),e.forEach((function(e,n){return e._private.bbAtOldPos=t(e,n)})).silentPositions(t),r&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0));var s=function(t){return{x1:t.x1,x2:t.x2,w:t.w,y1:t.y1,y2:t.y2,h:t.h}}(this.boundingBox({useCache:!1}));return e.silentPositions((function(t){return t._private.bbAtOldPos})),r&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0)),n.endBatch(),s},Ws.boundingbox=Ws.bb=Ws.boundingBox,Ws.renderedBoundingbox=Ws.renderedBoundingBox;var eo,no,ro=zs;eo=no={};var io=function(t){t.uppercaseName=ut(t.name),t.autoName="auto"+t.uppercaseName,t.labelName="label"+t.uppercaseName,t.outerName="outer"+t.uppercaseName,t.uppercaseOuterName=ut(t.outerName),eo[t.name]=function(){var e=this[0],n=e._private,r=n.cy._private.styleEnabled;if(e){if(r){if(e.isParent())return e.updateCompoundBounds(),n[t.autoName]||0;var i=e.pstyle(t.name);return"label"===i.strValue?(e.recalculateRenderedStyle(),n.rstyle[t.labelName]||0):i.pfValue}return 1}},eo["outer"+t.uppercaseName]=function(){var e=this[0],n=e._private.cy._private.styleEnabled;if(e){if(n){var r=e[t.name](),i=e.pstyle("border-position").value;return r+("center"===i?e.pstyle("border-width").pfValue:"outside"===i?2*e.pstyle("border-width").pfValue:0)+2*e.padding()}return 1}},eo["rendered"+t.uppercaseName]=function(){var e=this[0];if(e)return e[t.name]()*this.cy().zoom()},eo["rendered"+t.uppercaseOuterName]=function(){var e=this[0];if(e)return e[t.outerName]()*this.cy().zoom()}};io({name:"width"}),io({name:"height"}),no.padding=function(){var t=this[0],e=t._private;return t.isParent()?(t.updateCompoundBounds(),void 0!==e.autoPadding?e.autoPadding:t.pstyle("padding").pfValue):t.pstyle("padding").pfValue},no.paddedHeight=function(){var t=this[0];return t.height()+2*t.padding()},no.paddedWidth=function(){var t=this[0];return t.width()+2*t.padding()};var ao=no,so={controlPoints:{get:function(t){return t.renderer().getControlPoints(t)},mult:!0},segmentPoints:{get:function(t){return t.renderer().getSegmentPoints(t)},mult:!0},sourceEndpoint:{get:function(t){return t.renderer().getSourceEndpoint(t)}},targetEndpoint:{get:function(t){return t.renderer().getTargetEndpoint(t)}},midpoint:{get:function(t){return t.renderer().getEdgeMidpoint(t)}}},oo=Object.keys(so).reduce((function(t,e){var n=so[e],r=function(t){return"rendered"+t[0].toUpperCase()+t.substr(1)}(e);return t[e]=function(){return function(t,e){if(t.isEdge()&&t.takesUpSpace())return e(t)}(this,n.get)},n.mult?t[r]=function(){return function(t,e){if(t.isEdge()&&t.takesUpSpace()){var n=t.cy(),r=n.pan(),i=n.zoom();return e(t).map((function(t){return Be(t,i,r)}))}}(this,n.get)}:t[r]=function(){return function(t,e){if(t.isEdge()&&t.takesUpSpace()){var n=t.cy();return Be(e(t),n.zoom(),n.pan())}}(this,n.get)},t}),{}),lo=vt({},Zs,ro,ao,oo),co=function(t,e){this.recycle(t,e)};function ho(){return!1}function uo(){return!0}co.prototype={instanceString:function(){return"event"},recycle:function(t,e){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=ho,null!=t&&t.preventDefault?(this.type=t.type,this.isDefaultPrevented=t.defaultPrevented?uo:ho):null!=t&&t.type?e=t:this.type=t,null!=e&&(this.originalEvent=e.originalEvent,this.type=null!=e.type?e.type:this.type,this.cy=e.cy,this.target=e.target,this.position=e.position,this.renderedPosition=e.renderedPosition,this.namespace=e.namespace,this.layout=e.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*r+i.x,y:n.y*r+i.y}}this.timeStamp=t&&t.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=uo;var t=this.originalEvent;t&&t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.isPropagationStopped=uo;var t=this.originalEvent;t&&t.stopPropagation&&t.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=uo,this.stopPropagation()},isDefaultPrevented:ho,isPropagationStopped:ho,isImmediatePropagationStopped:ho};var po=/^([^.]+)(\.(?:[^.]+))?$/,go={qualifierCompare:function(t,e){return t===e},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(t){return t},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},fo=Object.keys(go),mo={};function yo(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:mo,e=arguments.length>1?arguments[1]:void 0,n=0;n<fo.length;n++){var r=fo[n];this[r]=t[r]||go[r]}this.context=e||this.context,this.listeners=[],this.emitting=0}var vo=yo.prototype,xo=function(t,e,n,r,i,a,s){H(r)&&(i=r,r=null),s&&(a=null==a?s:vt({},a,s));for(var o=X(n)?n:n.split(/\s+/),l=0;l<o.length;l++){var c=o[l];if(!at(c)){var h=c.match(po);if(h&&!1===e(t,c,h[1],h[2]?h[2]:null,r,i,a))break}}},bo=function(t,e){return t.addEventFields(t.context,e),new co(e.type,e)};vo.on=vo.addListener=function(t,e,n,r,i){return xo(this,(function(t,e,n,r,i,a,s){H(a)&&t.listeners.push({event:e,callback:a,type:n,namespace:r,qualifier:i,conf:s})}),t,e,n,r,i),this},vo.one=function(t,e,n,r){return this.on(t,e,n,r,{one:!0})},vo.removeListener=vo.off=function(t,e,n,r){var i=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var a=this.listeners,s=function(s){var o=a[s];xo(i,(function(e,n,r,i,l,c){if((o.type===r||"*"===t)&&(!i&&".*"!==o.namespace||o.namespace===i)&&(!l||e.qualifierCompare(o.qualifier,l))&&(!c||o.callback===c))return a.splice(s,1),!1}),t,e,n,r)},o=a.length-1;o>=0;o--)s(o);return this},vo.removeAllListeners=function(){return this.removeListener("*")},vo.emit=vo.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,X(e)||(e=[e]),function(t,e,n){if("event"!==q(n))if(K(n))e(t,bo(t,n));else for(var r=X(n)?n:n.split(/\s+/),i=0;i<r.length;i++){var a=r[i];if(!at(a)){var s=a.match(po);if(s){var o=s[1],l=s[2]?s[2]:null;e(t,bo(t,{type:o,namespace:l,target:t.context}))}}}else e(t,n)}(this,(function(t,a){null!=n&&(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],i=r.length);for(var s=function(){var n=r[o];if(n.type===a.type&&(!n.namespace||n.namespace===a.namespace||".*"===n.namespace)&&t.eventMatches(t.context,n,a)){var i=[a];null!=e&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];t.push(r)}}(i,e),t.beforeEmit(t.context,n,a),n.conf&&n.conf.one&&(t.listeners=t.listeners.filter((function(t){return t!==n})));var s=t.callbackContext(t.context,n,a),l=n.callback.apply(s,i);t.afterEmit(t.context,n,a),!1===l&&(a.stopPropagation(),a.preventDefault())}},o=0;o<i;o++)s();t.bubble(t.context)&&!a.isPropagationStopped()&&t.parent(t.context).emit(a,e)}),t),this.emitting--,this};var wo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&et(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t.cy(),e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t},beforeEmit:function(t,e){e.conf&&e.conf.once&&e.conf.onceCollection.removeListener(e.event,e.qualifier,e.callback)},bubble:function(){return!0},parent:function(t){return t.isChild()?t.parent():t.cy()}},ko=function(t){return j(t)?new ws(t):t},To={createEmitter:function(){for(var t=0;t<this.length;t++){var e=this[t],n=e._private;n.emitter||(n.emitter=new yo(wo,e))}return this},emitter:function(){return this._private.emitter},on:function(t,e,n){for(var r=ko(e),i=0;i<this.length;i++)this[i].emitter().on(t,r,n);return this},removeListener:function(t,e,n){for(var r=ko(e),i=0;i<this.length;i++)this[i].emitter().removeListener(t,r,n);return this},removeAllListeners:function(){for(var t=0;t<this.length;t++)this[t].emitter().removeAllListeners();return this},one:function(t,e,n){for(var r=ko(e),i=0;i<this.length;i++)this[i].emitter().one(t,r,n);return this},once:function(t,e,n){for(var r=ko(e),i=0;i<this.length;i++)this[i].emitter().on(t,r,n,{once:!0,onceCollection:this})},emit:function(t,e){for(var n=0;n<this.length;n++)this[n].emitter().emit(t,e);return this},emitAndNotify:function(t,e){if(0!==this.length)return this.cy().notify(t,this),this.emit(t,e),this}};rs.eventAliasesOn(To);var _o={nodes:function(t){return this.filter((function(t){return t.isNode()})).filter(t)},edges:function(t){return this.filter((function(t){return t.isEdge()})).filter(t)},byGroup:function(){for(var t=this.spawn(),e=this.spawn(),n=0;n<this.length;n++){var r=this[n];r.isNode()?t.push(r):e.push(r)}return{nodes:t,edges:e}},filter:function(t,e){if(void 0===t)return this;if(j(t)||tt(t))return new ws(t).filter(this);if(H(t)){for(var n=this.spawn(),r=this,i=0;i<r.length;i++){var a=r[i];(e?t.apply(e,[a,i,r]):t(a,i,r))&&n.push(a)}return n}return this.spawn()},not:function(t){if(t){j(t)&&(t=this.filter(t));for(var e=this.spawn(),n=0;n<this.length;n++){var r=this[n];t.has(r)||e.push(r)}return e}return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(t){if(j(t)){var e=t;return this.filter(e)}for(var n=this.spawn(),r=t,i=this.length<t.length,a=i?this:r,s=i?r:this,o=0;o<a.length;o++){var l=a[o];s.has(l)&&n.push(l)}return n},xor:function(t){var e=this._private.cy;j(t)&&(t=e.$(t));var n=this.spawn(),r=t,i=function(t,e){for(var r=0;r<t.length;r++){var i=t[r],a=i._private.data.id;e.hasElementWithId(a)||n.push(i)}};return i(this,r),i(r,this),n},diff:function(t){var e=this._private.cy;j(t)&&(t=e.$(t));var n=this.spawn(),r=this.spawn(),i=this.spawn(),a=t,s=function(t,e,n){for(var r=0;r<t.length;r++){var a=t[r],s=a._private.data.id;e.hasElementWithId(s)?i.merge(a):n.push(a)}};return s(this,a,n),s(a,this,r),{left:n,right:r,both:i}},add:function(t){var e=this._private.cy;if(!t)return this;if(j(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=this.spawnSelf(),i=0;i<t.length;i++){var a=t[i];!this.has(a)&&r.push(a)}return r},merge:function(t){var e=this._private,n=e.cy;if(!t)return this;if(t&&j(t)){var r=t;t=n.mutableElements().filter(r)}for(var i=e.map,a=0;a<t.length;a++){var s=t[a],o=s._private.data.id;if(!i.has(o)){var l=this.length++;this[l]=s,i.set(o,{ele:s,index:l})}}return this},unmergeAt:function(t){var e=this[t].id(),n=this._private.map;this[t]=void 0,n.delete(e);var r=t===this.length-1;if(this.length>1&&!r){var i=this.length-1,a=this[i],s=a._private.data.id;this[i]=void 0,this[t]=a,n.set(s,{ele:a,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&j(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r<t.length;r++)this.unmergeOne(t[r]);return this},unmergeBy:function(t){for(var e=this.length-1;e>=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;i<r.length;i++){var a=r[i],s=e?t.apply(e,[a,i,r]):t(a,i,r);n.push(s)}return n},reduce:function(t,e){for(var n=e,r=this,i=0;i<r.length;i++)n=t(n,r[i],i,r);return n},max:function(t,e){for(var n,r=-1/0,i=this,a=0;a<i.length;a++){var s=i[a],o=e?t.apply(e,[s,a,i]):t(s,a,i);o>r&&(r=o,n=s)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,a=0;a<i.length;a++){var s=i[a],o=e?t.apply(e,[s,a,i]):t(s,a,i);o<r&&(r=o,n=s)}return{value:r,ele:n}}},Eo=_o;Eo.u=Eo["|"]=Eo["+"]=Eo.union=Eo.or=Eo.add,Eo["\\"]=Eo["!"]=Eo["-"]=Eo.difference=Eo.relativeComplement=Eo.subtract=Eo.not,Eo.n=Eo["&"]=Eo["."]=Eo.and=Eo.intersection=Eo.intersect,Eo["^"]=Eo["(+)"]=Eo["(-)"]=Eo.symmetricDifference=Eo.symdiff=Eo.xor,Eo.fnFilter=Eo.filterFn=Eo.stdFilter=Eo.filter,Eo.complement=Eo.abscomp=Eo.absoluteComplement;var So,Co=function(t,e){var n=t.cy().hasCompoundNodes();function r(t){var e=t.pstyle("z-compound-depth");return"auto"===e.value?n?t.zDepth():0:"bottom"===e.value?-1:"top"===e.value?Xt:0}var i=r(t)-r(e);if(0!==i)return i;function a(t){return"auto"===t.pstyle("z-index-compare").value&&t.isNode()?1:0}var s=a(t)-a(e);if(0!==s)return s;var o=t.pstyle("z-index").value-e.pstyle("z-index").value;return 0!==o?o:t.poolIndex()-e.poolIndex()},Ao={forEach:function(t,e){if(H(t))for(var n=this.length,r=0;r<n;r++){var i=this[r];if(!1===(e?t.apply(e,[i,r,this]):t(i,r,this)))break}return this},toArray:function(){for(var t=[],e=0;e<this.length;e++)t.push(this[e]);return t},slice:function(t,e){var n=[],r=this.length;null==e&&(e=r),null==t&&(t=0),t<0&&(t=r+t),e<0&&(e=r+e);for(var i=t;i>=0&&i<e&&i<r;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(t){return this[t]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(t){if(!H(t))return this;var e=this.toArray().sort(t);return this.spawn(e)},sortByZIndex:function(){return this.sort(Co)},zDepth:function(){var t=this[0];if(t){var e=t._private;if("nodes"===e.group){var n=e.data.parent?t.parents().size():0;return t.isParent()?n:Xt-1}var r=e.source,i=e.target,a=r.zDepth(),s=i.zDepth();return Math.max(a,s,0)}}};Ao.each=Ao.forEach,So="undefined",("undefined"==typeof Symbol?"undefined":u(Symbol))!=So&&u(Symbol.iterator)!=So&&(Ao[Symbol.iterator]=function(){var t=this,e={value:void 0,done:!1},n=0,r=this.length;return o({next:function(){return n<r?e.value=t[n++]:(e.value=void 0,e.done=!0),e}},Symbol.iterator,(function(){return this}))});var Lo=le({nodeDimensionsIncludeLabels:!1}),Mo={layoutDimensions:function(t){var e;if(t=Lo(t),this.takesUpSpace())if(t.nodeDimensionsIncludeLabels){var n=this.boundingBox();e={w:n.w,h:n.h}}else e={w:this.outerWidth(),h:this.outerHeight()};else e={w:0,h:0};return 0!==e.w&&0!==e.h||(e.w=e.h=1),e},layoutPositions:function(t,e,n){var r=this.nodes().filter((function(t){return!t.isParent()})),i=this.cy(),a=e.eles,s=function(t){return t.id()},o=ot(n,s);t.emit({type:"layoutstart",layout:t}),t.animations=[];var l=e.spacingFactor&&1!==e.spacingFactor,c=function(){if(!l)return null;for(var t=Xe(),e=0;e<r.length;e++){var n=r[e],i=o(n,e);Qe(t,i.x,i.y)}return t}(),h=ot((function(t,n){var r,i,a,s,h,u=o(t,n);return l&&(r=Math.abs(e.spacingFactor),a=u,s=(i=c).x1+i.w/2,h=i.y1+i.h/2,u={x:s+(a.x-s)*r,y:h+(a.y-h)*r}),null!=e.transform&&(u=e.transform(t,u)),u}),s);if(e.animate){for(var u=0;u<r.length;u++){var d=r[u],p=h(d,u);if(null==e.animateFilter||e.animateFilter(d,u)){var g=d.animation({position:p,duration:e.animationDuration,easing:e.animationEasing});t.animations.push(g)}else d.position(p)}if(e.fit){var f=i.animation({fit:{boundingBox:a.boundingBoxAt(h),padding:e.padding},duration:e.animationDuration,easing:e.animationEasing});t.animations.push(f)}else if(void 0!==e.zoom&&void 0!==e.pan){var m=i.animation({zoom:e.zoom,pan:e.pan,duration:e.animationDuration,easing:e.animationEasing});t.animations.push(m)}t.animations.forEach((function(t){return t.play()})),t.one("layoutready",e.ready),t.emit({type:"layoutready",layout:t}),Br.all(t.animations.map((function(t){return t.promise()}))).then((function(){t.one("layoutstop",e.stop),t.emit({type:"layoutstop",layout:t})}))}else r.positions(h),e.fit&&i.fit(e.eles,e.padding),null!=e.zoom&&i.zoom(e.zoom),e.pan&&i.pan(e.pan),t.one("layoutready",e.ready),t.emit({type:"layoutready",layout:t}),t.one("layoutstop",e.stop),t.emit({type:"layoutstop",layout:t});return this},layout:function(t){return this.cy().makeLayout(vt({},t,{eles:this}))}};function No(t,e,n){var r,i=n._private,a=i.styleCache=i.styleCache||[];return null!=(r=a[t])?r:r=a[t]=e(n)}function Io(t,e){return t=Ut(t),function(n){return No(t,e,n)}}function Ro(t,e){t=Ut(t);var n=function(t){return e.call(t)};return function(){var e=this[0];if(e)return No(t,n,e)}}Mo.createLayout=Mo.makeLayout=Mo.layout;var Do={recalculateRenderedStyle:function(t){var e=this.cy(),n=e.renderer(),r=e.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,t),this},dirtyStyleCache:function(){var t,e=this.cy(),n=function(t){return t._private.styleCache=null};return e.hasCompoundNodes()?((t=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(t.connectedEdges()),t.forEach(n)):this.forEach((function(t){n(t),t.connectedEdges().forEach(n)})),this},updateStyle:function(t){var e=this._private.cy;if(!e.styleEnabled())return this;if(e.batching())return e._private.batchStyleEles.merge(this),this;var n=this;t=!(!t&&void 0!==t),e.hasCompoundNodes()&&(n=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var r=n;return t?r.emitAndNotify("style"):r.emit("style"),n.forEach((function(t){return t._private.styleDirty=!0})),this},cleanStyle:function(){var t=this.cy();if(t.styleEnabled())for(var e=0;e<this.length;e++){var n=this[e];n._private.styleDirty&&(n._private.styleDirty=!1,t.style().apply(n))}},parsedStyle:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,r.style().apply(n));var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(K(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(j(t)){if(void 0===e){var a=this[0];return a?r.getStylePropertyValue(a,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var s=this[0];return s?r.getRawStyle(s):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i<r.length;i++){var a=r[i];n.removeAllBypasses(a,!1)}else{t=t.split(/\s+/);for(var s=0;s<r.length;s++){var o=r[s];n.removeBypasses(o,t,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var t=this.cy();if(!t.styleEnabled())return 1;var e=t.hasCompoundNodes(),n=this[0];if(n){var r=n._private,i=n.pstyle("opacity").value;if(!e)return i;var a=r.data.parent?n.parents():null;if(a)for(var s=0;s<a.length;s++)i*=a[s].pstyle("opacity").value;return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var t=this[0],e=t.cy().hasCompoundNodes();return t?e?0===t.effectiveOpacity():0===t.pstyle("opacity").value:void 0},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function Oo(t,e){var n=t._private.data.parent?t.parents():null;if(n)for(var r=0;r<n.length;r++)if(!e(n[r]))return!1;return!0}function Po(t){var e=t.ok,n=t.edgeOkViaNode||t.ok,r=t.parentOk||t.ok;return function(){var t=this.cy();if(!t.styleEnabled())return!0;var i=this[0],a=t.hasCompoundNodes();if(i){var s=i._private;if(!e(i))return!1;if(i.isNode())return!a||Oo(i,r);var o=s.source,l=s.target;return n(o)&&(!a||Oo(o,n))&&(o===l||n(l)&&(!a||Oo(l,n)))}}}var $o=Io("eleTakesUpSpace",(function(t){return"element"===t.pstyle("display").value&&0!==t.width()&&(!t.isNode()||0!==t.height())}));Do.takesUpSpace=Ro("takesUpSpace",Po({ok:$o}));var Bo=Io("eleInteractive",(function(t){return"yes"===t.pstyle("events").value&&"visible"===t.pstyle("visibility").value&&$o(t)})),Fo=Io("parentInteractive",(function(t){return"visible"===t.pstyle("visibility").value&&$o(t)}));Do.interactive=Ro("interactive",Po({ok:Bo,parentOk:Fo,edgeOkViaNode:$o})),Do.noninteractive=function(){var t=this[0];if(t)return!t.interactive()};var Wo=Io("eleVisible",(function(t){return"visible"===t.pstyle("visibility").value&&0!==t.pstyle("opacity").pfValue&&$o(t)})),zo=$o;Do.visible=Ro("visible",Po({ok:Wo,edgeOkViaNode:zo})),Do.hidden=function(){var t=this[0];if(t)return!t.visible()},Do.isBundledBezier=Ro("isBundledBezier",(function(){return!!this.cy().styleEnabled()&&!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace()})),Do.bypass=Do.css=Do.style,Do.renderedCss=Do.renderedStyle,Do.removeBypass=Do.removeCss=Do.removeStyle,Do.pstyle=Do.parsedStyle;var Zo={};function Yo(t){return function(){var e=arguments,n=[];if(2===e.length){var r=e[0],i=e[1];this.on(t.event,r,i)}else if(1===e.length&&H(e[0])){var a=e[0];this.on(t.event,a)}else if(0===e.length||1===e.length&&X(e[0])){for(var s=1===e.length?e[0]:null,o=0;o<this.length;o++){var l=this[o],c=!t.ableField||l._private[t.ableField],h=l._private[t.field]!=t.value;if(t.overrideAble){var u=t.overrideAble(l);if(void 0!==u&&(c=u,!u))return this}c&&(l._private[t.field]=t.value,h&&n.push(l))}var d=this.spawn(n);d.updateStyle(),d.emit(t.event),s&&d.emit(s)}return this}}function Uo(t){Zo[t.field]=function(){var e=this[0];if(e){if(t.overrideField){var n=t.overrideField(e);if(void 0!==n)return n}return e._private[t.field]}},Zo[t.on]=Yo({event:t.on,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!0}),Zo[t.off]=Yo({event:t.off,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!1})}Uo({field:"locked",overrideField:function(t){return!!t.cy().autolock()||void 0},on:"lock",off:"unlock"}),Uo({field:"grabbable",overrideField:function(t){return!t.cy().autoungrabify()&&!t.pannable()&&void 0},on:"grabify",off:"ungrabify"}),Uo({field:"selected",ableField:"selectable",overrideAble:function(t){return!t.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),Uo({field:"selectable",overrideField:function(t){return!t.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),Zo.deselect=Zo.unselect,Zo.grabbed=function(){var t=this[0];if(t)return t._private.grabbed},Uo({field:"active",on:"activate",off:"unactivate"}),Uo({field:"pannable",on:"panify",off:"unpanify"}),Zo.inactive=function(){var t=this[0];if(t)return!t._private.active};var Go={},Vo=function(t){return function(e){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode()){for(var a=!1,s=i.connectedEdges(),o=0;o<s.length;o++){var l=s[o],c=l.source(),h=l.target();if(t.noIncomingEdges&&h===i&&c!==i||t.noOutgoingEdges&&c===i&&h!==i){a=!0;break}}a||n.push(i)}}return this.spawn(n,!0).filter(e)}},qo=function(t){return function(e){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var a=i.connectedEdges(),s=0;s<a.length;s++){var o=a[s],l=o.source(),c=o.target();t.outgoing&&l===i?(n.push(o),n.push(c)):t.incoming&&c===i&&(n.push(o),n.push(l))}}return this.spawn(n,!0).filter(e)}},jo=function(t){return function(e){for(var n=this,r=[],i={};;){var a=t.outgoing?n.outgoers():n.incomers();if(0===a.length)break;for(var s=!1,o=0;o<a.length;o++){var l=a[o],c=l.id();i[c]||(i[c]=!0,r.push(l),s=!0)}if(!s)break;n=a}return this.spawn(r,!0).filter(e)}};function Ho(t){return function(e){for(var n=[],r=0;r<this.length;r++){var i=this[r]._private[t.attr];i&&n.push(i)}return this.spawn(n,!0).filter(e)}}function Xo(t){return function(e){var n=[],r=this._private.cy,i=t||{};j(e)&&(e=r.$(e));for(var a=0;a<e.length;a++)for(var s=e[a]._private.edges,o=0;o<s.length;o++){var l=s[o],c=l._private.data,h=this.hasElementWithId(c.source)&&e.hasElementWithId(c.target),u=e.hasElementWithId(c.source)&&this.hasElementWithId(c.target);if(h||u){if(i.thisIsSrc||i.thisIsTgt){if(i.thisIsSrc&&!h)continue;if(i.thisIsTgt&&!u)continue}n.push(l)}}return this.spawn(n,!0)}}function Ko(t){return t=vt({},{codirected:!1},t),function(e){for(var n=[],r=this.edges(),i=t,a=0;a<r.length;a++)for(var s=r[a]._private,o=s.source,l=o._private.data.id,c=s.data.target,h=o._private.edges,u=0;u<h.length;u++){var d=h[u],p=d._private.data,g=p.target,f=p.source,m=g===c&&f===l,y=l===g&&c===f;(i.codirected&&m||!i.codirected&&(m||y))&&n.push(d)}return this.spawn(n,!0).filter(e)}}Go.clearTraversalCache=function(){for(var t=0;t<this.length;t++)this[t]._private.traversalCache=null},vt(Go,{roots:Vo({noIncomingEdges:!0}),leaves:Vo({noOutgoingEdges:!0}),outgoers:Ss(qo({outgoing:!0}),"outgoers"),successors:jo({outgoing:!0}),incomers:Ss(qo({incoming:!0}),"incomers"),predecessors:jo({})}),vt(Go,{neighborhood:Ss((function(t){for(var e=[],n=this.nodes(),r=0;r<n.length;r++)for(var i=n[r],a=i.connectedEdges(),s=0;s<a.length;s++){var o=a[s],l=o.source(),c=o.target(),h=i===l?c:l;h.length>0&&e.push(h[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Go.neighbourhood=Go.neighborhood,Go.closedNeighbourhood=Go.closedNeighborhood,Go.openNeighbourhood=Go.openNeighborhood,vt(Go,{source:Ss((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Ss((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Ho({attr:"source"}),targets:Ho({attr:"target"})}),vt(Go,{edgesWith:Ss(Xo(),"edgesWith"),edgesTo:Ss(Xo({thisIsSrc:!0}),"edgesTo")}),vt(Go,{connectedEdges:Ss((function(t){for(var e=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var i=r._private.edges,a=0;a<i.length;a++){var s=i[a];e.push(s)}}return this.spawn(e,!0).filter(t)}),"connectedEdges"),connectedNodes:Ss((function(t){for(var e=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(e.push(r.source()[0]),e.push(r.target()[0]))}return this.spawn(e,!0).filter(t)}),"connectedNodes"),parallelEdges:Ss(Ko(),"parallelEdges"),codirectedEdges:Ss(Ko({codirected:!0}),"codirectedEdges")}),vt(Go,{components:function(t){var e=this,n=e.cy(),r=n.collection(),i=null==t?e.nodes():t.nodes(),a=[];null!=t&&i.empty()&&(i=t.sources());var s=function(t,e){r.merge(t),i.unmerge(t),e.merge(t)};if(i.empty())return e.spawn();var o=function(){var t=n.collection();a.push(t);var r=i[0];s(r,t),e.bfs({directed:!1,roots:r,visit:function(e){return s(e,t)}}),t.forEach((function(n){n.connectedEdges().forEach((function(n){e.has(n)&&t.has(n.source())&&t.has(n.target())&&t.merge(n)}))}))};do{o()}while(i.length>0);return a},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Go.componentsOf=Go.components;var Qo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new pe,a=!1;if(e){if(e.length>0&&K(e[0])&&!et(e[0])){a=!0;for(var s=[],o=new fe,l=0,c=e.length;l<c;l++){var h=e[l];null==h.data&&(h.data={});var u=h.data;if(null==u.id)u.id=ae();else if(t.hasElementWithId(u.id)||o.has(u.id))continue;var d=new me(t,h,!1);s.push(d),o.add(u.id)}e=s}}else e=[];this.length=0;for(var p=0,g=e.length;p<g;p++){var f=e[p][0];if(null!=f){var m=f._private.data.id;n&&i.has(m)||(n&&i.set(m,{index:this.length,ele:f}),this[this.length]=f,this.length++)}}this._private={eles:this,cy:t,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(t){this.lazyMap=t},rebuildMap:function(){for(var t=this.lazyMap=new pe,e=this.eles,n=0;n<e.length;n++){var r=e[n];t.set(r.id(),{index:n,ele:r})}}},n&&(this._private.map=i),a&&!r&&this.restore()}else ee("A collection must have a reference to the core")},Jo=me.prototype=Qo.prototype=Object.create(Array.prototype);Jo.instanceString=function(){return"collection"},Jo.spawn=function(t,e){return new Qo(this.cy(),t,e)},Jo.spawnSelf=function(){return this.spawn(this)},Jo.cy=function(){return this._private.cy},Jo.renderer=function(){return this._private.cy.renderer()},Jo.element=function(){return this[0]},Jo.collection=function(){return nt(this)?this:new Qo(this._private.cy,[this])},Jo.unique=function(){return new Qo(this._private.cy,this,!0)},Jo.hasElementWithId=function(t){return t=""+t,this._private.map.has(t)},Jo.getElementById=function(t){t=""+t;var e=this._private.cy,n=this._private.map.get(t);return n?n.ele:new Qo(e)},Jo.$id=Jo.getElementById,Jo.poolIndex=function(){var t=this._private.cy._private.elements,e=this[0]._private.data.id;return t._private.map.get(e).index},Jo.indexOf=function(t){var e=t[0]._private.data.id;return this._private.map.get(e).index},Jo.indexOfId=function(t){return t=""+t,this._private.map.get(t).index},Jo.json=function(t){var e=this.element(),n=this.cy();if(null==e&&t)return this;if(null!=e){var r=e._private;if(K(t)){if(n.startBatch(),t.data){e.data(t.data);var i=r.data;if(e.isEdge()){var a=!1,s={},o=t.data.source,l=t.data.target;null!=o&&o!=i.source&&(s.source=""+o,a=!0),null!=l&&l!=i.target&&(s.target=""+l,a=!0),a&&(e=e.move(s))}else{var c="parent"in t.data,h=t.data.parent;!c||null==h&&null==i.parent||h==i.parent||(void 0===h&&(h=null),null!=h&&(h=""+h),e=e.move({parent:h}))}}t.position&&e.position(t.position);var u=function(n,i,a){var s=t[n];null!=s&&s!==r[n]&&(s?e[i]():e[a]())};return u("removed","remove","restore"),u("selected","select","unselect"),u("selectable","selectify","unselectify"),u("locked","lock","unlock"),u("grabbable","grabify","ungrabify"),u("pannable","panify","unpanify"),null!=t.classes&&e.classes(t.classes),n.endBatch(),this}if(void 0===t){var d={data:ie(r.data),position:ie(r.position),group:r.group,removed:r.removed,selected:r.selected,selectable:r.selectable,locked:r.locked,grabbable:r.grabbable,pannable:r.pannable,classes:""},p=0;return r.classes.forEach((function(t){return d.classes+=0==p++?t:" "+t})),d}}},Jo.jsons=function(){for(var t=[],e=0;e<this.length;e++){var n=this[e].json();t.push(n)}return t},Jo.clone=function(){for(var t=this.cy(),e=[],n=0;n<this.length;n++){var r=this[n].json(),i=new me(t,r,!1);e.push(i)}return new Qo(t,e)},Jo.copy=Jo.clone,Jo.restore=function(){for(var t,e,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),s=a._private,o=[],l=[],c=0,h=i.length;c<h;c++){var u=i[c];r&&!u.removed()||(u.isNode()?o.push(u):l.push(u))}t=o.concat(l);var d=function(){t.splice(e,1),e--};for(e=0;e<t.length;e++){var p=t[e],g=p._private,f=g.data;if(p.clearTraversalCache(),r||g.removed)if(void 0===f.id)f.id=ae();else if(Q(f.id))f.id=""+f.id;else{if(at(f.id)||!j(f.id)){ee("Can not create element with invalid string ID `"+f.id+"`"),d();continue}if(a.hasElementWithId(f.id)){ee("Can not create second element with ID `"+f.id+"`"),d();continue}}var m=f.id;if(p.isNode()){var y=g.position;null==y.x&&(y.x=0),null==y.y&&(y.y=0)}if(p.isEdge()){for(var v=p,x=["source","target"],b=x.length,w=!1,k=0;k<b;k++){var T=x[k],_=f[T];Q(_)&&(_=f[T]=""+f[T]),null==_||""===_?(ee("Can not create edge `"+m+"` with unspecified "+T),w=!0):a.hasElementWithId(_)||(ee("Can not create edge `"+m+"` with nonexistant "+T+" `"+_+"`"),w=!0)}if(w){d();continue}var E=a.getElementById(f.source),S=a.getElementById(f.target);E.same(S)?E._private.edges.push(v):(E._private.edges.push(v),S._private.edges.push(v)),v._private.source=E,v._private.target=S}g.map=new pe,g.map.set(m,{ele:p,index:0}),g.removed=!1,r&&a.addToPool(p)}for(var C=0;C<o.length;C++){var A=o[C],L=A._private.data;Q(L.parent)&&(L.parent=""+L.parent);var M=L.parent;if(null!=M||A._private.parent){var N=A._private.parent?a.collection().merge(A._private.parent):a.getElementById(M);if(N.empty())L.parent=void 0;else if(N[0].removed())re("Node added with missing parent, reference to parent removed"),L.parent=void 0,A._private.parent=null;else{for(var I=!1,R=N;!R.empty();){if(A.same(R)){I=!0,L.parent=void 0;break}R=R.parent()}I||(N[0]._private.children.push(A),A._private.parent=N[0],s.hasCompoundNodes=!0)}}}if(t.length>0){for(var D=t.length===i.length?i:new Qo(a,t),O=0;O<D.length;O++){var P=D[O];P.isNode()||(P.parallelEdges().clearTraversalCache(),P.source().clearTraversalCache(),P.target().clearTraversalCache())}(s.hasCompoundNodes?a.collection().merge(D).merge(D.connectedNodes()).merge(D.parent()):D).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(n),n?D.emitAndNotify("add"):r&&D.emit("add")}return i},Jo.removed=function(){var t=this[0];return t&&t._private.removed},Jo.inside=function(){var t=this[0];return t&&!t._private.removed},Jo.remove=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function s(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n<e.length;n++)s(e[n])}(t),function(t){for(var e=t._private.children,n=0;n<e.length;n++)s(e[n])}(t)):r.unshift(t))}for(var o=0,l=n.length;o<l;o++)s(n[o]);function c(t,e){var n=t._private.edges;ce(n,e),t.clearTraversalCache()}function h(t){t.clearTraversalCache()}var u=[];function d(t,e){e=e[0];var n=(t=t[0])._private.children,r=t.id();ce(n,e),e._private.parent=null,u.ids[r]||(u.ids[r]=!0,u.push(t))}u.ids={},n.dirtyCompoundBoundsCache(),e&&a.removeFromPool(r);for(var p=0;p<r.length;p++){var g=r[p];if(g.isEdge()){var f=g.source()[0],m=g.target()[0];c(f,g),c(m,g);for(var y=g.parallelEdges(),v=0;v<y.length;v++){var x=y[v];h(x),x.isBundledBezier()&&x.dirtyBoundingBoxCache()}}else{var b=g.parent();0!==b.length&&d(b,g)}e&&(g._private.removed=!0)}var w=a._private.elements;a._private.hasCompoundNodes=!1;for(var k=0;k<w.length;k++)if(w[k].isParent()){a._private.hasCompoundNodes=!0;break}var T=new Qo(this.cy(),r);T.size()>0&&(t?T.emitAndNotify("remove"):e&&T.emit("remove"));for(var _=0;_<u.length;_++){var E=u[_];e&&E.removed()||E.updateStyle()}return T},Jo.move=function(t){var e=this._private.cy,n=this,r=!1,i=!1,a=function(t){return null==t?t:""+t};if(void 0!==t.source||void 0!==t.target){var s=a(t.source),o=a(t.target),l=null!=s&&e.hasElementWithId(s),c=null!=o&&e.hasElementWithId(o);(l||c)&&(e.batch((function(){n.remove(r,i),n.emitAndNotify("moveout");for(var t=0;t<n.length;t++){var e=n[t],a=e._private.data;e.isEdge()&&(l&&(a.source=s),c&&(a.target=o))}n.restore(r,i)})),n.emitAndNotify("move"))}else if(void 0!==t.parent){var h=a(t.parent);if(null===h||e.hasElementWithId(h)){var u=null===h?void 0:h;e.batch((function(){var t=n.remove(r,i);t.emitAndNotify("moveout");for(var e=0;e<n.length;e++){var a=n[e],s=a._private.data;a.isNode()&&(s.parent=u)}t.restore(r,i)})),n.emitAndNotify("move")}}return this},[Nr,is,as,Ts,Cs,Ds,Os,lo,To,_o,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var t=this[0];if(t)return t._private.group}},Ao,Mo,Do,Zo,Go].forEach((function(t){vt(Jo,t)}));var tl={add:function(t){var e,n=this;if(tt(t)){var r=t;if(r._private.cy===n)e=r.restore();else{for(var i=[],a=0;a<r.length;a++){var s=r[a];i.push(s.json())}e=new Qo(n,i)}}else if(X(t))e=new Qo(n,t);else if(K(t)&&(X(t.nodes)||X(t.edges))){for(var o=t,l=[],c=["nodes","edges"],h=0,u=c.length;h<u;h++){var d=c[h],p=o[d];if(X(p))for(var g=0,f=p.length;g<f;g++){var m=vt({group:d},p[g]);l.push(m)}}e=new Qo(n,l)}else e=new me(n,t).collection();return e},remove:function(t){if(tt(t));else if(j(t)){var e=t;t=this.$(e)}return t.remove()}};function el(t,e,n,r){var i=.1,a="undefined"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var s=0;s<4;++s)if("number"!=typeof arguments[s]||isNaN(arguments[s])||!isFinite(arguments[s]))return!1;t=Math.min(t,1),n=Math.min(n,1),t=Math.max(t,0),n=Math.max(n,0);var o=a?new Float32Array(11):new Array(11);function l(t,e){return 1-3*e+3*t}function c(t,e){return 3*e-6*t}function h(t){return 3*t}function u(t,e,n){return((l(e,n)*t+c(e,n))*t+h(e))*t}function d(t,e,n){return 3*l(e,n)*t*t+2*c(e,n)*t+h(e)}var p=!1;var g=function(a){return p||(p=!0,t===e&&n===r||function(){for(var e=0;e<11;++e)o[e]=u(e*i,t,n)}()),t===e&&n===r?a:0===a?0:1===a?1:u(function(e){for(var r=0,a=1;10!==a&&o[a]<=e;++a)r+=i;--a;var s=r+(e-o[a])/(o[a+1]-o[a])*i,l=d(s,t,n);return l>=.001?function(e,r){for(var i=0;i<4;++i){var a=d(r,t,n);if(0===a)return r;r-=(u(r,t,n)-e)/a}return r}(e,s):0===l?s:function(e,r,i){var a,s,o=0;do{(a=u(s=r+(i-r)/2,t,n)-e)>0?i=s:r=s}while(Math.abs(a)>1e-7&&++o<10);return s}(e,r,r+i)}(a),e,r)};g.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var f="generateBezier("+[t,e,n,r]+")";return g.toString=function(){return f},g}var nl=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},a=e(n,.5*r,i),s=e(n,.5*r,a),o=e(n,r,s),l=1/6*(i.dx+2*(a.dx+s.dx)+o.dx),c=1/6*(i.dv+2*(a.dv+s.dv)+o.dv);return n.x=n.x+l*r,n.v=n.v+c*r,n}return function t(e,r,i){var a,s,o,l={x:-1,v:0,tension:null,friction:null},c=[0],h=0,u=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,l.tension=e,l.friction=r,s=(a=null!==i)?(h=t(e,r))/i*.016:.016;o=n(o||l,s),c.push(1+o.x),h+=16,Math.abs(o.x)>u&&Math.abs(o.v)>u;);return a?function(t){return c[t*(c.length-1)|0]}:h}}(),rl=function(t,e,n,r){var i=el(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},il={linear:function(t,e,n){return t+(e-t)*n},ease:rl(.25,.1,.25,1),"ease-in":rl(.42,0,1,1),"ease-out":rl(0,0,.58,1),"ease-in-out":rl(.42,0,.58,1),"ease-in-sine":rl(.47,0,.745,.715),"ease-out-sine":rl(.39,.575,.565,1),"ease-in-out-sine":rl(.445,.05,.55,.95),"ease-in-quad":rl(.55,.085,.68,.53),"ease-out-quad":rl(.25,.46,.45,.94),"ease-in-out-quad":rl(.455,.03,.515,.955),"ease-in-cubic":rl(.55,.055,.675,.19),"ease-out-cubic":rl(.215,.61,.355,1),"ease-in-out-cubic":rl(.645,.045,.355,1),"ease-in-quart":rl(.895,.03,.685,.22),"ease-out-quart":rl(.165,.84,.44,1),"ease-in-out-quart":rl(.77,0,.175,1),"ease-in-quint":rl(.755,.05,.855,.06),"ease-out-quint":rl(.23,1,.32,1),"ease-in-out-quint":rl(.86,0,.07,1),"ease-in-expo":rl(.95,.05,.795,.035),"ease-out-expo":rl(.19,1,.22,1),"ease-in-out-expo":rl(1,0,0,1),"ease-in-circ":rl(.6,.04,.98,.335),"ease-out-circ":rl(.075,.82,.165,1),"ease-in-out-circ":rl(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return il.linear;var r=nl(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":rl};function al(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var a=i(e,n,r);return null==t||((t.roundValue||t.color)&&(a=Math.round(a)),void 0!==t.min&&(a=Math.max(a,t.min)),void 0!==t.max&&(a=Math.min(a,t.max))),a}function sl(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function ol(t,e,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var s=sl(t,i),o=sl(e,i);if(Q(s)&&Q(o))return al(a,s,o,n,r);if(X(s)&&X(o)){for(var l=[],c=0;c<o.length;c++){var h=s[c],u=o[c];if(null!=h&&null!=u){var d=al(a,h,u,n,r);l.push(d)}else l.push(u)}return l}}function ll(t,e,n,r){var i=!r,a=t._private,s=e._private,o=s.easing,l=s.startTime,c=(r?t:t.cy()).style();if(!s.easingImpl)if(null==o)s.easingImpl=il.linear;else{var h,u,d;h=j(o)?c.parse("transition-timing-function",o).value:o,j(h)?(u=h,d=[]):(u=h[1],d=h.slice(2).map((function(t){return+t}))),d.length>0?("spring"===u&&d.push(s.duration),s.easingImpl=il[u].apply(null,d)):s.easingImpl=il[u]}var p,g=s.easingImpl;if(p=0===s.duration?1:(n-l)/s.duration,s.applying&&(p=s.progress),p<0?p=0:p>1&&(p=1),null==s.delay){var f=s.startPosition,m=s.position;if(m&&i&&!t.locked()){var y={};cl(f.x,m.x)&&(y.x=ol(f.x,m.x,p,g)),cl(f.y,m.y)&&(y.y=ol(f.y,m.y,p,g)),t.position(y)}var v=s.startPan,x=s.pan,b=a.pan,w=null!=x&&r;w&&(cl(v.x,x.x)&&(b.x=ol(v.x,x.x,p,g)),cl(v.y,x.y)&&(b.y=ol(v.y,x.y,p,g)),t.emit("pan"));var k=s.startZoom,T=s.zoom,_=null!=T&&r;_&&(cl(k,T)&&(a.zoom=He(a.minZoom,ol(k,T,p,g),a.maxZoom)),t.emit("zoom")),(w||_)&&t.emit("viewport");var E=s.style;if(E&&E.length>0&&i){for(var S=0;S<E.length;S++){var C=E[S],A=C.name,L=C,M=s.startStyle[A],N=ol(M,L,p,g,c.properties[M.name]);c.overrideBypass(t,A,N)}t.emit("style")}}return s.progress=p,p}function cl(t,e){return!!(null!=t&&null!=e&&(Q(t)&&Q(e)||t&&e))}function hl(t,e,n,r){var i=e._private;i.started=!0,i.startTime=n-i.progress*i.duration}function ul(t,e){var n=e._private.aniEles,r=[];function i(e,n){var i=e._private,a=i.animation.current,s=i.animation.queue,o=!1;if(0===a.length){var l=s.shift();l&&a.push(l)}for(var c=function(t){for(var e=t.length-1;e>=0;e--)(0,t[e])();t.splice(0,t.length)},h=a.length-1;h>=0;h--){var u=a[h],d=u._private;d.stopped?(a.splice(h,1),d.hooked=!1,d.playing=!1,d.started=!1,c(d.frames)):(d.playing||d.applying)&&(d.playing&&d.applying&&(d.applying=!1),d.started||hl(0,u,t),ll(e,u,t,n),d.applying&&(d.applying=!1),c(d.frames),null!=d.step&&d.step(t),u.completed()&&(a.splice(h,1),d.hooked=!1,d.playing=!1,d.started=!1,c(d.completes)),o=!0)}return n||0!==a.length||0!==s.length||r.push(e),o}for(var a=!1,s=0;s<n.length;s++){var o=i(n[s]);a=a||o}var l=i(e,!0);(a||l)&&(n.length>0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var dl={animate:rs.animate(),animation:rs.animation(),animated:rs.animated(),clearQueue:rs.clearQueue(),delay:rs.delay(),delayAnimation:rs.delayAnimation(),stop:rs.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){ul(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&Dt((function(n){ul(n,t),e()}))}()}}},pl={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&et(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},gl=function(t){return j(t)?new ws(t):t},fl={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new yo(pl,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,gl(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,gl(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,gl(e),n),this},once:function(t,e,n){return this.emitter().one(t,gl(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};rs.eventAliasesOn(fl);var ml={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};ml.jpeg=ml.jpg;var yl={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=j(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(vt({},t,{cy:e,eles:n}));ee("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else ee("A `name` must be specified to make a layout");else ee("Layout options must be specified to make a layout")}};yl.createLayout=yl.makeLayout=yl.layout;var vl={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r<n.length;r++){var i=n[r],a=t[i];e.getElementById(i).data(a)}}))}},xl=le({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),bl={renderTo:function(t,e,n,r){return this._private.renderer.renderTo(t,e,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(t){var e=this,n=e.extension("renderer",t.name);if(null!=n){void 0!==t.wheelSensitivity&&re("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var r=xl(t);r.cy=e,e._private.renderer=new n(r),this.notify("init")}else ee("Can not initialise: No such renderer `".concat(t.name,"` found. Did you forget to import it and `cytoscape.use()` it?"))},destroyRenderer:function(){var t=this;t.notify("destroy");var e=t.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};bl.invalidateDimensions=bl.resize;var wl={collection:function(t,e){return j(t)?this.$(t):tt(t)?t.collection():X(t)?(e||(e={}),new Qo(this,t,e.unique,e.removed)):new Qo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};wl.elements=wl.filter=wl.$;var kl={},Tl="t";kl.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r<t.length;r++){var i=t[r],a=e.getContextMeta(i);if(!a.empty){var s=e.getContextStyle(a),o=e.applyContextStyle(a,s,i);i._private.appliedInitStyle?e.updateTransitions(i,o.diffProps):i._private.appliedInitStyle=!0,e.updateStyleHints(i)&&n.push(i)}}return n},kl.getPropertiesDiff=function(t,e){var n=this,r=n._private.propDiffs=n._private.propDiffs||{},i=t+"-"+e,a=r[i];if(a)return a;for(var s=[],o={},l=0;l<n.length;l++){var c=n[l],h=t[l]===Tl,u=e[l]===Tl,d=h!==u,p=c.mappedProperties.length>0;if(d||u&&p){var g=void 0;d&&p||d?g=c.properties:p&&(g=c.mappedProperties);for(var f=0;f<g.length;f++){for(var m=g[f],y=m.name,v=!1,x=l+1;x<n.length;x++){var b=n[x];if(e[x]===Tl&&(v=null!=b.properties[m.name]))break}o[y]||v||(o[y]=!0,s.push(y))}}}return r[i]=s,s},kl.getContextMeta=function(t){for(var e,n=this,r="",i=t._private.styleCxtKey||"",a=0;a<n.length;a++){var s=n[a];r+=s.selector&&s.selector.matches(t)?Tl:"f"}return e=n.getPropertiesDiff(i,r),t._private.styleCxtKey=r,{key:r,diffPropNames:e,empty:0===e.length}},kl.getContextStyle=function(t){var e=t.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[e])return n[e];for(var r={_private:{key:e}},i=0;i<this.length;i++){var a=this[i];if(e[i]===Tl)for(var s=0;s<a.properties.length;s++){var o=a.properties[s];r[o.name]=o}}return n[e]=r,r},kl.applyContextStyle=function(t,e,n){for(var r=t.diffPropNames,i={},a=this.types,s=0;s<r.length;s++){var o=r[s],l=e[o],c=n.pstyle(o);if(!l){if(!c)continue;l=c.bypass?{name:o,deleteBypassed:!0}:{name:o,delete:!0}}if(c!==l){if(l.mapped===a.fn&&null!=c&&null!=c.mapping&&c.mapping.value===l.value){var h=c.mapping;if((h.fnValue=l.value(n))===h.prevFnValue)continue}var u=i[o]={prev:c};this.applyParsedProperty(n,l),u.next=n.pstyle(o),u.next&&u.next.bypass&&(u.next=u.next.bypassed)}}return{diffProps:i}},kl.updateStyleHints=function(t){var e=t._private,n=this,r=n.propertyGroupNames,i=n.propertyGroupKeys,a=function(t,e,r){return n.getPropertiesHash(t,e,r)},s=e.styleKey;if(t.removed())return!1;var o="nodes"===e.group,l=t._private.style;r=Object.keys(l);for(var c=0;c<i.length;c++){var h=i[c];e.styleKeys[h]=[Pt,$t]}for(var u,d=function(t,n){return e.styleKeys[n][0]=Ft(t,e.styleKeys[n][0])},p=function(t,n){return e.styleKeys[n][1]=Wt(t,e.styleKeys[n][1])},g=function(t,e){d(t,e),p(t,e)},f=function(t,e){for(var n=0;n<t.length;n++){var r=t.charCodeAt(n);d(r,e),p(r,e)}},m=0;m<r.length;m++){var y=r[m],v=l[y];if(null!=v){var x=this.properties[y],b=x.type,w=x.groupKey,k=void 0;null!=x.hashOverride?k=x.hashOverride(t,v):null!=v.pfValue&&(k=v.pfValue);var T=null==x.enums?v.value:null,_=null!=k,E=_||null!=T,S=v.units;b.number&&E&&!b.multiple?(g(-128<(u=_?k:T)&&u<128&&Math.floor(u)!==u?2e9-(1024*u|0):u,w),_||null==S||f(S,w)):f(v.strValue,w)}}for(var C=[Pt,$t],A=0;A<i.length;A++){var L=i[A],M=e.styleKeys[L];C[0]=Ft(M[0],C[0]),C[1]=Wt(M[1],C[1])}e.styleKey=2097152*C[0]+C[1];var N=e.styleKeys;e.labelDimsKey=zt(N.labelDimensions);var I=a(t,["label"],N.labelDimensions);if(e.labelKey=zt(I),e.labelStyleKey=zt(Zt(N.commonLabel,I)),!o){var R=a(t,["source-label"],N.labelDimensions);e.sourceLabelKey=zt(R),e.sourceLabelStyleKey=zt(Zt(N.commonLabel,R));var D=a(t,["target-label"],N.labelDimensions);e.targetLabelKey=zt(D),e.targetLabelStyleKey=zt(Zt(N.commonLabel,D))}if(o){var O=e.styleKeys,P=O.nodeBody,$=O.nodeBorder,B=O.nodeOutline,F=O.backgroundImage,W=O.compound,z=O.pie,Z=O.stripe,Y=[P,$,B,F,W,z,Z].filter((function(t){return null!=t})).reduce(Zt,[Pt,$t]);e.nodeKey=zt(Y),e.hasPie=null!=z&&z[0]!==Pt&&z[1]!==$t,e.hasStripe=null!=Z&&Z[0]!==Pt&&Z[1]!==$t}return s!==e.styleKey},kl.clearStyleHints=function(t){var e=t._private;e.styleCxtKey="",e.styleKeys={},e.styleKey=null,e.labelKey=null,e.labelStyleKey=null,e.sourceLabelKey=null,e.sourceLabelStyleKey=null,e.targetLabelKey=null,e.targetLabelStyleKey=null,e.nodeKey=null,e.hasPie=null,e.hasStripe=null},kl.applyParsedProperty=function(t,e){var n,r=this,i=e,a=t._private.style,s=r.types,o=r.properties[i.name].type,l=i.bypass,c=a[i.name],h=c&&c.bypass,u=t._private,d="mapping",p=function(t){return null==t?null:null!=t.pfValue?t.pfValue:t.value},g=function(){var e=p(c),n=p(i);r.checkTriggers(t,i.name,e,n)};if("curve-style"===e.name&&t.isEdge()&&("bezier"!==e.value&&t.isLoop()||"haystack"===e.value&&(t.source().isParent()||t.target().isParent()))&&(i=e=this.parse(e.name,"bezier",l)),i.delete)return a[i.name]=void 0,g(),!0;if(i.deleteBypassed)return c?!!c.bypass&&(c.bypassed=void 0,g(),!0):(g(),!0);if(i.deleteBypass)return c?!!c.bypass&&(a[i.name]=c.bypassed,g(),!0):(g(),!0);var f=function(){re("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+i.name+"` with data field `"+i.field+"`); try a `["+i.field+"]` selector to limit scope to elements with `"+i.field+"` defined")};switch(i.mapped){case s.mapData:for(var m,y=i.field.split("."),v=u.data,x=0;x<y.length&&v;x++)v=v[y[x]];if(null==v)return f(),!1;if(!Q(v))return re("Do not use continuous mappers without specifying numeric data (i.e. `"+i.field+": "+v+"` for `"+t.id()+"` is non-numeric)"),!1;var b=i.fieldMax-i.fieldMin;if((m=0===b?0:(v-i.fieldMin)/b)<0?m=0:m>1&&(m=1),o.color){var w=i.valueMin[0],k=i.valueMax[0],T=i.valueMin[1],_=i.valueMax[1],E=i.valueMin[2],S=i.valueMax[2],C=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],L=[Math.round(w+(k-w)*m),Math.round(T+(_-T)*m),Math.round(E+(S-E)*m),Math.round(C+(A-C)*m)];n={bypass:i.bypass,name:i.name,value:L,strValue:"rgb("+L[0]+", "+L[1]+", "+L[2]+")"}}else{if(!o.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*m;n=this.parse(i.name,M,i.bypass,d)}if(!n)return f(),!1;n.mapping=i,i=n;break;case s.data:for(var N=i.field.split("."),I=u.data,R=0;R<N.length&&I;R++)I=I[N[R]];if(null!=I&&(n=this.parse(i.name,I,i.bypass,d)),!n)return f(),!1;n.mapping=i,i=n;break;case s.fn:var D=i.value,O=null!=i.fnValue?i.fnValue:D(t);if(i.prevFnValue=O,null==O)return re("Custom function mappers may not return null (i.e. `"+i.name+"` for ele `"+t.id()+"` is null)"),!1;if(!(n=this.parse(i.name,O,i.bypass,d)))return re("Custom function mappers may not return invalid values for the property type (i.e. `"+i.name+"` for ele `"+t.id()+"` is invalid)"),!1;n.mapping=ie(i),i=n;break;case void 0:break;default:return!1}return l?(i.bypassed=h?c.bypassed:c,a[i.name]=i):h?c.bypassed=i:a[i.name]=i,g(),!0},kl.cleanElements=function(t,e){for(var n=0;n<t.length;n++){var r=t[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),e)for(var i=r._private.style,a=Object.keys(i),s=0;s<a.length;s++){var o=a[s],l=i[o];null!=l&&(l.bypass?l.bypassed=null:i[o]=null)}else r._private.style={}}},kl.update=function(){this._private.cy.mutableElements().updateStyle()},kl.updateTransitions=function(t,e){var n=this,r=t._private,i=t.pstyle("transition-property").value,a=t.pstyle("transition-duration").pfValue,s=t.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var o={},l=!1,c=0;c<i.length;c++){var h=i[c],u=t.pstyle(h),d=e[h];if(d){var p=d.prev,g=null!=d.next?d.next:u,f=!1,m=void 0,y=1e-6;p&&(Q(p.pfValue)&&Q(g.pfValue)?(f=g.pfValue-p.pfValue,m=p.pfValue+y*f):Q(p.value)&&Q(g.value)?(f=g.value-p.value,m=p.value+y*f):X(p.value)&&X(g.value)&&(f=p.value[0]!==g.value[0]||p.value[1]!==g.value[1]||p.value[2]!==g.value[2],m=p.strValue),f&&(o[h]=g.strValue,this.applyBypass(t,h,m),l=!0))}}if(!l)return;r.transitioning=!0,new Br((function(e){s>0?t.delayAnimation(s).play().promise().then(e):e()})).then((function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},kl.checkTrigger=function(t,e,n,r,i,a){var s=this.properties[e],o=i(s);t.removed()||null!=o&&o(n,r,t)&&a(s)},kl.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},kl.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(e){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()}))},kl.checkConnectedEdgesBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBoundsOfConnectedEdges}),(function(e){t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},kl.checkParallelEdgesBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBoundsOfParallelEdges}),(function(e){t.parallelEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},kl.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r),this.checkConnectedEdgesBoundsTrigger(t,e,n,r),this.checkParallelEdgesBoundsTrigger(t,e,n,r)};var _l={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var a=0;a<this.properties.length;a++){var s=this.properties[a].name,o=this.parse(s,n,!0);o&&i.push(o)}}else if(j(e)){var l=this.parse(e,n,!0);l&&i.push(l)}else{if(!K(e))return!1;var c=e;r=n;for(var h=Object.keys(c),u=0;u<h.length;u++){var d=h[u],p=c[d];if(void 0===p&&(p=c[ct(d)]),void 0!==p){var g=this.parse(d,p,!0);g&&i.push(g)}}}if(0===i.length)return!1;for(var f=!1,m=0;m<t.length;m++){for(var y=t[m],v={},x=void 0,b=0;b<i.length;b++){var w=i[b];if(r){var k=y.pstyle(w.name);x=v[w.name]={prev:k}}f=this.applyParsedProperty(y,ie(w))||f,r&&(x.next=y.pstyle(w.name))}f&&this.updateStyleHints(y),r&&this.updateTransitions(y,v,!0)}return f},overrideBypass:function(t,e,n){e=lt(e);for(var r=0;r<t.length;r++){var i=t[r],a=i._private.style[e],s=this.properties[e].type,o=s.color,l=s.mutiple,c=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=n,null!=a.pfValue&&(a.pfValue=n),a.strValue=o?"rgb("+n.join(",")+")":l?n.join(" "):""+n,this.updateStyleHints(i)):this.applyBypass(i,e,n),this.checkTriggers(i,e,c,n)}},removeAllBypasses:function(t,e){return this.removeBypasses(t,this.propertyNames,e)},removeBypasses:function(t,e,n){for(var r=0;r<t.length;r++){for(var i=t[r],a={},s=0;s<e.length;s++){var o=e[s],l=this.properties[o],c=i.pstyle(l.name);if(c&&c.bypass){var h=this.parse(o,"",!0),u=a[l.name]={prev:c};this.applyParsedProperty(i,h),u.next=i.pstyle(l.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,a,!0)}}},El={getEmSizeInPixels:function(){var t=this.containerCss("font-size");return null!=t?parseFloat(t):1},containerCss:function(t){var e=this._private.cy,n=e.container(),r=e.window();if(r&&n&&r.getComputedStyle)return r.getComputedStyle(n).getPropertyValue(t)}},Sl={getRenderedStyle:function(t,e){return e?this.getStylePropertyValue(t,e,!0):this.getRawStyle(t,!0)},getRawStyle:function(t,e){var n=this;if(t=t[0]){for(var r={},i=0;i<n.properties.length;i++){var a=n.properties[i],s=n.getStylePropertyValue(t,a.name,e);null!=s&&(r[a.name]=s,r[ct(a.name)]=s)}return r}},getIndexedStyle:function(t,e,n,r){var i=t.pstyle(e)[n][r];return null!=i?i:t.cy().style().getDefaultProperty(e)[n][0]},getStylePropertyValue:function(t,e,n){if(t=t[0]){var r=this.properties[e];r.alias&&(r=r.pointsTo);var i=r.type,a=t.pstyle(r.name);if(a){var s=a.value,o=a.units,l=a.strValue;if(n&&i.number&&null!=s&&Q(s)){var c=t.cy().zoom(),h=function(t){return t*c},u=function(t,e){return h(t)+e},d=X(s);return(d?o.every((function(t){return null!=t})):null!=o)?d?s.map((function(t,e){return u(t,o[e])})).join(" "):u(s,o):d?s.map((function(t){return j(t)?t:""+h(t)})).join(" "):""+h(s)}if(null!=l)return l}return null}},getAnimationStartStyle:function(t,e){for(var n={},r=0;r<e.length;r++){var i=e[r].name,a=t.pstyle(i);void 0!==a&&(a=K(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(n[i]=a)}return n},getPropsList:function(t){var e=[],n=t,r=this.properties;if(n)for(var i=Object.keys(n),a=0;a<i.length;a++){var s=i[a],o=n[s],l=r[s]||r[lt(s)],c=this.parse(l.name,o);c&&e.push(c)}return e},getNonDefaultPropertiesHash:function(t,e,n){var r,i,a,s,o,l,c=n.slice();for(o=0;o<e.length;o++)if(r=e[o],null!=(i=t.pstyle(r,!1)))if(null!=i.pfValue)c[0]=Ft(s,c[0]),c[1]=Wt(s,c[1]);else for(a=i.strValue,l=0;l<a.length;l++)s=a.charCodeAt(l),c[0]=Ft(s,c[0]),c[1]=Wt(s,c[1]);return c}};Sl.getPropertiesHash=Sl.getNonDefaultPropertiesHash;var Cl={appendFromJson:function(t){for(var e=this,n=0;n<t.length;n++){var r=t[n],i=r.selector,a=r.style||r.css,s=Object.keys(a);e.selector(i);for(var o=0;o<s.length;o++){var l=s[o],c=a[l];e.css(l,c)}}return e},fromJson:function(t){var e=this;return e.resetToDefault(),e.appendFromJson(t),e},json:function(){for(var t=[],e=this.defaultLength;e<this.length;e++){for(var n=this[e],r=n.selector,i=n.properties,a={},s=0;s<i.length;s++){var o=i[s];a[o.name]=o.strValue}t.push({selector:r?r.toString():"core",style:a})}return t}},Al={appendFromString:function(t){var e,n,r,i=this,a=""+t;function s(){a=a.length>e.length?a.substr(e.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var l=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!l){re("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}e=l[0];var c=l[1];if("core"!==c&&new ws(c).invalid)re("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),s();else{var h=l[2],u=!1;n=h;for(var d=[];!n.match(/^\s*$/);){var p=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){re("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+h),u=!0;break}r=p[0];var g=p[1],f=p[2];this.properties[g]?i.parse(g,f)?(d.push({name:g,val:f}),o()):(re("Skipping property: Invalid property definition in: "+r),o()):(re("Skipping property: Invalid property name in: "+r),o())}if(u){s();break}i.selector(c);for(var m=0;m<d.length;m++){var y=d[m];i.css(y.name,y.val)}s()}}return i},fromString:function(t){var e=this;return e.resetToDefault(),e.appendFromString(t),e}},Ll={};!function(){var t=dt,e=gt,n=mt,r=function(t){return"^"+t+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},i=function(r){var i=t+"|\\w+|"+e+"|"+n+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+r+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+t+")\\s*\\,\\s*("+t+")\\s*,\\s*("+i+")\\s*\\,\\s*("+i+")\\)$"},a=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];Ll.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:r("data")},layoutData:{mapping:!0,regex:r("layoutData")},scratch:{mapping:!0,regex:r("scratch")},mapData:{mapping:!0,regex:i("mapData")},mapLayoutData:{mapping:!0,regex:i("mapLayoutData")},mapScratch:{mapping:!0,regex:i("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:a,singleRegexMatchValue:!0},urls:{regexes:a,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(t,e){switch(t.length){case 2:return"deg"!==e[0]&&"rad"!==e[0]&&"deg"!==e[1]&&"rad"!==e[1];case 1:return j(t[0])||"deg"===e[0]||"rad"===e[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(t){var e=t.length;return 1===e||2===e||4===e}}};var s={zeroNonZero:function(t,e){return(null==t||null==e)&&t!==e||0==t&&0!=e||0!=t&&0==e},any:function(t,e){return t!=e},emptyNonEmpty:function(t,e){var n=at(t),r=at(e);return n&&!r||!n&&r}},o=Ll.types,l=[{name:"label",type:o.text,triggersBounds:s.any,triggersZOrder:s.emptyNonEmpty},{name:"text-rotation",type:o.textRotation,triggersBounds:s.any},{name:"text-margin-x",type:o.bidirectionalSize,triggersBounds:s.any},{name:"text-margin-y",type:o.bidirectionalSize,triggersBounds:s.any}],c=[{name:"source-label",type:o.text,triggersBounds:s.any},{name:"source-text-rotation",type:o.textRotation,triggersBounds:s.any},{name:"source-text-margin-x",type:o.bidirectionalSize,triggersBounds:s.any},{name:"source-text-margin-y",type:o.bidirectionalSize,triggersBounds:s.any},{name:"source-text-offset",type:o.size,triggersBounds:s.any}],h=[{name:"target-label",type:o.text,triggersBounds:s.any},{name:"target-text-rotation",type:o.textRotation,triggersBounds:s.any},{name:"target-text-margin-x",type:o.bidirectionalSize,triggersBounds:s.any},{name:"target-text-margin-y",type:o.bidirectionalSize,triggersBounds:s.any},{name:"target-text-offset",type:o.size,triggersBounds:s.any}],u=[{name:"font-family",type:o.fontFamily,triggersBounds:s.any},{name:"font-style",type:o.fontStyle,triggersBounds:s.any},{name:"font-weight",type:o.fontWeight,triggersBounds:s.any},{name:"font-size",type:o.size,triggersBounds:s.any},{name:"text-transform",type:o.textTransform,triggersBounds:s.any},{name:"text-wrap",type:o.textWrap,triggersBounds:s.any},{name:"text-overflow-wrap",type:o.textOverflowWrap,triggersBounds:s.any},{name:"text-max-width",type:o.size,triggersBounds:s.any},{name:"text-outline-width",type:o.size,triggersBounds:s.any},{name:"line-height",type:o.positiveNumber,triggersBounds:s.any}],d=[{name:"text-valign",type:o.valign,triggersBounds:s.any},{name:"text-halign",type:o.halign,triggersBounds:s.any},{name:"color",type:o.color},{name:"text-outline-color",type:o.color},{name:"text-outline-opacity",type:o.zeroOneNumber},{name:"text-background-color",type:o.color},{name:"text-background-opacity",type:o.zeroOneNumber},{name:"text-background-padding",type:o.size,triggersBounds:s.any},{name:"text-border-opacity",type:o.zeroOneNumber},{name:"text-border-color",type:o.color},{name:"text-border-width",type:o.size,triggersBounds:s.any},{name:"text-border-style",type:o.borderStyle,triggersBounds:s.any},{name:"text-background-shape",type:o.textBackgroundShape,triggersBounds:s.any},{name:"text-justification",type:o.justification},{name:"box-select-labels",type:o.bool,triggersBounds:s.any}],p=[{name:"events",type:o.bool,triggersZOrder:s.any},{name:"text-events",type:o.bool,triggersZOrder:s.any}],g=[{name:"display",type:o.display,triggersZOrder:s.any,triggersBounds:s.any,triggersBoundsOfConnectedEdges:s.any,triggersBoundsOfParallelEdges:function(t,e,n){return t!==e&&"bezier"===n.pstyle("curve-style").value}},{name:"visibility",type:o.visibility,triggersZOrder:s.any},{name:"opacity",type:o.zeroOneNumber,triggersZOrder:s.zeroNonZero},{name:"text-opacity",type:o.zeroOneNumber},{name:"min-zoomed-font-size",type:o.size},{name:"z-compound-depth",type:o.zCompoundDepth,triggersZOrder:s.any},{name:"z-index-compare",type:o.zIndexCompare,triggersZOrder:s.any},{name:"z-index",type:o.number,triggersZOrder:s.any}],f=[{name:"overlay-padding",type:o.size,triggersBounds:s.any},{name:"overlay-color",type:o.color},{name:"overlay-opacity",type:o.zeroOneNumber,triggersBounds:s.zeroNonZero},{name:"overlay-shape",type:o.overlayShape,triggersBounds:s.any},{name:"overlay-corner-radius",type:o.cornerRadius}],m=[{name:"underlay-padding",type:o.size,triggersBounds:s.any},{name:"underlay-color",type:o.color},{name:"underlay-opacity",type:o.zeroOneNumber,triggersBounds:s.zeroNonZero},{name:"underlay-shape",type:o.overlayShape,triggersBounds:s.any},{name:"underlay-corner-radius",type:o.cornerRadius}],y=[{name:"transition-property",type:o.propList},{name:"transition-duration",type:o.time},{name:"transition-delay",type:o.time},{name:"transition-timing-function",type:o.easing}],v=function(t,e){return"label"===e.value?-t.poolIndex():e.pfValue},x=[{name:"height",type:o.nodeSize,triggersBounds:s.any,hashOverride:v},{name:"width",type:o.nodeSize,triggersBounds:s.any,hashOverride:v},{name:"shape",type:o.nodeShape,triggersBounds:s.any},{name:"shape-polygon-points",type:o.polygonPointList,triggersBounds:s.any},{name:"corner-radius",type:o.cornerRadius},{name:"background-color",type:o.color},{name:"background-fill",type:o.fill},{name:"background-opacity",type:o.zeroOneNumber},{name:"background-blacken",type:o.nOneOneNumber},{name:"background-gradient-stop-colors",type:o.colors},{name:"background-gradient-stop-positions",type:o.percentages},{name:"background-gradient-direction",type:o.gradientDirection},{name:"padding",type:o.sizeMaybePercent,triggersBounds:s.any},{name:"padding-relative-to",type:o.paddingRelativeTo,triggersBounds:s.any},{name:"bounds-expansion",type:o.boundsExpansion,triggersBounds:s.any}],b=[{name:"border-color",type:o.color},{name:"border-opacity",type:o.zeroOneNumber},{name:"border-width",type:o.size,triggersBounds:s.any},{name:"border-style",type:o.borderStyle},{name:"border-cap",type:o.lineCap},{name:"border-join",type:o.lineJoin},{name:"border-dash-pattern",type:o.numbers},{name:"border-dash-offset",type:o.number},{name:"border-position",type:o.linePosition}],w=[{name:"outline-color",type:o.color},{name:"outline-opacity",type:o.zeroOneNumber},{name:"outline-width",type:o.size,triggersBounds:s.any},{name:"outline-style",type:o.borderStyle},{name:"outline-offset",type:o.size,triggersBounds:s.any}],k=[{name:"background-image",type:o.urls},{name:"background-image-crossorigin",type:o.bgCrossOrigin},{name:"background-image-opacity",type:o.zeroOneNumbers},{name:"background-image-containment",type:o.bgContainment},{name:"background-image-smoothing",type:o.bools},{name:"background-position-x",type:o.bgPos},{name:"background-position-y",type:o.bgPos},{name:"background-width-relative-to",type:o.bgRelativeTo},{name:"background-height-relative-to",type:o.bgRelativeTo},{name:"background-repeat",type:o.bgRepeat},{name:"background-fit",type:o.bgFit},{name:"background-clip",type:o.bgClip},{name:"background-width",type:o.bgWH},{name:"background-height",type:o.bgWH},{name:"background-offset-x",type:o.bgPos},{name:"background-offset-y",type:o.bgPos}],T=[{name:"position",type:o.position,triggersBounds:s.any},{name:"compound-sizing-wrt-labels",type:o.compoundIncludeLabels,triggersBounds:s.any},{name:"min-width",type:o.size,triggersBounds:s.any},{name:"min-width-bias-left",type:o.sizeMaybePercent,triggersBounds:s.any},{name:"min-width-bias-right",type:o.sizeMaybePercent,triggersBounds:s.any},{name:"min-height",type:o.size,triggersBounds:s.any},{name:"min-height-bias-top",type:o.sizeMaybePercent,triggersBounds:s.any},{name:"min-height-bias-bottom",type:o.sizeMaybePercent,triggersBounds:s.any}],_=[{name:"line-style",type:o.lineStyle},{name:"line-color",type:o.color},{name:"line-fill",type:o.fill},{name:"line-cap",type:o.lineCap},{name:"line-opacity",type:o.zeroOneNumber},{name:"line-dash-pattern",type:o.numbers},{name:"line-dash-offset",type:o.number},{name:"line-outline-width",type:o.size},{name:"line-outline-color",type:o.color},{name:"line-gradient-stop-colors",type:o.colors},{name:"line-gradient-stop-positions",type:o.percentages},{name:"curve-style",type:o.curveStyle,triggersBounds:s.any,triggersBoundsOfParallelEdges:function(t,e){return t!==e&&("bezier"===t||"bezier"===e)}},{name:"haystack-radius",type:o.zeroOneNumber,triggersBounds:s.any},{name:"source-endpoint",type:o.edgeEndpoint,triggersBounds:s.any},{name:"target-endpoint",type:o.edgeEndpoint,triggersBounds:s.any},{name:"control-point-step-size",type:o.size,triggersBounds:s.any},{name:"control-point-distances",type:o.bidirectionalSizes,triggersBounds:s.any},{name:"control-point-weights",type:o.numbers,triggersBounds:s.any},{name:"segment-distances",type:o.bidirectionalSizes,triggersBounds:s.any},{name:"segment-weights",type:o.numbers,triggersBounds:s.any},{name:"segment-radii",type:o.numbers,triggersBounds:s.any},{name:"radius-type",type:o.radiusType,triggersBounds:s.any},{name:"taxi-turn",type:o.bidirectionalSizeMaybePercent,triggersBounds:s.any},{name:"taxi-turn-min-distance",type:o.size,triggersBounds:s.any},{name:"taxi-direction",type:o.axisDirection,triggersBounds:s.any},{name:"taxi-radius",type:o.number,triggersBounds:s.any},{name:"edge-distances",type:o.edgeDistances,triggersBounds:s.any},{name:"arrow-scale",type:o.positiveNumber,triggersBounds:s.any},{name:"loop-direction",type:o.angle,triggersBounds:s.any},{name:"loop-sweep",type:o.angle,triggersBounds:s.any},{name:"source-distance-from-node",type:o.size,triggersBounds:s.any},{name:"target-distance-from-node",type:o.size,triggersBounds:s.any}],E=[{name:"ghost",type:o.bool,triggersBounds:s.any},{name:"ghost-offset-x",type:o.bidirectionalSize,triggersBounds:s.any},{name:"ghost-offset-y",type:o.bidirectionalSize,triggersBounds:s.any},{name:"ghost-opacity",type:o.zeroOneNumber}],S=[{name:"selection-box-color",type:o.color},{name:"selection-box-opacity",type:o.zeroOneNumber},{name:"selection-box-border-color",type:o.color},{name:"selection-box-border-width",type:o.size},{name:"active-bg-color",type:o.color},{name:"active-bg-opacity",type:o.zeroOneNumber},{name:"active-bg-size",type:o.size},{name:"outside-texture-bg-color",type:o.color},{name:"outside-texture-bg-opacity",type:o.zeroOneNumber}],C=[];Ll.pieBackgroundN=16,C.push({name:"pie-size",type:o.sizeMaybePercent}),C.push({name:"pie-hole",type:o.sizeMaybePercent}),C.push({name:"pie-start-angle",type:o.angle});for(var A=1;A<=Ll.pieBackgroundN;A++)C.push({name:"pie-"+A+"-background-color",type:o.color}),C.push({name:"pie-"+A+"-background-size",type:o.percent}),C.push({name:"pie-"+A+"-background-opacity",type:o.zeroOneNumber});var L=[];Ll.stripeBackgroundN=16,L.push({name:"stripe-size",type:o.sizeMaybePercent}),L.push({name:"stripe-direction",type:o.axisDirectionPrimary});for(var M=1;M<=Ll.stripeBackgroundN;M++)L.push({name:"stripe-"+M+"-background-color",type:o.color}),L.push({name:"stripe-"+M+"-background-size",type:o.percent}),L.push({name:"stripe-"+M+"-background-opacity",type:o.zeroOneNumber});var N=[],I=Ll.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:o.arrowShape,triggersBounds:s.any},{name:"arrow-color",type:o.color},{name:"arrow-fill",type:o.arrowFill},{name:"arrow-width",type:o.arrowWidth}].forEach((function(t){I.forEach((function(e){var n=e+"-"+t.name,r=t.type,i=t.triggersBounds;N.push({name:n,type:r,triggersBounds:i})}))}),{});var R=Ll.properties=[].concat(p,y,g,f,m,E,d,u,l,c,h,x,b,w,k,C,L,T,_,N,S),D=Ll.propertyGroups={behavior:p,transition:y,visibility:g,overlay:f,underlay:m,ghost:E,commonLabel:d,labelDimensions:u,mainLabel:l,sourceLabel:c,targetLabel:h,nodeBody:x,nodeBorder:b,nodeOutline:w,backgroundImage:k,pie:C,stripe:L,compound:T,edgeLine:_,edgeArrow:N,core:S},O=Ll.propertyGroupNames={};(Ll.propertyGroupKeys=Object.keys(D)).forEach((function(t){O[t]=D[t].map((function(t){return t.name})),D[t].forEach((function(e){return e.groupKey=t}))}));var P=Ll.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];Ll.propertyNames=R.map((function(t){return t.name}));for(var $=0;$<R.length;$++){var B=R[$];R[B.name]=B}for(var F=0;F<P.length;F++){var W=P[F],z=R[W.pointsTo],Z={name:W.name,alias:!0,pointsTo:z};R.push(Z),R[W.name]=Z}}(),Ll.getDefaultProperty=function(t){return this.getDefaultProperties()[t]},Ll.getDefaultProperties=function(){var t=this._private;if(null!=t.defaultProperties)return t.defaultProperties;for(var e=vt({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce((function(t,e){for(var n=1;n<=Ll.pieBackgroundN;n++){var r=e.name.replace("{{i}}",n),i=e.value;t[r]=i}return t}),{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce((function(t,e){for(var n=1;n<=Ll.stripeBackgroundN;n++){var r=e.name.replace("{{i}}",n),i=e.value;t[r]=i}return t}),{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce((function(t,e){return Ll.arrowPrefixes.forEach((function(n){var r=n+"-"+e.name,i=e.value;t[r]=i})),t}),{})),n={},r=0;r<this.properties.length;r++){var i=this.properties[r];if(!i.pointsTo){var a=i.name,s=e[a],o=this.parse(a,s);n[a]=o}}return t.defaultProperties=n,t.defaultProperties},Ll.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Ml={parse:function(t,e,n,r){var i=this;if(H(e))return i.parseImplWarn(t,e,n,r);var a,s=Gt(t,""+e,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),o=i.propCache=i.propCache||[];return(a=o[s])||(a=o[s]=i.parseImplWarn(t,e,n,r)),(n||"mapping"===r)&&(a=ie(a))&&(a.value=ie(a.value)),a},parseImplWarn:function(t,e,n,r){var i=this.parseImpl(t,e,n,r);return i||null==e||re("The style property `".concat(t,": ").concat(e,"` is invalid")),!i||"width"!==i.name&&"height"!==i.name||"label"!==e||re("The style value of `label` is deprecated for `"+i.name+"`"),i},parseImpl:function(t,e,n,r){var i=this;t=lt(t);var a=i.properties[t],s=e,o=i.types;if(!a)return null;if(void 0===e)return null;a.alias&&(a=a.pointsTo,t=a.name);var l=j(e);l&&(e=e.trim());var c,h,u=a.type;if(!u)return null;if(n&&(""===e||null===e))return{name:t,value:e,bypass:!0,deleteBypass:!0};if(H(e))return{name:t,value:e,strValue:"fn",mapped:o.fn,bypass:n};if(!l||r||e.length<7||"a"!==e[1]);else{if(e.length>=7&&"d"===e[0]&&(c=new RegExp(o.data.regex).exec(e))){if(n)return!1;var d=o.data;return{name:t,value:c,strValue:""+e,mapped:d,field:c[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(h=new RegExp(o.mapData.regex).exec(e))){if(n)return!1;if(u.multiple)return!1;var p=o.mapData;if(!u.color&&!u.number)return!1;var g=this.parse(t,h[4]);if(!g||g.mapped)return!1;var f=this.parse(t,h[5]);if(!f||f.mapped)return!1;if(g.pfValue===f.pfValue||g.strValue===f.strValue)return re("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(u.color){var m=g.value,y=f.value;if(!(m[0]!==y[0]||m[1]!==y[1]||m[2]!==y[2]||m[3]!==y[3]&&(null!=m[3]&&1!==m[3]||null!=y[3]&&1!==y[3])))return!1}return{name:t,value:h,strValue:""+e,mapped:p,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:g.value,valueMax:f.value,bypass:n}}}if(u.multiple&&"multiple"!==r){var v;if(v=l?e.split(/\s+/):X(e)?e:[e],u.evenMultiple&&v.length%2!=0)return null;for(var x=[],b=[],w=[],k="",T=!1,_=0;_<v.length;_++){var E=i.parse(t,v[_],n,"multiple");T=T||j(E.value),x.push(E.value),w.push(null!=E.pfValue?E.pfValue:E.value),b.push(E.units),k+=(_>0?" ":"")+E.strValue}return u.validate&&!u.validate(x,b)?null:u.singleEnum&&T?1===x.length&&j(x[0])?{name:t,value:x[0],strValue:x[0],bypass:n}:null:{name:t,value:x,pfValue:w,strValue:k,bypass:n,units:b}}var S,C,A=function(){for(var r=0;r<u.enums.length;r++)if(u.enums[r]===e)return{name:t,value:e,strValue:""+e,bypass:n};return null};if(u.number){var L,M="px";if(u.units&&(L=u.units),u.implicitUnits&&(M=u.implicitUnits),!u.unitless)if(l){var N="px|em"+(u.allowPercent?"|\\%":"");L&&(N=L);var I=e.match("^("+dt+")("+N+")?$");I&&(e=I[1],L=I[2]||M)}else L&&!u.implicitUnits||(L=M);if(e=parseFloat(e),isNaN(e)&&void 0===u.enums)return null;if(isNaN(e)&&void 0!==u.enums)return e=s,A();if(u.integer&&(!Q(C=e)||Math.floor(C)!==C))return null;if(void 0!==u.min&&(e<u.min||u.strictMin&&e===u.min)||void 0!==u.max&&(e>u.max||u.strictMax&&e===u.max))return null;var R={name:t,value:e,strValue:""+e+(L||""),units:L,bypass:n};return u.unitless||"px"!==L&&"em"!==L?R.pfValue=e:R.pfValue="px"!==L&&L?this.getEmSizeInPixels()*e:e,"ms"!==L&&"s"!==L||(R.pfValue="ms"===L?e:1e3*e),"deg"!==L&&"rad"!==L||(R.pfValue="rad"===L?e:(S=e,Math.PI*S/180)),"%"===L&&(R.pfValue=e/100),R}if(u.propList){var D=[],O=""+e;if("none"===O);else{for(var P=O.split(/\s*,\s*|\s+/),$=0;$<P.length;$++){var B=P[$].trim();i.properties[B]?D.push(B):re("`"+B+"` is not a valid property name")}if(0===D.length)return null}return{name:t,value:D,strValue:0===D.length?"none":D.join(" "),bypass:n}}if(u.color){var F=xt(e);return F?{name:t,value:F,pfValue:F,strValue:"rgb("+F[0]+","+F[1]+","+F[2]+")",bypass:n}:null}if(u.regex||u.regexes){if(u.enums){var W=A();if(W)return W}for(var z=u.regexes?u.regexes:[u.regex],Z=0;Z<z.length;Z++){var Y=new RegExp(z[Z]).exec(e);if(Y)return{name:t,value:u.singleRegexMatchValue?Y[1]:Y,strValue:""+e,bypass:n}}return null}return u.string?{name:t,value:""+e,strValue:""+e,bypass:n}:u.enums?A():null}},Nl=function(t){if(!(this instanceof Nl))return new Nl(t);rt(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):ee("A style must have a core reference")},Il=Nl.prototype;Il.instanceString=function(){return"style"},Il.clear=function(){for(var t=this._private,e=t.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,t.contextStyles={},t.propDiffs={},this.cleanElements(e,!0),e.forEach((function(t){var e=t[0]._private;e.styleDirty=!0,e.appliedInitStyle=!1})),this},Il.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Il.core=function(t){return this._private.coreStyle[t]||this.getDefaultProperty(t)},Il.selector=function(t){var e="core"===t?null:new ws(t),n=this.length++;return this[n]={selector:e,properties:[],mappedProperties:[],index:n},this},Il.css=function(){var t=arguments;if(1===t.length)for(var e=t[0],n=0;n<this.properties.length;n++){var r=this.properties[n],i=e[r.name];void 0===i&&(i=e[ct(r.name)]),void 0!==i&&this.cssRule(r.name,i)}else 2===t.length&&this.cssRule(t[0],t[1]);return this},Il.style=Il.css,Il.cssRule=function(t,e){var n=this.parse(t,e);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.name.match(/stripe-(\d+)-background-size/)&&n.value&&(this._private.hasStripe=!0),n.mapped&&this[r].mappedProperties.push(n),!this[r].selector&&(this._private.coreStyle[n.name]=n)}return this},Il.append=function(t){return it(t)?t.appendToStyle(this):X(t)?this.appendFromJson(t):j(t)&&this.appendFromString(t),this},Nl.fromJson=function(t,e){var n=new Nl(t);return n.fromJson(e),n},Nl.fromString=function(t,e){return new Nl(t).fromString(e)},[kl,_l,El,Sl,Cl,Al,Ll,Ml].forEach((function(t){vt(Il,t)})),Nl.types=Il.types,Nl.properties=Il.properties,Nl.propertyGroups=Il.propertyGroups,Nl.propertyGroupNames=Il.propertyGroupNames,Nl.propertyGroupKeys=Il.propertyGroupKeys;var Rl={style:function(t){return t&&this.setStyle(t).update(),this._private.style},setStyle:function(t){var e=this._private;return it(t)?e.style=t.generateStyle(this):X(t)?e.style=Nl.fromJson(this,t):j(t)?e.style=Nl.fromString(this,t):e.style=Nl(this),e.style},updateStyle:function(){this.mutableElements().updateStyle()}},Dl={autolock:function(t){return void 0===t?this._private.autolock:(this._private.autolock=!!t,this)},autoungrabify:function(t){return void 0===t?this._private.autoungrabify:(this._private.autoungrabify=!!t,this)},autounselectify:function(t){return void 0===t?this._private.autounselectify:(this._private.autounselectify=!!t,this)},selectionType:function(t){var e=this._private;return null==e.selectionType&&(e.selectionType="single"),void 0===t?e.selectionType:("additive"!==t&&"single"!==t||(e.selectionType=t),this)},panningEnabled:function(t){return void 0===t?this._private.panningEnabled:(this._private.panningEnabled=!!t,this)},userPanningEnabled:function(t){return void 0===t?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!t,this)},zoomingEnabled:function(t){return void 0===t?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!t,this)},userZoomingEnabled:function(t){return void 0===t?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!t,this)},boxSelectionEnabled:function(t){return void 0===t?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!t,this)},pan:function(){var t,e,n,r,i,a=arguments,s=this._private.pan;switch(a.length){case 0:return s;case 1:if(j(a[0]))return s[t=a[0]];if(K(a[0])){if(!this._private.panningEnabled)return this;r=(n=a[0]).x,i=n.y,Q(r)&&(s.x=r),Q(i)&&(s.y=i),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;e=a[1],"x"!==(t=a[0])&&"y"!==t||!Q(e)||(s[t]=e),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(t,e){var n,r,i,a,s,o=arguments,l=this._private.pan;if(!this._private.panningEnabled)return this;switch(o.length){case 1:K(t)&&(a=(i=o[0]).x,s=i.y,Q(a)&&(l.x+=a),Q(s)&&(l.y+=s),this.emit("pan viewport"));break;case 2:r=e,"x"!==(n=t)&&"y"!==n||!Q(r)||(l[n]+=r),this.emit("pan viewport")}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(t,e){var n=this.getFitViewport(t,e);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(t,e){if(Q(t)&&void 0===e&&(e=t,t=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n,r;if(j(t)){var i=t;t=this.$(i)}else if(K(r=t)&&Q(r.x1)&&Q(r.x2)&&Q(r.y1)&&Q(r.y2)){var a=t;(n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else tt(t)||(t=this.mutableElements());if(!tt(t)||!t.empty()){n=n||t.boundingBox();var s,o=this.width(),l=this.height();if(e=Q(e)?e:0,!isNaN(o)&&!isNaN(l)&&o>0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:s=(s=(s=Math.min((o-2*e)/n.w,(l-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:s)<this._private.minZoom?this._private.minZoom:s,pan:{x:(o-s*(n.x1+n.x2))/2,y:(l-s*(n.y1+n.y2))/2}}}}},zoomRange:function(t,e){var n=this._private;if(null==e){var r=t;t=r.min,e=r.max}return Q(t)&&Q(e)&&t<=e?(n.minZoom=t,n.maxZoom=e):Q(t)&&void 0===e&&t<=n.maxZoom?n.minZoom=t:Q(e)&&void 0===t&&e>=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,a=r.zoom,s=!1;if(r.zoomingEnabled||(s=!0),Q(t)?n=t:K(t)&&(n=t.level,null!=t.position?e=Be(t.position,a,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(s=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,s||!Q(n)||n===a||null!=e&&(!Q(e.x)||!Q(e.y)))return null;if(null!=e){var o=i,l=a,c=n;return{zoomed:!0,panned:!0,zoom:c,pan:{x:-c/l*(e.x-o.x)+e.x,y:-c/l*(e.y-o.y)+e.y}}}return{zoomed:!0,panned:!1,zoom:n,pan:i}},zoom:function(t){if(void 0===t)return this._private.zoom;var e=this.getZoomedViewport(t),n=this._private;return null!=e&&e.zoomed?(n.zoom=e.zoom,e.panned&&(n.pan.x=e.pan.x,n.pan.y=e.pan.y),this.emit("zoom"+(e.panned?" pan":"")+" viewport"),this.notify("viewport"),this):this},viewport:function(t){var e=this._private,n=!0,r=!0,i=[],a=!1,s=!1;if(!t)return this;if(Q(t.zoom)||(n=!1),K(t.pan)||(r=!1),!n&&!r)return this;if(n){var o=t.zoom;o<e.minZoom||o>e.maxZoom||!e.zoomingEnabled?a=!0:(e.zoom=o,i.push("zoom"))}if(r&&(!a||!t.cancelOnFailedZoom)&&e.panningEnabled){var l=t.pan;Q(l.x)&&(e.pan.x=l.x,s=!1),Q(l.y)&&(e.pan.y=l.y,s=!1),s||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(j(t)){var n=t;t=this.mutableElements().filter(n)}else tt(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),a=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(a-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Dl.centre=Dl.center,Dl.autolockNodes=Dl.autolock,Dl.autoungrabifyNodes=Dl.autoungrabify;var Ol={data:rs.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:rs.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:rs.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:rs.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ol.attr=Ol.data,Ol.removeAttr=Ol.removeData;var Pl=function(t){var e=this,n=(t=vt({},t)).container;n&&!J(n)&&J(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var a=void 0!==p&&void 0!==n&&!t.headless,s=t;s.layout=vt({name:a?"grid":"null"},s.layout),s.renderer=vt({name:a?"canvas":"null"},s.renderer);var o=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},l=this._private={container:n,ready:!1,options:s,elements:new Qo(this),listeners:[],aniEles:new Qo(this),data:s.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:o(!0,s.zoomingEnabled),userZoomingEnabled:o(!0,s.userZoomingEnabled),panningEnabled:o(!0,s.panningEnabled),userPanningEnabled:o(!0,s.userPanningEnabled),boxSelectionEnabled:o(!0,s.boxSelectionEnabled),autolock:o(!1,s.autolock,s.autolockNodes),autoungrabify:o(!1,s.autoungrabify,s.autoungrabifyNodes),autounselectify:o(!1,s.autounselectify),styleEnabled:void 0===s.styleEnabled?a:s.styleEnabled,zoom:Q(s.zoom)?s.zoom:1,pan:{x:K(s.pan)&&Q(s.pan.x)?s.pan.x:0,y:K(s.pan)&&Q(s.pan.y)?s.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:o(250,s.multiClickDebounceTime)};this.createEmitter(),this.selectionType(s.selectionType),this.zoomRange({min:s.minZoom,max:s.maxZoom}),l.styleEnabled&&e.setStyle([]);var c=vt({},s,s.renderer);e.initRenderer(c),function(t,e){if(t.some(st))return Br.all(t).then(e);e(t)}([s.style,s.elements],(function(t){var n=t[0],a=t[1];l.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(K(t)||X(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var a=vt({},e._private.options.layout);a.eles=e.elements(),e.layout(a).run()}(a,(function(){e.startAnimationLoop(),l.ready=!0,H(s.ready)&&e.on("ready",s.ready);for(var t=0;t<i.length;t++){var n=i[t];e.on("ready",n)}r&&(r.readies=[]),e.emit("ready")}),s.done)}))},$l=Pl.prototype;vt($l,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(t){return this.isReady()?this.emitter().emit("ready",[],t):this.on("ready",t),this},destroy:function(){var t=this;if(!t.destroyed())return t.stopAnimationLoop(),t.destroyRenderer(),this.emit("destroy"),t._private.destroyed=!0,t},hasElementWithId:function(t){return this._private.elements.hasElementWithId(t)},getElementById:function(t){return this._private.elements.getElementById(t)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(t){return this._private.elements.merge(t),this},removeFromPool:function(t){return this._private.elements.unmerge(t),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return p;var t=this._private.container.ownerDocument;return void 0===t||null==t?p:t.defaultView||p},mount:function(t){if(null!=t){var e=this,n=e._private,r=n.options;return!J(t)&&J(t[0])&&(t=t[0]),e.stopAnimationLoop(),e.destroyRenderer(),n.container=t,n.styleEnabled=!0,e.invalidateSize(),e.initRenderer(vt({},r,r.renderer,{name:"null"===r.renderer.name?"canvas":r.renderer.name})),e.startAnimationLoop(),e.style(r.style),e.emit("mount"),e}},unmount:function(){var t=this;return t.stopAnimationLoop(),t.destroyRenderer(),t.initRenderer({name:"null"}),t.emit("unmount"),t},options:function(){return ie(this._private.options)},json:function(t){var e=this,n=e._private,r=e.mutableElements();if(K(t)){if(e.startBatch(),t.elements){var i={},a=function(t,n){for(var r=[],a=[],s=0;s<t.length;s++){var o=t[s];if(o.data.id){var l=""+o.data.id,c=e.getElementById(l);i[l]=!0,0!==c.length?a.push({ele:c,json:o}):n?(o.group=n,r.push(o)):r.push(o)}else re("cy.json() cannot handle elements without an ID attribute")}e.add(r);for(var h=0;h<a.length;h++){var u=a[h],d=u.ele,p=u.json;d.json(p)}};if(X(t.elements))a(t.elements);else for(var s=["nodes","edges"],o=0;o<s.length;o++){var l=s[o],c=t.elements[l];X(c)&&a(c,l)}var h=e.collection();r.filter((function(t){return!i[t.id()]})).forEach((function(t){t.isParent()?h.merge(t):t.remove()})),h.forEach((function(t){return t.children().move({parent:null})})),h.forEach((function(t){return function(t){return e.getElementById(t.id())}(t).remove()}))}t.style&&e.style(t.style),null!=t.zoom&&t.zoom!==n.zoom&&e.zoom(t.zoom),t.pan&&(t.pan.x===n.pan.x&&t.pan.y===n.pan.y||e.pan(t.pan)),t.data&&e.data(t.data);for(var u=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],d=0;d<u.length;d++){var p=u[d];null!=t[p]&&e[p](t[p])}return e.endBatch(),this}var g={};t?g.elements=this.elements().map((function(t){return t.json()})):(g.elements={},r.forEach((function(t){var e=t.group();g.elements[e]||(g.elements[e]=[]),g.elements[e].push(t.json())}))),this._private.styleEnabled&&(g.style=e.style().json()),g.data=ie(e.data());var f=n.options;return g.zoomingEnabled=n.zoomingEnabled,g.userZoomingEnabled=n.userZoomingEnabled,g.zoom=n.zoom,g.minZoom=n.minZoom,g.maxZoom=n.maxZoom,g.panningEnabled=n.panningEnabled,g.userPanningEnabled=n.userPanningEnabled,g.pan=ie(n.pan),g.boxSelectionEnabled=n.boxSelectionEnabled,g.renderer=ie(f.renderer),g.hideEdgesOnViewport=f.hideEdgesOnViewport,g.textureOnViewport=f.textureOnViewport,g.wheelSensitivity=f.wheelSensitivity,g.motionBlur=f.motionBlur,g.multiClickDebounceTime=f.multiClickDebounceTime,g}}),$l.$id=$l.getElementById,[tl,dl,fl,ml,yl,vl,bl,wl,Rl,Dl,Ol].forEach((function(t){vt($l,t)}));var Bl={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}},Fl={maximal:!1,acyclic:!1},Wl=function(t){return t.scratch("breadthfirst")},zl=function(t,e){return t.scratch("breadthfirst",e)};function Zl(t){this.options=vt({},Bl,Fl,t)}Zl.prototype.run=function(){var t,e=this.options,n=e.cy,r=e.eles,i=r.nodes().filter((function(t){return t.isChildless()})),a=r,s=e.directed,o=e.acyclic||e.maximal||e.maximalAdjustments>0,l=!!e.boundingBox,c=n.extent(),h=Xe(l?e.boundingBox:{x1:c.x1,y1:c.y1,w:c.w,h:c.h});if(tt(e.roots))t=e.roots;else if(X(e.roots)){for(var u=[],d=0;d<e.roots.length;d++){var p=e.roots[d],g=n.getElementById(p);u.push(g)}t=n.collection(u)}else if(j(e.roots))t=n.$(e.roots);else if(s)t=i.roots();else{var f=r.components();t=n.collection();for(var m=function(){var e=f[y],n=e.maxDegree(!1),r=e.filter((function(t){return t.degree(!1)===n}));t=t.add(r)},y=0;y<f.length;y++)m()}var v=[],x={},b=function(t,e){null==v[e]&&(v[e]=[]);var n=v[e].length;v[e].push(t),zl(t,{index:n,depth:e})};a.bfs({roots:t,directed:e.directed,visit:function(t,e,n,r,i){var a=t[0],s=a.id();a.isChildless()&&b(a,i),x[s]=!0}});for(var w=[],k=0;k<i.length;k++){var T=i[k];x[T.id()]||w.push(T)}var _=function(t){for(var e=v[t],n=0;n<e.length;n++){var r=e[n];null!=r?zl(r,{depth:t,index:n}):(e.splice(n,1),n--)}},E=function(t,n){for(var i=Wl(t),a=t.incomers().filter((function(t){return t.isNode()&&r.has(t)})),s=-1,o=t.id(),l=0;l<a.length;l++){var c=a[l],h=Wl(c);s=Math.max(s,h.depth)}if(i.depth<=s){if(!e.acyclic&&n[o])return null;var u=s+1;return function(t,e){var n=Wl(t),r=n.depth,i=n.index;v[r][i]=null,t.isChildless()&&b(t,e)}(t,u),n[o]=u,!0}return!1};if(s&&o){var S=[],C={},A=function(t){return S.push(t)};for(i.forEach((function(t){return S.push(t)}));S.length>0;){var L=S.shift(),M=E(L,C);if(M)L.outgoers().filter((function(t){return t.isNode()&&r.has(t)})).forEach(A);else if(null===M){re("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(e.avoidOverlap)for(var I=0;I<i.length;I++){var R=i[I].layoutDimensions(e),D=R.w,O=R.h;N=Math.max(N,D,O)}var P={},$=function(t){if(P[t.id()])return P[t.id()];for(var e=Wl(t).depth,n=t.neighborhood(),r=0,a=0,s=0;s<n.length;s++){var o=n[s];if(!o.isEdge()&&!o.isParent()&&i.has(o)){var l=Wl(o);if(null!=l){var c=l.index,h=l.depth;if(null!=c&&null!=h){var u=v[h].length;h<e&&(r+=c/u,a++)}}}}return r/=a=Math.max(1,a),0===a&&(r=0),P[t.id()]=r,r},B=function(t,e){var n=$(t)-$(e);return 0===n?yt(t.id(),e.id()):n};void 0!==e.depthSort&&(B=e.depthSort);for(var F=v.length,W=0;W<F;W++)v[W].sort(B),_(W);for(var z=[],Z=0;Z<w.length;Z++)z.push(w[Z]);z.length&&(v.unshift(z),F=v.length,function(){for(var t=0;t<F;t++)_(t)}());for(var Y=0,U=0;U<F;U++)Y=Math.max(v[U].length,Y);var G=h.x1+h.w/2,V=h.y1+h.h/2,q=i.reduce((function(t,n){return r=n.boundingBox({includeLabels:e.nodeDimensionsIncludeLabels}),{w:-1===t.w?r.w:(t.w+r.w)/2,h:-1===t.h?r.h:(t.h+r.h)/2};var r}),{w:-1,h:-1}),H=Math.max(1===F?0:l?(h.h-2*e.padding-q.h)/(F-1):(h.h-2*e.padding-q.h)/(F+1),N),K=v.reduce((function(t,e){return Math.max(t,e.length)}),0);return r.nodes().layoutPositions(this,e,(function(t){var n=Wl(t),r=n.depth,i=n.index;if(e.circle){var a=Math.min(h.w/2/F,h.h/2/F),s=(a=Math.max(a,N))*r+a-(F>0&&v[0].length<=3?a/2:0),o=2*Math.PI/v[r].length*i;return 0===r&&1===v[0].length&&(s=1),{x:G+s*Math.cos(o),y:V+s*Math.sin(o)}}var c=v[r].length,u=Math.max(1===c?0:l?(h.w-2*e.padding-q.w)/((e.grid?K:c)-1):(h.w-2*e.padding-q.w)/((e.grid?K:c)+1),N);return{x:G+(i+1-(c+1)/2)*u,y:V+(r+1-(F+1)/2)*H}})),this};var Yl={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ul(t){this.options=vt({},Yl,t)}Ul.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,a=r.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s,o=Xe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l=o.x1+o.w/2,c=o.y1+o.h/2,h=(void 0===e.sweep?2*Math.PI-2*Math.PI/a.length:e.sweep)/Math.max(1,a.length-1),u=0,d=0;d<a.length;d++){var p=a[d].layoutDimensions(e),g=p.w,f=p.h;u=Math.max(u,g,f)}if(s=Q(e.radius)?e.radius:a.length<=1?0:Math.min(o.h,o.w)/2-u,a.length>1&&e.avoidOverlap){u*=1.75;var m=Math.cos(h)-Math.cos(0),y=Math.sin(h)-Math.sin(0),v=Math.sqrt(u*u/(m*m+y*y));s=Math.max(v,s)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*h*(i?1:-1),a=s*Math.cos(r),o=s*Math.sin(r);return{x:l+a,y:c+o}})),this};var Gl,Vl={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function ql(t){this.options=vt({},Vl,t)}ql.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Xe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o=s.x1+s.w/2,l=s.y1+s.h/2,c=[],h=0,u=0;u<a.length;u++){var d,p=a[u];d=e.concentric(p),c.push({value:d,node:p}),p._private.scratch.concentric=d}a.updateStyle();for(var g=0;g<a.length;g++){var f=a[g].layoutDimensions(e);h=Math.max(h,f.w,f.h)}c.sort((function(t,e){return e.value-t.value}));for(var m=e.levelWidth(a),y=[[]],v=y[0],x=0;x<c.length;x++){var b=c[x];v.length>0&&Math.abs(v[0].value-b.value)>=m&&(v=[],y.push(v)),v.push(b)}var w=h+e.minNodeSpacing;if(!e.avoidOverlap){var k=y.length>0&&y[0].length>1,T=(Math.min(s.w,s.h)/2-w)/(y.length+k?1:0);w=Math.min(w,T)}for(var _=0,E=0;E<y.length;E++){var S=y[E],C=void 0===e.sweep?2*Math.PI-2*Math.PI/S.length:e.sweep,A=S.dTheta=C/Math.max(1,S.length-1);if(S.length>1&&e.avoidOverlap){var L=Math.cos(A)-Math.cos(0),M=Math.sin(A)-Math.sin(0),N=Math.sqrt(w*w/(L*L+M*M));_=Math.max(N,_)}S.r=_,_+=w}if(e.equidistant){for(var I=0,R=0,D=0;D<y.length;D++){var O=y[D].r-R;I=Math.max(I,O)}R=0;for(var P=0;P<y.length;P++){var $=y[P];0===P&&(R=$.r),$.r=R,R+=I}}for(var B={},F=0;F<y.length;F++)for(var W=y[F],z=W.dTheta,Z=W.r,Y=0;Y<W.length;Y++){var U=W[Y],G=e.startAngle+(n?1:-1)*z*Y,V={x:o+Z*Math.cos(G),y:l+Z*Math.sin(G)};B[U.node.id()]=V}return i.nodes().layoutPositions(this,e,(function(t){var e=t.id();return B[e]})),this};var jl={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(t,e){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(t){return 2048},nodeOverlap:4,idealEdgeLength:function(t){return 32},edgeElasticity:function(t){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Hl(t){this.options=vt({},jl,t),this.options.layout=this;var e=this.options.eles.nodes(),n=this.options.eles.edges().filter((function(t){var n=t.source().data("id"),r=t.target().data("id"),i=e.some((function(t){return t.data("id")===n})),a=e.some((function(t){return t.data("id")===r}));return!i||!a}));this.options.eles=this.options.eles.not(n)}Hl.prototype.run=function(){var t=this.options,e=t.cy,n=this;n.stopped=!1,!0!==t.animate&&!1!==t.animate||n.emit({type:"layoutstart",layout:n}),Gl=!0===t.debug;var r=Xl(e,n,t);Gl&&(void 0)(r),t.randomize&&Jl(r);var i=Ot(),a=function(){ec(r,e,t),!0===t.fit&&e.fit(t.padding)},s=function(e){return!(n.stopped||e>=t.numIter||(nc(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature<t.minTemp))},o=function(){if(!0===t.animate||!1===t.animate)a(),n.one("layoutstop",t.stop),n.emit({type:"layoutstop",layout:n});else{var e=t.eles.nodes(),i=tc(r,t,e);e.layoutPositions(n,t,i)}},l=0,c=!0;if(!0===t.animate){var h=function(){for(var e=0;c&&e<t.refresh;)c=s(l),l++,e++;c?(Ot()-i>=t.animationThreshold&&a(),Dt(h)):(gc(r,t),o())};h()}else{for(;c;)c=s(l),l++;gc(r,t),o()}return this},Hl.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Hl.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Xl=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=Xe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),s={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},o=n.eles.components(),l={},c=0;c<o.length;c++)for(var h=o[c],u=0;u<h.length;u++)l[h[u].id()]=c;for(c=0;c<s.nodeSize;c++){var d=(y=i[c]).layoutDimensions(n);(R={}).isLocked=y.locked(),R.id=y.data("id"),R.parentId=y.data("parent"),R.cmptId=l[y.id()],R.children=[],R.positionX=y.position("x"),R.positionY=y.position("y"),R.offsetX=0,R.offsetY=0,R.height=d.w,R.width=d.h,R.maxX=R.positionX+R.width/2,R.minX=R.positionX-R.width/2,R.maxY=R.positionY+R.height/2,R.minY=R.positionY-R.height/2,R.padLeft=parseFloat(y.style("padding")),R.padRight=parseFloat(y.style("padding")),R.padTop=parseFloat(y.style("padding")),R.padBottom=parseFloat(y.style("padding")),R.nodeRepulsion=H(n.nodeRepulsion)?n.nodeRepulsion(y):n.nodeRepulsion,s.layoutNodes.push(R),s.idToIndex[R.id]=c}var p=[],g=0,f=-1,m=[];for(c=0;c<s.nodeSize;c++){var y,v=(y=s.layoutNodes[c]).parentId;null!=v?s.layoutNodes[s.idToIndex[v]].children.push(y.id):(p[++f]=y.id,m.push(y.id))}for(s.graphSet.push(m);g<=f;){var x=p[g++],b=s.idToIndex[x],w=s.layoutNodes[b].children;if(w.length>0)for(s.graphSet.push(w),c=0;c<w.length;c++)p[++f]=w[c]}for(c=0;c<s.graphSet.length;c++){var k=s.graphSet[c];for(u=0;u<k.length;u++){var T=s.idToIndex[k[u]];s.indexToGraph[T]=c}}for(c=0;c<s.edgeSize;c++){var _=r[c],E={};E.id=_.data("id"),E.sourceId=_.data("source"),E.targetId=_.data("target");var S=H(n.idealEdgeLength)?n.idealEdgeLength(_):n.idealEdgeLength,C=H(n.edgeElasticity)?n.edgeElasticity(_):n.edgeElasticity,A=s.idToIndex[E.sourceId],L=s.idToIndex[E.targetId];if(s.indexToGraph[A]!=s.indexToGraph[L]){for(var M=Kl(E.sourceId,E.targetId,s),N=s.graphSet[M],I=0,R=s.layoutNodes[A];-1===N.indexOf(R.id);)R=s.layoutNodes[s.idToIndex[R.parentId]],I++;for(R=s.layoutNodes[L];-1===N.indexOf(R.id);)R=s.layoutNodes[s.idToIndex[R.parentId]],I++;S*=I*n.nestingFactor}E.idealLength=S,E.elasticity=C,s.layoutEdges.push(E)}return s},Kl=function(t,e,n){var r=Ql(t,e,0,n);return 2>r.count?0:r.graph},Ql=function(t,e,n,r){var i=r.graphSet[n];if(-1<i.indexOf(t)&&-1<i.indexOf(e))return{count:2,graph:n};for(var a=0,s=0;s<i.length;s++){var o=i[s],l=r.idToIndex[o],c=r.layoutNodes[l].children;if(0!==c.length){var h=r.indexToGraph[r.idToIndex[c[0]]],u=Ql(t,e,h,r);if(0!==u.count){if(1!==u.count)return u;if(2==++a)break}}}return{count:a,graph:n}},Jl=function(t,e){for(var n=t.clientWidth,r=t.clientHeight,i=0;i<t.nodeSize;i++){var a=t.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*n,a.positionY=Math.random()*r)}},tc=function(t,e,n){var r=t.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return e.boundingBox&&(n.forEach((function(e){var n=t.layoutNodes[t.idToIndex[e.data("id")]];i.x1=Math.min(i.x1,n.positionX),i.x2=Math.max(i.x2,n.positionX),i.y1=Math.min(i.y1,n.positionY),i.y2=Math.max(i.y2,n.positionY)})),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(n,a){var s=t.layoutNodes[t.idToIndex[n.data("id")]];if(e.boundingBox){var o=(s.positionX-i.x1)/i.w,l=(s.positionY-i.y1)/i.h;return{x:r.x1+o*r.w,y:r.y1+l*r.h}}return{x:s.positionX,y:s.positionY}}},ec=function(t,e,n){var r=n.layout,i=n.eles.nodes(),a=tc(t,n,i);i.positions(a),!0!==t.ready&&(t.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},nc=function(t,e,n){rc(t,e),lc(t),cc(t,e),hc(t),uc(t)},rc=function(t,e){for(var n=0;n<t.graphSet.length;n++)for(var r=t.graphSet[n],i=r.length,a=0;a<i;a++)for(var s=t.layoutNodes[t.idToIndex[r[a]]],o=a+1;o<i;o++){var l=t.layoutNodes[t.idToIndex[r[o]]];ac(s,l,t,e)}},ic=function(t){return 2*t*Math.random()-1},ac=function(t,e,n,r){if(t.cmptId===e.cmptId||n.isCompound){var i=e.positionX-t.positionX,a=e.positionY-t.positionY;0===i&&0===a&&(i=ic(1),a=ic(1));var s=sc(t,e,i,a);if(s>0)var o=(c=r.nodeOverlap*s)*i/(f=Math.sqrt(i*i+a*a)),l=c*a/f;else{var c,h=oc(t,i,a),u=oc(e,-1*i,-1*a),d=u.x-h.x,p=u.y-h.y,g=d*d+p*p,f=Math.sqrt(g);o=(c=(t.nodeRepulsion+e.nodeRepulsion)/g)*d/f,l=c*p/f}t.isLocked||(t.offsetX-=o,t.offsetY-=l),e.isLocked||(e.offsetX+=o,e.offsetY+=l)}},sc=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var a=t.maxY-e.minY;else a=e.maxY-t.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},oc=function(t,e,n){var r=t.positionX,i=t.positionY,a=t.height||1,s=t.width||1,o=n/e,l=a/s,c={};return 0===e&&0<n||0===e&&0>n?(c.x=r,c.y=i+a/2,c):0<e&&-1*l<=o&&o<=l?(c.x=r+s/2,c.y=i+s*n/2/e,c):0>e&&-1*l<=o&&o<=l?(c.x=r-s/2,c.y=i-s*n/2/e,c):0<n&&(o<=-1*l||o>=l)?(c.x=r+a*e/2/n,c.y=i+a/2,c):0>n&&(o<=-1*l||o>=l)?(c.x=r-a*e/2/n,c.y=i-a/2,c):c},lc=function(t,e){for(var n=0;n<t.edgeSize;n++){var r=t.layoutEdges[n],i=t.idToIndex[r.sourceId],a=t.layoutNodes[i],s=t.idToIndex[r.targetId],o=t.layoutNodes[s],l=o.positionX-a.positionX,c=o.positionY-a.positionY;if(0!==l||0!==c){var h=oc(a,l,c),u=oc(o,-1*l,-1*c),d=u.x-h.x,p=u.y-h.y,g=Math.sqrt(d*d+p*p),f=Math.pow(r.idealLength-g,2)/r.elasticity;if(0!==g)var m=f*d/g,y=f*p/g;else m=0,y=0;a.isLocked||(a.offsetX+=m,a.offsetY+=y),o.isLocked||(o.offsetX-=m,o.offsetY-=y)}}},cc=function(t,e){if(0!==e.gravity)for(var n=0;n<t.graphSet.length;n++){var r=t.graphSet[n],i=r.length;if(0===n)var a=t.clientHeight/2,s=t.clientWidth/2;else{var o=t.layoutNodes[t.idToIndex[r[0]]],l=t.layoutNodes[t.idToIndex[o.parentId]];a=l.positionX,s=l.positionY}for(var c=0;c<i;c++){var h=t.layoutNodes[t.idToIndex[r[c]]];if(!h.isLocked){var u=a-h.positionX,d=s-h.positionY,p=Math.sqrt(u*u+d*d);if(p>1){var g=e.gravity*u/p,f=e.gravity*d/p;h.offsetX+=g,h.offsetY+=f}}}}},hc=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var a=n[r++],s=t.idToIndex[a],o=t.layoutNodes[s],l=o.children;if(0<l.length&&!o.isLocked){for(var c=o.offsetX,h=o.offsetY,u=0;u<l.length;u++){var d=t.layoutNodes[t.idToIndex[l[u]]];d.offsetX+=c,d.offsetY+=h,n[++i]=l[u]}o.offsetX=0,o.offsetY=0}}},uc=function(t,e){for(var n=0;n<t.nodeSize;n++)0<(i=t.layoutNodes[n]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0);for(n=0;n<t.nodeSize;n++)if(!(0<(i=t.layoutNodes[n]).children.length||i.isLocked)){var r=dc(i.offsetX,i.offsetY,t.temperature);i.positionX+=r.x,i.positionY+=r.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,pc(i,t)}for(n=0;n<t.nodeSize;n++){var i;0<(i=t.layoutNodes[n]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},dc=function(t,e,n){var r=Math.sqrt(t*t+e*e);if(r>n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},pc=function(t,e){var n=t.parentId;if(null!=n){var r=e.layoutNodes[e.idToIndex[n]],i=!1;return(null==r.maxX||t.maxX+r.padRight>r.maxX)&&(r.maxX=t.maxX+r.padRight,i=!0),(null==r.minX||t.minX-r.padLeft<r.minX)&&(r.minX=t.minX-r.padLeft,i=!0),(null==r.maxY||t.maxY+r.padBottom>r.maxY)&&(r.maxY=t.maxY+r.padBottom,i=!0),(null==r.minY||t.minY-r.padTop<r.minY)&&(r.minY=t.minY-r.padTop,i=!0),i?pc(r,e):void 0}},gc=function(t,e){for(var n=t.layoutNodes,r=[],i=0;i<n.length;i++){var a=n[i],s=a.cmptId;(r[s]=r[s]||[]).push(a)}var o=0;for(i=0;i<r.length;i++)if(f=r[i]){f.x1=1/0,f.x2=-1/0,f.y1=1/0,f.y2=-1/0;for(var l=0;l<f.length;l++){var c=f[l];f.x1=Math.min(f.x1,c.positionX-c.width/2),f.x2=Math.max(f.x2,c.positionX+c.width/2),f.y1=Math.min(f.y1,c.positionY-c.height/2),f.y2=Math.max(f.y2,c.positionY+c.height/2)}f.w=f.x2-f.x1,f.h=f.y2-f.y1,o+=f.w*f.h}r.sort((function(t,e){return e.w*e.h-t.w*t.h}));var h=0,u=0,d=0,p=0,g=Math.sqrt(o)*t.clientWidth/t.clientHeight;for(i=0;i<r.length;i++){var f;if(f=r[i]){for(l=0;l<f.length;l++)(c=f[l]).isLocked||(c.positionX+=h-f.x1,c.positionY+=u-f.y1);h+=f.w+e.componentSpacing,d+=f.w+e.componentSpacing,p=Math.max(p,f.h),d>g&&(u+=p+e.componentSpacing,h=0,d=0,p=0)}}},fc={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function mc(t){this.options=vt({},fc,t)}mc.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Xe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,e,(function(t){return{x:a.x1,y:a.y1}}));else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),c=Math.round(a.w/a.h*o),h=function(t){if(null==t)return Math.min(l,c);Math.min(l,c)==l?l=t:c=t},u=function(t){if(null==t)return Math.max(l,c);Math.max(l,c)==l?l=t:c=t},d=e.rows,p=null!=e.cols?e.cols:e.columns;if(null!=d&&null!=p)l=d,c=p;else if(null!=d&&null==p)l=d,c=Math.ceil(s/l);else if(null==d&&null!=p)c=p,l=Math.ceil(s/c);else if(c*l>s){var g=h(),f=u();(g-1)*f>=s?h(g-1):(f-1)*g>=s&&u(f-1)}else for(;c*l<s;){var m=h(),y=u();(y+1)*m>=s?u(y+1):h(m+1)}var v=a.w/c,x=a.h/l;if(e.condense&&(v=0,x=0),e.avoidOverlap)for(var b=0;b<i.length;b++){var w=i[b],k=w._private.position;null!=k.x&&null!=k.y||(k.x=0,k.y=0);var T=w.layoutDimensions(e),_=e.avoidOverlapPadding,E=T.w+_,S=T.h+_;v=Math.max(v,E),x=Math.max(x,S)}for(var C={},A=function(t,e){return!!C["c-"+t+"-"+e]},L=function(t,e){C["c-"+t+"-"+e]=!0},M=0,N=0,I=function(){++N>=c&&(N=0,M++)},R={},D=0;D<i.length;D++){var O=i[D],P=e.position(O);if(P&&(void 0!==P.row||void 0!==P.col)){var $={row:P.row,col:P.col};if(void 0===$.col)for($.col=0;A($.row,$.col);)$.col++;else if(void 0===$.row)for($.row=0;A($.row,$.col);)$.row++;R[O.id()]=$,L($.row,$.col)}}i.layoutPositions(this,e,(function(t,e){var n,r;if(t.locked()||t.isParent())return!1;var i=R[t.id()];if(i)n=i.col*v+v/2+a.x1,r=i.row*x+x/2+a.y1;else{for(;A(M,N);)I();n=N*v+v/2+a.x1,r=M*x+x/2+a.y1,L(M,N),I()}return{x:n,y:r}}))}return this};var yc={ready:function(){},stop:function(){}};function vc(t){this.options=vt({},yc,t)}vc.prototype.run=function(){var t=this.options,e=t.eles,n=this;return t.cy,n.emit("layoutstart"),e.nodes().positions((function(){return{x:0,y:0}})),n.one("layoutready",t.ready),n.emit("layoutready"),n.one("layoutstop",t.stop),n.emit("layoutstop"),this},vc.prototype.stop=function(){return this};var xc={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function bc(t){this.options=vt({},xc,t)}bc.prototype.run=function(){var t=this.options,e=t.eles.nodes(),n=H(t.positions);return e.layoutPositions(this,t,(function(e,r){var i=function(e){if(null==t.positions)return function(t){return{x:t.x,y:t.y}}(e.position());if(n)return t.positions(e);var r=t.positions[e._private.data.id];return null==r?null:r}(e);return!e.locked()&&null!=i&&i})),this};var wc={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function kc(t){this.options=vt({},wc,t)}kc.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,r=Xe(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()});return n.nodes().layoutPositions(this,t,(function(t,e){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}})),this};var Tc=[{name:"breadthfirst",impl:Zl},{name:"circle",impl:Ul},{name:"concentric",impl:ql},{name:"cose",impl:Hl},{name:"grid",impl:mc},{name:"null",impl:vc},{name:"preset",impl:bc},{name:"random",impl:kc}];function _c(t){this.options=t,this.notifications=0}var Ec=function(){},Sc=function(){throw new Error("A headless instance can not render images")};_c.prototype={recalculateRenderedStyle:Ec,notify:function(){this.notifications++},init:Ec,isHeadless:function(){return!0},png:Sc,jpg:Sc};var Cc={arrowShapeWidth:.3,registerArrowShapes:function(){var t=this.arrowShapes={},e=this,n=function(t,e,n,r,i,a,s){var o=i.x-n/2-s,l=i.x+n/2+s,c=i.y-n/2-s,h=i.y+n/2+s;return o<=t&&t<=l&&c<=e&&e<=h},r=function(t,e,n,r,i){var a=t*Math.cos(r)-e*Math.sin(r),s=(t*Math.sin(r)+e*Math.cos(r))*n;return{x:a*n+i.x,y:s+i.y}},i=function(t,e,n,i){for(var a=[],s=0;s<t.length;s+=2){var o=t[s],l=t[s+1];a.push(r(o,l,e,n,i))}return a},a=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];e.push(r.x,r.y)}return e},s=function(t){return t.pstyle("width").pfValue*t.pstyle("arrow-scale").pfValue*2},o=function(r,o){j(o)&&(o=t[o]),t[r]=vt({name:r,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(t,e,n,r,s,o){var l=a(i(this.points,n+2*o,r,s));return hn(t,e,l)},roughCollide:n,draw:function(t,n,r,a){var s=i(this.points,n,r,a);e.arrowShapeImpl("polygon")(t,s)},spacing:function(t){return 0},gap:s},o)};o("none",{collide:Qt,roughCollide:Qt,draw:te,spacing:Jt,gap:Jt}),o("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),o("arrow","triangle"),o("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(t,n,a,s,o){var l=i(this.points,n,a,s),c=this.controlPoint,h=r(c[0],c[1],n,a,s);e.arrowShapeImpl(this.name)(t,l,h)},gap:function(t){return.8*s(t)}}),o("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(t,e,n,r,s,o,l){var c=a(i(this.points,n+2*l,r,s)),h=a(i(this.pointsTee,n+2*l,r,s));return hn(t,e,c)||hn(t,e,h)},draw:function(t,n,r,a,s){var o=i(this.points,n,r,a),l=i(this.pointsTee,n,r,a);e.arrowShapeImpl(this.name)(t,o,l)}}),o("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(t,e,n,r,s,o,l){var c=s,h=Math.pow(c.x-t,2)+Math.pow(c.y-e,2)<=Math.pow((n+2*l)*this.radius,2),u=a(i(this.points,n+2*l,r,s));return hn(t,e,u)||h},draw:function(t,n,r,a,s){var o=i(this.pointsTr,n,r,a);e.arrowShapeImpl(this.name)(t,o,a.x,a.y,this.radius*n)},spacing:function(t){return e.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.radius}}),o("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(t,e){var n=this.baseCrossLinePts.slice(),r=e/t;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(t,e,n,r,s,o,l){var c=a(i(this.points,n+2*l,r,s)),h=a(i(this.crossLinePts(n,o),n+2*l,r,s));return hn(t,e,c)||hn(t,e,h)},draw:function(t,n,r,a,s){var o=i(this.points,n,r,a),l=i(this.crossLinePts(n,s),n,r,a);e.arrowShapeImpl(this.name)(t,o,l)}}),o("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(t){return.525*s(t)}}),o("circle",{radius:.15,collide:function(t,e,n,r,i,a,s){var o=i;return Math.pow(o.x-t,2)+Math.pow(o.y-e,2)<=Math.pow((n+2*s)*this.radius,2)},draw:function(t,n,r,i,a){e.arrowShapeImpl(this.name)(t,i.x,i.y,this.radius*n)},spacing:function(t){return e.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.radius}}),o("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(t){return 1},gap:function(t){return 1}}),o("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),o("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(t){return t.pstyle("width").pfValue*t.pstyle("arrow-scale").value}}),o("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(t){return.95*t.pstyle("width").pfValue*t.pstyle("arrow-scale").value}})}},Ac={projectIntoViewport:function(t,e){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],a=r[1],s=r[4],o=n.pan(),l=n.zoom();return[((t-i)/s-o.x)/l,((e-a)/s-o.y)/l]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var t=this.container,e=t.getBoundingClientRect(),n=this.cy.window().getComputedStyle(t),r=function(t){return parseFloat(n.getPropertyValue(t))},i=r("padding-left"),a=r("padding-right"),s=r("padding-top"),o=r("padding-bottom"),l=r("border-left-width"),c=r("border-right-width"),h=r("border-top-width"),u=(r("border-bottom-width"),t.clientWidth),d=t.clientHeight,p=i+a,g=s+o,f=l+c,m=e.width/(u+f),y=u-p,v=d-g,x=e.left+i+l,b=e.top+s+h;return this.containerBB=[x,b,y,v,m]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(t,e,n,r){return this.findNearestElements(t,e,n,r)[0]},findNearestElements:function(t,e,n,r){var i,a,s=this,o=this,l=o.getCachedZSortedEles(),c=[],h=o.cy.zoom(),u=o.cy.hasCompoundNodes(),d=(r?24:8)/h,p=(r?8:2)/h,g=(r?8:2)/h,f=1/0;function m(t,e){if(t.isNode()){if(a)return;a=t,c.push(t)}if(t.isEdge()&&(null==e||e<f))if(i){if(i.pstyle("z-compound-depth").value===t.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===t.pstyle("z-compound-depth").value)for(var n=0;n<c.length;n++)if(c[n].isEdge()){c[n]=t,i=t,f=null!=e?e:f;break}}else c.push(t),i=t,f=null!=e?e:f}function y(n){var r=n.outerWidth()+2*p,i=n.outerHeight()+2*p,a=r/2,l=i/2,c=n.position(),h="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,u=n._private.rscratch;if(c.x-a<=t&&t<=c.x+a&&c.y-l<=e&&e<=c.y+l&&o.nodeShapes[s.getNodeShape(n)].checkPoint(t,e,0,r,i,c.x,c.y,h,u))return m(n,0),!0}function v(n){var r,i=n._private,a=i.rscratch,l=n.pstyle("width").pfValue,h=n.pstyle("arrow-scale").value,p=l/2+d,g=p*p,f=2*p,v=i.source,x=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var b=a.allpts,w=0;w+3<b.length;w+=2)if(sn(t,e,b[w],b[w+1],b[w+2],b[w+3],f)&&g>(r=cn(t,e,b[w],b[w+1],b[w+2],b[w+3])))return m(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(b=a.allpts,w=0;w+5<a.allpts.length;w+=4)if(on(t,e,b[w],b[w+1],b[w+2],b[w+3],b[w+4],b[w+5],f)&&g>(r=ln(t,e,b[w],b[w+1],b[w+2],b[w+3],b[w+4],b[w+5])))return m(n,r),!0;v=v||i.source,x=x||i.target;var k=s.getArrowWidth(l,h),T=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w<T.length;w++){var _=T[w],E=o.arrowShapes[n.pstyle(_.name+"-arrow-shape").value],S=n.pstyle("width").pfValue;if(E.roughCollide(t,e,k,_.angle,{x:_.x,y:_.y},S,d)&&E.collide(t,e,k,_.angle,{x:_.x,y:_.y},S,d))return m(n),!0}u&&c.length>0&&(y(v),y(x))}function x(t,e,n){return ue(t,e,n)}function b(n,r){var i,a=n._private,s=g;i=r?r+"-":"",n.boundingBox();var o=a.labelBounds[r||"main"],l=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var c=x(a.rscratch,"labelX",r),h=x(a.rscratch,"labelY",r),u=x(a.rscratch,"labelAngle",r),d=n.pstyle(i+"text-margin-x").pfValue,p=n.pstyle(i+"text-margin-y").pfValue,f=o.x1-s-d,y=o.x2+s-d,v=o.y1-s-p,b=o.y2+s-p;if(u){var w=Math.cos(u),k=Math.sin(u),T=function(t,e){return{x:(t-=c)*w-(e-=h)*k+c,y:t*k+e*w+h}},_=T(f,v),E=T(f,b),S=T(y,v),C=T(y,b),A=[_.x+d,_.y+p,S.x+d,S.y+p,C.x+d,C.y+p,E.x+d,E.y+p];if(hn(t,e,A))return m(n),!0}else if(rn(o,t,e))return m(n),!0}}n&&(l=l.interactive);for(var w=l.length-1;w>=0;w--){var k=l[w];k.isNode()?y(k)||b(k):v(k)||b(k)||b(k,"source")||b(k,"target")}return c},getAllInBox:function(t,e,n,r){var i,a,s=this.getCachedZSortedEles().interactive,o=2/this.cy.zoom(),l=[],c=Math.min(t,n),h=Math.max(t,n),u=Math.min(e,r),d=Math.max(e,r),p=Xe({x1:t=c,y1:e=u,x2:n=h,y2:r=d});function g(t,e,n){return ue(t,e,n)}function f(t,e){var n=t._private,r=o;t.boundingBox();var i=n.labelBounds.main,a=g(n.rscratch,"labelX",e),s=g(n.rscratch,"labelY",e),l=g(n.rscratch,"labelAngle",e),c=t.pstyle("text-margin-x").pfValue,h=t.pstyle("text-margin-y").pfValue,u=i.x1-r-c,d=i.x2+r-c,p=i.y1-r-h,f=i.y2+r-h;if(l){var m=Math.cos(l),y=Math.sin(l),v=function(t,e){return{x:(t-=a)*m-(e-=s)*y+a,y:t*y+e*m+s}};return[v(u,p),v(d,p),v(d,f),v(u,f)]}return[{x:u,y:p},{x:d,y:p},{x:d,y:f},{x:u,y:f}]}for(var m=0;m<s.length;m++){var y=s[m];if(y.isNode()){var v=y,x="yes"===v.pstyle("text-events").strValue,b="yes"===v.pstyle("box-select-labels").strValue,w=v.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:b&&x});nn(p,w)&&Sn(f(v),[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}])&&l.push(v)}else{var k=y,T=k._private,_=T.rscratch;if(null!=_.startX&&null!=_.startY&&!rn(p,_.startX,_.startY))continue;if(null!=_.endX&&null!=_.endY&&!rn(p,_.endX,_.endY))continue;if("bezier"===_.edgeType||"multibezier"===_.edgeType||"self"===_.edgeType||"compound"===_.edgeType||"segments"===_.edgeType||"haystack"===_.edgeType){for(var E=T.rstyle.bezierPts||T.rstyle.linePts||T.rstyle.haystackPts,S=!0,C=0;C<E.length;C++)if(i=p,a=E[C],!rn(i,a.x,a.y)){S=!1;break}S&&l.push(k)}else"haystack"!==_.edgeType&&"straight"!==_.edgeType||l.push(k)}}return l}},Lc={calculateArrowAngles:function(t){var e,n,r,i,a,s,o=t._private.rscratch,l="haystack"===o.edgeType,c="bezier"===o.edgeType,h="multibezier"===o.edgeType,u="segments"===o.edgeType,d="compound"===o.edgeType,p="self"===o.edgeType;if(l?(r=o.haystackPts[0],i=o.haystackPts[1],a=o.haystackPts[2],s=o.haystackPts[3]):(r=o.arrowStartX,i=o.arrowStartY,a=o.arrowEndX,s=o.arrowEndY),f=o.midX,m=o.midY,u)e=r-o.segpts[0],n=i-o.segpts[1];else if(h||d||p||c){var g=o.allpts;e=r-qe(g[0],g[2],g[4],.1),n=i-qe(g[1],g[3],g[5],.1)}else e=r-f,n=i-m;o.srcArrowAngle=ze(e,n);var f=o.midX,m=o.midY;if(l&&(f=(r+a)/2,m=(i+s)/2),e=a-r,n=s-i,u)if((g=o.allpts).length/2%2==0){var y=(E=g.length/2)-2;e=g[E]-g[y],n=g[E+1]-g[y+1]}else o.isRound?(e=o.midVector[1],n=-o.midVector[0]):(y=(E=g.length/2-1)-2,e=g[E]-g[y],n=g[E+1]-g[y+1]);else if(h||d||p){var v,x,b,w;g=o.allpts;if(o.ctrlpts.length/2%2==0){var k=2+(T=2+(_=g.length/2-1));v=qe(g[_],g[T],g[k],0),x=qe(g[_+1],g[T+1],g[k+1],0),b=qe(g[_],g[T],g[k],1e-4),w=qe(g[_+1],g[T+1],g[k+1],1e-4)}else{var T,_;k=2+(T=g.length/2-1),v=qe(g[_=T-2],g[T],g[k],.4999),x=qe(g[_+1],g[T+1],g[k+1],.4999),b=qe(g[_],g[T],g[k],.5),w=qe(g[_+1],g[T+1],g[k+1],.5)}e=b-v,n=w-x}if(o.midtgtArrowAngle=ze(e,n),o.midDispX=e,o.midDispY=n,e*=-1,n*=-1,u)if((g=o.allpts).length/2%2==0);else if(!o.isRound){var E,S=2+(E=g.length/2-1);e=-(g[S]-g[E]),n=-(g[S+1]-g[E+1])}if(o.midsrcArrowAngle=ze(e,n),u)e=a-o.segpts[o.segpts.length-2],n=s-o.segpts[o.segpts.length-1];else if(h||d||p||c){var C=(g=o.allpts).length;e=a-qe(g[C-6],g[C-4],g[C-2],.9),n=s-qe(g[C-5],g[C-3],g[C-1],.9)}else e=a-f,n=s-m;o.tgtArrowAngle=ze(e,n)}};Lc.getArrowWidth=Lc.getArrowHeight=function(t,e){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[t+", "+e];return r||(r=Math.max(Math.pow(13.37*t,.9),29)*e,n[t+", "+e]=r,r)};var Mc,Nc,Ic,Rc,Dc,Oc,Pc,$c,Bc,Fc,Wc,zc,Zc,Yc,Uc,Gc,Vc,qc={},jc={},Hc=function(t,e,n){n.x=e.x-t.x,n.y=e.y-t.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)};function Xc(t,e){0===e.radius?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function Kc(t,e,n,r){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===r||0===e.radius?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(function(t,e,n,r,i){var a,s;if(t!==Vc?Hc(e,t,qc):((s=qc).x=-1*(a=jc).x,s.y=-1*a.y,s.nx=-1*a.nx,s.ny=-1*a.ny,s.ang=a.ang>0?-(Math.PI-a.ang):Math.PI+a.ang),Hc(e,n,jc),Ic=qc.nx*jc.ny-qc.ny*jc.nx,Rc=qc.nx*jc.nx-qc.ny*-jc.ny,Pc=Math.asin(Math.max(-1,Math.min(1,Ic))),Math.abs(Pc)<1e-6)return Mc=e.x,Nc=e.y,void(Bc=Wc=0);Dc=1,Oc=!1,Rc<0?Pc<0?Pc=Math.PI+Pc:(Pc=Math.PI-Pc,Dc=-1,Oc=!0):Pc>0&&(Dc=-1,Oc=!0),Wc=void 0!==e.radius?e.radius:r,$c=Pc/2,zc=Math.min(qc.len/2,jc.len/2),i?(Fc=Math.abs(Math.cos($c)*Wc/Math.sin($c)))>zc?(Fc=zc,Bc=Math.abs(Fc*Math.sin($c)/Math.cos($c))):Bc=Wc:(Fc=Math.min(zc,Wc),Bc=Math.abs(Fc*Math.sin($c)/Math.cos($c))),Uc=e.x+jc.nx*Fc,Gc=e.y+jc.ny*Fc,Mc=Uc-jc.ny*Bc*Dc,Nc=Gc+jc.nx*Bc*Dc,Zc=e.x+qc.nx*Fc,Yc=e.y+qc.ny*Fc,Vc=e}(t,e,n,r,i),{cx:Mc,cy:Nc,radius:Bc,startX:Zc,startY:Yc,stopX:Uc,stopY:Gc,startAngle:qc.ang+Math.PI/2*Dc,endAngle:jc.ang-Math.PI/2*Dc,counterClockwise:Oc})}var Qc=.01,Jc=Math.sqrt(.02),th={};function eh(t){var e=[];if(null!=t){for(var n=0;n<t.length;n+=2){var r=t[n],i=t[n+1];e.push({x:r,y:i})}return e}}th.findMidptPtsEtc=function(t,e){var n,r=e.posPts,i=e.intersectionPts,a=e.vectorNormInverse,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),c=null!=s.units&&null!=o.units;switch(t.pstyle("edge-distances").value){case"node-position":n=r;break;case"intersection":n=i;break;case"endpoints":if(c){var h=l(this.manualEndptToPx(t.source()[0],s),2),u=h[0],d=h[1],p=l(this.manualEndptToPx(t.target()[0],o),2),g=p[0],f=p[1],m={x1:u,y1:d,x2:g,y2:f};a=function(t,e,n,r){var i=r-e,a=n-t,s=Math.sqrt(a*a+i*i);return{x:-i/s,y:a/s}}(u,d,g,f),n=m}else re("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),n=i}return{midptPts:n,vectorNormInverse:a}},th.findHaystackPoints=function(t){for(var e=0;e<t.length;e++){var n=t[e],r=n._private,i=r.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},a=2*Math.random()*Math.PI,i.target={x:Math.cos(a),y:Math.sin(a)}}var s=r.source,o=r.target,l=s.position(),c=o.position(),h=s.width(),u=o.width(),d=s.height(),p=o.height(),g=n.pstyle("haystack-radius").value/2;i.haystackPts=i.allpts=[i.source.x*h*g+l.x,i.source.y*d*g+l.y,i.target.x*u*g+c.x,i.target.y*p*g+c.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},th.findSegmentsPoints=function(t,e){var n=t._private.rscratch,r=t.pstyle("segment-weights"),i=t.pstyle("segment-distances"),a=t.pstyle("segment-radii"),s=t.pstyle("radius-type"),o=Math.min(r.pfValue.length,i.pfValue.length),l=a.pfValue[a.pfValue.length-1],c=s.pfValue[s.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var h=0;h<o;h++){var u=r.pfValue[h],d=i.pfValue[h],p=1-u,g=u,f=this.findMidptPtsEtc(t,e),m=f.midptPts,y=f.vectorNormInverse,v={x:m.x1*p+m.x2*g,y:m.y1*p+m.y2*g};n.segpts.push(v.x+y.x*d,v.y+y.y*d),n.radii.push(void 0!==a.pfValue[h]?a.pfValue[h]:l),n.isArcRadius.push("arc-radius"===(void 0!==s.pfValue[h]?s.pfValue[h]:c))}},th.findLoopPoints=function(t,e,n,r){var i=t._private.rscratch,a=e.dirCounts,s=e.srcPos,o=t.pstyle("control-point-distances"),l=o?o.pfValue[0]:void 0,c=t.pstyle("loop-direction").pfValue,h=t.pstyle("loop-sweep").pfValue,u=t.pstyle("control-point-step-size").pfValue;i.edgeType="self";var d=n,p=u;r&&(d=0,p=l);var g=c-Math.PI/2,f=g-h/2,m=g+h/2,y=String(c+"_"+h);d=void 0===a[y]?a[y]=0:++a[y],i.ctrlpts=[s.x+1.4*Math.cos(f)*p*(d/3+1),s.y+1.4*Math.sin(f)*p*(d/3+1),s.x+1.4*Math.cos(m)*p*(d/3+1),s.y+1.4*Math.sin(m)*p*(d/3+1)]},th.findCompoundLoopPoints=function(t,e,n,r){var i=t._private.rscratch;i.edgeType="compound";var a=e.srcPos,s=e.tgtPos,o=e.srcW,l=e.srcH,c=e.tgtW,h=e.tgtH,u=t.pstyle("control-point-step-size").pfValue,d=t.pstyle("control-point-distances"),p=d?d.pfValue[0]:void 0,g=n,f=u;r&&(g=0,f=p);var m={x:a.x-o/2,y:a.y-l/2},y={x:s.x-c/2,y:s.y-h/2},v={x:Math.min(m.x,y.x),y:Math.min(m.y,y.y)},x=Math.max(.5,Math.log(o*Qc)),b=Math.max(.5,Math.log(c*Qc));i.ctrlpts=[v.x,v.y-(1+Math.pow(50,1.12)/100)*f*(g/3+1)*x,v.x-(1+Math.pow(50,1.12)/100)*f*(g/3+1)*b,v.y]},th.findStraightEdgePoints=function(t){t._private.rscratch.edgeType="straight"},th.findBezierPoints=function(t,e,n,r,i){var a=t._private.rscratch,s=t.pstyle("control-point-step-size").pfValue,o=t.pstyle("control-point-distances"),l=t.pstyle("control-point-weights"),c=o&&l?Math.min(o.value.length,l.value.length):1,h=o?o.pfValue[0]:void 0,u=l.value[0],d=r;a.edgeType=d?"multibezier":"bezier",a.ctrlpts=[];for(var p=0;p<c;p++){var g,f=(.5-e.eles.length/2+n)*s*(i?-1:1),m=Ye(f);d&&(h=o?o.pfValue[p]:s,u=l.value[p]);var y=void 0!==(g=r?h:void 0!==h?m*h:void 0)?g:f,v=1-u,x=u,b=this.findMidptPtsEtc(t,e),w=b.midptPts,k=b.vectorNormInverse,T={x:w.x1*v+w.x2*x,y:w.y1*v+w.y2*x};a.ctrlpts.push(T.x+k.x*y,T.y+k.y*y)}},th.findTaxiPoints=function(t,e){var n=t._private.rscratch;n.edgeType="segments";var r="vertical",i="horizontal",a="leftward",s="rightward",o="downward",l="upward",c=e.posPts,h=e.srcW,u=e.srcH,d=e.tgtW,p=e.tgtH,g="node-position"!==t.pstyle("edge-distances").value,f=t.pstyle("taxi-direction").value,m=f,y=t.pstyle("taxi-turn"),v="%"===y.units,x=y.pfValue,b=x<0,w=t.pstyle("taxi-turn-min-distance").pfValue,k=g?(h+d)/2:0,T=g?(u+p)/2:0,_=c.x2-c.x1,E=c.y2-c.y1,S=function(t,e){return t>0?Math.max(t-e,0):Math.min(t+e,0)},C=S(_,k),A=S(E,T),L=!1;"auto"===m?f=Math.abs(C)>Math.abs(A)?i:r:m===l||m===o?(f=r,L=!0):m!==a&&m!==s||(f=i,L=!0);var M,N=f===r,I=N?A:C,R=N?E:_,D=Ye(R),O=!1;L&&(v||b)||!(m===o&&R<0||m===l&&R>0||m===a&&R>0||m===s&&R<0)||(I=(D*=-1)*Math.abs(I),O=!0);var P=function(t){return Math.abs(t)<w||Math.abs(t)>=Math.abs(I)},$=P(M=v?(x<0?1+x:x)*I:(x<0?I:0)+x*D),B=P(Math.abs(I)-Math.abs(M));if(!$&&!B||O)if(N){var F=c.y1+M+(g?u/2*D:0),W=c.x1,z=c.x2;n.segpts=[W,F,z,F]}else{var Z=c.x1+M+(g?h/2*D:0),Y=c.y1,U=c.y2;n.segpts=[Z,Y,Z,U]}else if(N){var G=Math.abs(R)<=u/2,V=Math.abs(_)<=d/2;if(G){var q=(c.x1+c.x2)/2,j=c.y1,H=c.y2;n.segpts=[q,j,q,H]}else if(V){var X=(c.y1+c.y2)/2,K=c.x1,Q=c.x2;n.segpts=[K,X,Q,X]}else n.segpts=[c.x1,c.y2]}else{var J=Math.abs(R)<=h/2,tt=Math.abs(E)<=p/2;if(J){var et=(c.y1+c.y2)/2,nt=c.x1,rt=c.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(c.x1+c.x2)/2,at=c.y1,st=c.y2;n.segpts=[it,at,it,st]}else n.segpts=[c.x2,c.y1]}if(n.isRound){var ot=t.pstyle("taxi-radius").value,lt="arc-radius"===t.pstyle("radius-type").value[0];n.radii=new Array(n.segpts.length/2).fill(ot),n.isArcRadius=new Array(n.segpts.length/2).fill(lt)}},th.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,c=e.srcShape,h=e.tgtShape,u=e.srcCornerRadius,d=e.tgtCornerRadius,p=e.srcRs,g=e.tgtRs,f=!Q(n.startX)||!Q(n.startY),m=!Q(n.arrowStartX)||!Q(n.arrowStartY),y=!Q(n.endX)||!Q(n.endY),v=!Q(n.arrowEndX)||!Q(n.arrowEndY),x=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,b=Ue({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),w=b<x,k=Ue({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),T=k<x,_=!1;if(f||m||w){_=!0;var E={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},S=Math.sqrt(E.x*E.x+E.y*E.y),C={x:E.x/S,y:E.y/S},A=Math.max(a,s),L={x:n.ctrlpts[0]+2*C.x*A,y:n.ctrlpts[1]+2*C.y*A},M=c.intersectLine(r.x,r.y,a,s,L.x,L.y,0,u,p);w?(n.ctrlpts[0]=n.ctrlpts[0]+C.x*(x-b),n.ctrlpts[1]=n.ctrlpts[1]+C.y*(x-b)):(n.ctrlpts[0]=M[0]+C.x*x,n.ctrlpts[1]=M[1]+C.y*x)}if(y||v||T){_=!0;var N={x:n.ctrlpts[0]-i.x,y:n.ctrlpts[1]-i.y},I=Math.sqrt(N.x*N.x+N.y*N.y),R={x:N.x/I,y:N.y/I},D=Math.max(a,s),O={x:n.ctrlpts[0]+2*R.x*D,y:n.ctrlpts[1]+2*R.y*D},P=h.intersectLine(i.x,i.y,o,l,O.x,O.y,0,d,g);T?(n.ctrlpts[0]=n.ctrlpts[0]+R.x*(x-k),n.ctrlpts[1]=n.ctrlpts[1]+R.y*(x-k)):(n.ctrlpts[0]=P[0]+R.x*x,n.ctrlpts[1]=P[1]+R.y*x)}_&&this.findEndpoints(t)}},th.storeAllpts=function(t){var e=t._private.rscratch;if("multibezier"===e.edgeType||"bezier"===e.edgeType||"self"===e.edgeType||"compound"===e.edgeType){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var n=0;n+1<e.ctrlpts.length;n+=2)e.allpts.push(e.ctrlpts[n],e.ctrlpts[n+1]),n+3<e.ctrlpts.length&&e.allpts.push((e.ctrlpts[n]+e.ctrlpts[n+2])/2,(e.ctrlpts[n+1]+e.ctrlpts[n+3])/2);var r;e.allpts.push(e.endX,e.endY),e.ctrlpts.length/2%2==0?(r=e.allpts.length/2-1,e.midX=e.allpts[r],e.midY=e.allpts[r+1]):(r=e.allpts.length/2-3,e.midX=qe(e.allpts[r],e.allpts[r+2],e.allpts[r+4],.5),e.midY=qe(e.allpts[r+1],e.allpts[r+3],e.allpts[r+5],.5))}else if("straight"===e.edgeType)e.allpts=[e.startX,e.startY,e.endX,e.endY],e.midX=(e.startX+e.endX+e.arrowStartX+e.arrowEndX)/4,e.midY=(e.startY+e.endY+e.arrowStartY+e.arrowEndY)/4;else if("segments"===e.edgeType){if(e.allpts=[],e.allpts.push(e.startX,e.startY),e.allpts.push.apply(e.allpts,e.segpts),e.allpts.push(e.endX,e.endY),e.isRound){e.roundCorners=[];for(var i=2;i+3<e.allpts.length;i+=2){var a=e.radii[i/2-1],s=e.isArcRadius[i/2-1];e.roundCorners.push(Kc({x:e.allpts[i-2],y:e.allpts[i-1]},{x:e.allpts[i],y:e.allpts[i+1],radius:a},{x:e.allpts[i+2],y:e.allpts[i+3]},a,s))}}if(e.segpts.length%4==0){var o=e.segpts.length/2,l=o-2;e.midX=(e.segpts[l]+e.segpts[o])/2,e.midY=(e.segpts[l+1]+e.segpts[o+1])/2}else{var c=e.segpts.length/2-1;if(e.isRound){var h={x:e.segpts[c],y:e.segpts[c+1]},u=e.roundCorners[c/2];if(0===u.radius){var d={x:e.segpts[c+2],y:e.segpts[c+3]};e.midX=h.x,e.midY=h.y,e.midVector=[h.y-d.y,d.x-h.x]}else{var p=[h.x-u.cx,h.y-u.cy],g=u.radius/Math.sqrt(Math.pow(p[0],2)+Math.pow(p[1],2));p=p.map((function(t){return t*g})),e.midX=u.cx+p[0],e.midY=u.cy+p[1],e.midVector=p}}else e.midX=e.segpts[c],e.midY=e.segpts[c+1]}}},th.checkForInvalidEdgeWarning=function(t){var e=t[0]._private.rscratch;e.nodesOverlap||Q(e.startX)&&Q(e.startY)&&Q(e.endX)&&Q(e.endY)?e.loggedErr=!1:e.loggedErr||(e.loggedErr=!0,re("Edge `"+t.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},th.findEdgeControlPoints=function(t){var e=this;if(t&&0!==t.length){for(var n=this,r=n.cy.hasCompoundNodes(),i=new pe,a=function(t,e){return[].concat(c(t),[e?1:0]).join("-")},s=[],o=[],l=0;l<t.length;l++){var h=t[l],u=h._private,d=h.pstyle("curve-style").value;if(!h.removed()&&h.takesUpSpace())if("haystack"!==d){var p="unbundled-bezier"===d||d.endsWith("segments")||"straight"===d||"straight-triangle"===d||d.endsWith("taxi"),g="unbundled-bezier"===d||"bezier"===d,f=u.source,m=u.target,y=[f.poolIndex(),m.poolIndex()].sort(),v=a(y,p),x=i.get(v);null==x&&(x={eles:[]},s.push({pairId:y,edgeIsUnbundled:p}),i.set(v,x)),x.eles.push(h),p&&(x.hasUnbundled=!0),g&&(x.hasBezier=!0)}else o.push(h)}for(var b=function(){var t,o=s[w],l=o.pairId,c=o.edgeIsUnbundled,h=a(l,c),u=i.get(h);if(!u.hasUnbundled){var d=u.eles[0].parallelEdges().filter((function(t){return t.isBundledBezier()}));he(u.eles),d.forEach((function(t){return u.eles.push(t)})),u.eles.sort((function(t,e){return t.poolIndex()-e.poolIndex()}))}var p=u.eles[0],g=p.source(),f=p.target();if(g.poolIndex()>f.poolIndex()){var m=g;g=f,f=m}var y=u.srcPos=g.position(),v=u.tgtPos=f.position(),x=u.srcW=g.outerWidth(),b=u.srcH=g.outerHeight(),k=u.tgtW=f.outerWidth(),T=u.tgtH=f.outerHeight(),_=u.srcShape=n.nodeShapes[e.getNodeShape(g)],E=u.tgtShape=n.nodeShapes[e.getNodeShape(f)],S=u.srcCornerRadius="auto"===g.pstyle("corner-radius").value?"auto":g.pstyle("corner-radius").pfValue,C=u.tgtCornerRadius="auto"===f.pstyle("corner-radius").value?"auto":f.pstyle("corner-radius").pfValue,A=u.tgtRs=f._private.rscratch,L=u.srcRs=g._private.rscratch;u.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var M=0;M<u.eles.length;M++){var N=u.eles[M],I=N[0]._private.rscratch,R=N.pstyle("curve-style").value,D="unbundled-bezier"===R||R.endsWith("segments")||R.endsWith("taxi"),O=!g.same(N.source());if(!u.calculatedIntersection&&g!==f&&(u.hasBezier||u.hasUnbundled)){u.calculatedIntersection=!0;var P=_.intersectLine(y.x,y.y,x,b,v.x,v.y,0,S,L),$=u.srcIntn=P,B=E.intersectLine(v.x,v.y,k,T,y.x,y.y,0,C,A),F=u.tgtIntn=B,W=u.intersectionPts={x1:P[0],x2:B[0],y1:P[1],y2:B[1]},z=u.posPts={x1:y.x,x2:v.x,y1:y.y,y2:v.y},Z=B[1]-P[1],Y=B[0]-P[0],U=Math.sqrt(Y*Y+Z*Z);Q(U)&&U>=Jc||(U=Math.sqrt(Math.max(Y*Y,Qc)+Math.max(Z*Z,Qc)));var G=u.vector={x:Y,y:Z},V=u.vectorNorm={x:G.x/U,y:G.y/U},q={x:-V.y,y:V.x};u.nodesOverlap=!Q(U)||E.checkPoint(P[0],P[1],0,k,T,v.x,v.y,C,A)||_.checkPoint(B[0],B[1],0,x,b,y.x,y.y,S,L),u.vectorNormInverse=q,t={nodesOverlap:u.nodesOverlap,dirCounts:u.dirCounts,calculatedIntersection:!0,hasBezier:u.hasBezier,hasUnbundled:u.hasUnbundled,eles:u.eles,srcPos:v,srcRs:A,tgtPos:y,tgtRs:L,srcW:k,srcH:T,tgtW:x,tgtH:b,srcIntn:F,tgtIntn:$,srcShape:E,tgtShape:_,posPts:{x1:z.x2,y1:z.y2,x2:z.x1,y2:z.y1},intersectionPts:{x1:W.x2,y1:W.y2,x2:W.x1,y2:W.y1},vector:{x:-G.x,y:-G.y},vectorNorm:{x:-V.x,y:-V.y},vectorNormInverse:{x:-q.x,y:-q.y}}}var j=O?t:u;I.nodesOverlap=j.nodesOverlap,I.srcIntn=j.srcIntn,I.tgtIntn=j.tgtIntn,I.isRound=R.startsWith("round"),r&&(g.isParent()||g.isChild()||f.isParent()||f.isChild())&&(g.parents().anySame(f)||f.parents().anySame(g)||g.same(f)&&g.isParent())?e.findCompoundLoopPoints(N,j,M,D):g===f?e.findLoopPoints(N,j,M,D):R.endsWith("segments")?e.findSegmentsPoints(N,j):R.endsWith("taxi")?e.findTaxiPoints(N,j):"straight"===R||!D&&u.eles.length%2==1&&M===Math.floor(u.eles.length/2)?e.findStraightEdgePoints(N):e.findBezierPoints(N,j,M,D,O),e.findEndpoints(N),e.tryToCorrectInvalidPoints(N,j),e.checkForInvalidEdgeWarning(N),e.storeAllpts(N),e.storeEdgeProjections(N),e.calculateArrowAngles(N),e.recalculateEdgeLabelProjections(N),e.calculateLabelAngles(N)}},w=0;w<s.length;w++)b();this.findHaystackPoints(o)}},th.getSegmentPoints=function(t){var e=t[0]._private.rscratch;if(this.recalculateRenderedStyle(t),"segments"===e.edgeType)return eh(e.segpts)},th.getControlPoints=function(t){var e=t[0]._private.rscratch;this.recalculateRenderedStyle(t);var n=e.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return eh(e.ctrlpts)},th.getEdgeMidpoint=function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),{x:e.midX,y:e.midY}};var nh={manualEndptToPx:function(t,e){var n=t.position(),r=t.outerWidth(),i=t.outerHeight(),a=t._private.rscratch;if(2===e.value.length){var s=[e.pfValue[0],e.pfValue[1]];return"%"===e.units[0]&&(s[0]=s[0]*r),"%"===e.units[1]&&(s[1]=s[1]*i),s[0]+=n.x,s[1]+=n.y,s}var o=e.pfValue[0];o=-Math.PI/2+o;var l=2*Math.max(r,i),c=[n.x+Math.cos(o)*l,n.y+Math.sin(o)*l];return this.nodeShapes[this.getNodeShape(t)].intersectLine(n.x,n.y,r,i,c[0],c[1],0,"auto"===t.pstyle("corner-radius").value?"auto":t.pstyle("corner-radius").pfValue,a)},findEndpoints:function(t){var e,n,r,i,a,s=this,o=t.source()[0],l=t.target()[0],c=o.position(),h=l.position(),u=t.pstyle("target-arrow-shape").value,d=t.pstyle("source-arrow-shape").value,p=t.pstyle("target-distance-from-node").pfValue,g=t.pstyle("source-distance-from-node").pfValue,f=o._private.rscratch,m=l._private.rscratch,y=t.pstyle("curve-style").value,v=t._private.rscratch,x=v.edgeType,b="self"===x||"compound"===x,w="bezier"===x||"multibezier"===x||b,k="bezier"!==x,T="straight"===x||"segments"===x,_="segments"===x,E=w||k||T,S=b||"taxi"===y,C=t.pstyle("source-endpoint"),A=S?"outside-to-node":C.value,L="auto"===o.pstyle("corner-radius").value?"auto":o.pstyle("corner-radius").pfValue,M=t.pstyle("target-endpoint"),N=S?"outside-to-node":M.value,I="auto"===l.pstyle("corner-radius").value?"auto":l.pstyle("corner-radius").pfValue;if(v.srcManEndpt=C,v.tgtManEndpt=M,w){var R=[v.ctrlpts[0],v.ctrlpts[1]];n=k?[v.ctrlpts[v.ctrlpts.length-2],v.ctrlpts[v.ctrlpts.length-1]]:R,r=R}else if(T){var D=_?v.segpts.slice(0,2):[h.x,h.y];n=_?v.segpts.slice(v.segpts.length-2):[c.x,c.y],r=D}if("inside-to-node"===N)e=[h.x,h.y];else if(M.units)e=this.manualEndptToPx(l,M);else if("outside-to-line"===N)e=v.tgtIntn;else if("outside-to-node"===N||"outside-to-node-or-label"===N?i=n:"outside-to-line"!==N&&"outside-to-line-or-label"!==N||(i=[c.x,c.y]),e=s.nodeShapes[this.getNodeShape(l)].intersectLine(h.x,h.y,l.outerWidth(),l.outerHeight(),i[0],i[1],0,I,m),"outside-to-node-or-label"===N||"outside-to-line-or-label"===N){var O=l._private.rscratch,P=O.labelWidth,$=O.labelHeight,B=O.labelX,F=O.labelY,W=P/2,z=$/2,Z=l.pstyle("text-valign").value;"top"===Z?F-=z:"bottom"===Z&&(F+=z);var Y=l.pstyle("text-halign").value;"left"===Y?B-=W:"right"===Y&&(B+=W);var U=vn(i[0],i[1],[B-W,F-z,B+W,F-z,B+W,F+z,B-W,F+z],h.x,h.y);if(U.length>0){var G=c,V=Ge(G,We(e)),q=Ge(G,We(U)),j=V;q<V&&(e=U,j=q),U.length>2&&Ge(G,{x:U[2],y:U[3]})<j&&(e=[U[2],U[3]])}}var H=xn(e,n,s.arrowShapes[u].spacing(t)+p),X=xn(e,n,s.arrowShapes[u].gap(t)+p);if(v.endX=X[0],v.endY=X[1],v.arrowEndX=H[0],v.arrowEndY=H[1],"inside-to-node"===A)e=[c.x,c.y];else if(C.units)e=this.manualEndptToPx(o,C);else if("outside-to-line"===A)e=v.srcIntn;else if("outside-to-node"===A||"outside-to-node-or-label"===A?a=r:"outside-to-line"!==A&&"outside-to-line-or-label"!==A||(a=[h.x,h.y]),e=s.nodeShapes[this.getNodeShape(o)].intersectLine(c.x,c.y,o.outerWidth(),o.outerHeight(),a[0],a[1],0,L,f),"outside-to-node-or-label"===A||"outside-to-line-or-label"===A){var K=o._private.rscratch,J=K.labelWidth,tt=K.labelHeight,et=K.labelX,nt=K.labelY,rt=J/2,it=tt/2,at=o.pstyle("text-valign").value;"top"===at?nt-=it:"bottom"===at&&(nt+=it);var st=o.pstyle("text-halign").value;"left"===st?et-=rt:"right"===st&&(et+=rt);var ot=vn(a[0],a[1],[et-rt,nt-it,et+rt,nt-it,et+rt,nt+it,et-rt,nt+it],c.x,c.y);if(ot.length>0){var lt=h,ct=Ge(lt,We(e)),ht=Ge(lt,We(ot)),ut=ct;ht<ct&&(e=[ot[0],ot[1]],ut=ht),ot.length>2&&Ge(lt,{x:ot[2],y:ot[3]})<ut&&(e=[ot[2],ot[3]])}}var dt=xn(e,r,s.arrowShapes[d].spacing(t)+g),pt=xn(e,r,s.arrowShapes[d].gap(t)+g);v.startX=pt[0],v.startY=pt[1],v.arrowStartX=dt[0],v.arrowStartY=dt[1],E&&(Q(v.startX)&&Q(v.startY)&&Q(v.endX)&&Q(v.endY)?v.badLine=!1:v.badLine=!0)},getSourceEndpoint:function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),"haystack"===e.edgeType?{x:e.haystackPts[0],y:e.haystackPts[1]}:{x:e.arrowStartX,y:e.arrowStartY}},getTargetEndpoint:function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),"haystack"===e.edgeType?{x:e.haystackPts[2],y:e.haystackPts[3]}:{x:e.arrowEndX,y:e.arrowEndY}}},rh={};function ih(t,e,n){for(var r=function(t,e,n,r){return qe(t,e,n,r)},i=e._private.rstyle.bezierPts,a=0;a<t.bezierProjPcts.length;a++){var s=t.bezierProjPcts[a];i.push({x:r(n[0],n[2],n[4],s),y:r(n[1],n[3],n[5],s)})}}rh.storeEdgeProjections=function(t){var e=t._private,n=e.rscratch,r=n.edgeType;if(e.rstyle.bezierPts=null,e.rstyle.linePts=null,e.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){e.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)ih(this,t,n.allpts.slice(i,i+6))}else if("segments"===r){var a=e.rstyle.linePts=[];for(i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]})}else if("haystack"===r){var s=n.haystackPts;e.rstyle.haystackPts=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}]}e.rstyle.arrowWidth=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth},rh.recalculateEdgeProjections=function(t){this.findEdgeControlPoints(t)};var ah={recalculateNodeLabelProjection:function(t){var e=t.pstyle("label").strValue;if(!at(e)){var n,r,i=t._private,a=t.width(),s=t.height(),o=t.padding(),l=t.position(),c=t.pstyle("text-halign").strValue,h=t.pstyle("text-valign").strValue,u=i.rscratch,d=i.rstyle;switch(c){case"left":n=l.x-a/2-o;break;case"right":n=l.x+a/2+o;break;default:n=l.x}switch(h){case"top":r=l.y-s/2-o;break;case"bottom":r=l.y+s/2+o;break;default:r=l.y}u.labelX=n,u.labelY=r,d.labelX=n,d.labelY=r,this.calculateLabelAngles(t),this.applyLabelDimensions(t)}}},sh=function(t,e){var n=Math.atan(e/t);return 0===t&&n<0&&(n*=-1),n},oh=function(t,e){var n=e.x-t.x,r=e.y-t.y;return sh(n,r)};ah.recalculateEdgeLabelProjections=function(t){var e,n=t._private,r=n.rscratch,i=this,a={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(a.mid||a.source||a.target){e={x:r.midX,y:r.midY};var s=function(t,e,r){de(n.rscratch,t,e,r),de(n.rstyle,t,e,r)};s("labelX",null,e.x),s("labelY",null,e.y);var o=sh(r.midDispX,r.midDispY);s("labelAutoAngle",null,o);var l=function(){if(l.cache)return l.cache;for(var t=[],e=0;e+5<r.allpts.length;e+=4){var a={x:r.allpts[e],y:r.allpts[e+1]},s={x:r.allpts[e+2],y:r.allpts[e+3]},o={x:r.allpts[e+4],y:r.allpts[e+5]};t.push({p0:a,p1:s,p2:o,startDist:0,length:0,segments:[]})}var c=n.rstyle.bezierPts,h=i.bezierProjPcts.length;function u(t,e,n,r,i){var a=Ue(e,n),s=t.segments[t.segments.length-1],o={p0:e,p1:n,t0:r,t1:i,startDist:s?s.startDist+s.length:0,length:a};t.segments.push(o),t.length+=a}for(var d=0;d<t.length;d++){var p=t[d],g=t[d-1];g&&(p.startDist=g.startDist+g.length),u(p,p.p0,c[d*h],0,i.bezierProjPcts[0]);for(var f=0;f<h-1;f++)u(p,c[d*h+f],c[d*h+f+1],i.bezierProjPcts[f],i.bezierProjPcts[f+1]);u(p,c[d*h+h-1],p.p2,i.bezierProjPcts[h-1],1)}return l.cache=t},c=function(n){var i,o="source"===n;if(a[n]){var c=t.pstyle(n+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var h,u=l(),d=0,p=0,g=0;g<u.length;g++){for(var f=u[o?g:u.length-1-g],m=0;m<f.segments.length;m++){var y=f.segments[o?m:f.segments.length-1-m],v=g===u.length-1&&m===f.segments.length-1;if(d=p,(p+=y.length)>=c||v){h={cp:f,segment:y};break}}if(h)break}var x=h.cp,b=h.segment,w=(c-d)/b.length,k=b.t1-b.t0,T=o?b.t0+k*w:b.t1-k*w;T=He(0,T,1),e=je(x.p0,x.p1,x.p2,T),i=function(t,e,n,r){var i=He(0,r-.001,1),a=He(0,r+.001,1),s=je(t,e,n,i),o=je(t,e,n,a);return oh(s,o)}(x.p0,x.p1,x.p2,T);break;case"straight":case"segments":case"haystack":for(var _,E,S,C,A=0,L=r.allpts.length,M=0;M+3<L&&(o?(S={x:r.allpts[M],y:r.allpts[M+1]},C={x:r.allpts[M+2],y:r.allpts[M+3]}):(S={x:r.allpts[L-2-M],y:r.allpts[L-1-M]},C={x:r.allpts[L-4-M],y:r.allpts[L-3-M]}),E=A,!((A+=_=Ue(S,C))>=c));M+=2);var N=(c-E)/_;N=He(0,N,1),e=function(t,e,n,r){var i=e.x-t.x,a=e.y-t.y,s=Ue(t,e),o=i/s,l=a/s;return n=null==n?0:n,r=null!=r?r:n*s,{x:t.x+o*r,y:t.y+l*r}}(S,C,N),i=oh(S,C)}s("labelX",n,e.x),s("labelY",n,e.y),s("labelAutoAngle",n,i)}};c("source"),c("target"),this.applyLabelDimensions(t)}},ah.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},ah.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=Ut(r,t._private.labelDimsKey);if(ue(n.rscratch,"prefixedLabelDimsKey",e)!==i){de(n.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,r),s=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=ue(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==o?1:Math.max(l.length,1),h=a.height/c,u=h*s,d=a.width,p=a.height+(c-1)*(s-1)*h;de(n.rstyle,"labelWidth",e,d),de(n.rscratch,"labelWidth",e,d),de(n.rstyle,"labelHeight",e,p),de(n.rscratch,"labelHeight",e,p),de(n.rscratch,"labelLineHeight",e,u)}},ah.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,a=t.pstyle("text-transform").value,o=function(t,r){return r?(de(n.rscratch,t,e,r),r):ue(n.rscratch,t,e)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if("wrap"===l){var c=o("labelKey");if(null!=c&&o("labelWrapKey")===c)return o("labelWrapCachedText");for(var h=i.split("\n"),u=t.pstyle("text-max-width").pfValue,d="anywhere"===t.pstyle("text-overflow-wrap").value,p=[],g=/[\s\u200b]+|$/g,f=0;f<h.length;f++){var m=h[f],y=this.calculateLabelDimensions(t,m).width;if(d){var v=m.split("").join("");m=v}if(y>u){var x,b="",w=0,k=s(m.matchAll(g));try{for(k.s();!(x=k.n()).done;){var T=x.value,_=T[0],E=m.substring(w,T.index);w=T.index+_.length;var S=0===b.length?E:b+E+_;this.calculateLabelDimensions(t,S).width<=u?b+=E+_:(b&&p.push(b),b=E+_)}}catch(t){k.e(t)}finally{k.f()}b.match(/^[\s\u200b]+$/)||p.push(b)}else p.push(m)}o("labelWrapCachedLines",p),i=o("labelWrapCachedText",p.join("\n")),o("labelWrapKey",c)}else if("ellipsis"===l){var C=t.pstyle("text-max-width").pfValue,A="",L=!1;if(this.calculateLabelDimensions(t,i).width<C)return i;for(var M=0;M<i.length&&!(this.calculateLabelDimensions(t,A+i[M]+"…").width>C);M++)A+=i[M],M===i.length-1&&(L=!0);return L||(A+="…"),A}return i},ah.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},ah.calculateLabelDimensions=function(t,e){var n=this.cy.window().document,r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue,a=t.pstyle("font-family").strValue,s=t.pstyle("font-weight").strValue,o=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!o){o=this.labelCalcCanvas=n.createElement("canvas"),l=this.labelCalcCanvasContext=o.getContext("2d");var c=o.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}l.font="".concat(r," ").concat(s," ").concat(i,"px ").concat(a);for(var h=0,u=0,d=e.split("\n"),p=0;p<d.length;p++){var g=d[p],f=l.measureText(g),m=Math.ceil(f.width),y=i;h=Math.max(m,h),u+=y}return{width:h+=0,height:u+=0}},ah.calculateLabelAngle=function(t,e){var n=t._private.rscratch,r=t.isEdge(),i=e?e+"-":"",a=t.pstyle(i+"text-rotation"),s=a.strValue;return"none"===s?0:r&&"autorotate"===s?n.labelAutoAngle:"autorotate"===s?0:a.pfValue},ah.calculateLabelAngles=function(t){var e=this,n=t.isEdge(),r=t._private.rscratch;r.labelAngle=e.calculateLabelAngle(t),n&&(r.sourceLabelAngle=e.calculateLabelAngle(t,"source"),r.targetLabelAngle=e.calculateLabelAngle(t,"target"))};var lh={},ch=!1;lh.getNodeShape=function(t){var e=t.pstyle("shape").value;if("cutrectangle"===e&&(t.width()<28||t.height()<28))return ch||(re("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),ch=!0),"rectangle";if(t.isParent())return"rectangle"===e||"roundrectangle"===e||"round-rectangle"===e||"cutrectangle"===e||"cut-rectangle"===e||"barrel"===e?e:"rectangle";if("polygon"===e){var n=t.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return e};var hh={updateCachedGrabbedEles:function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],n=0;n<t.length;n++){var r=(i=t[n])._private.rscratch;i.grabbed()&&!i.isParent()?e.push(i):r.inDragLayer?t.drag.push(i):t.nondrag.push(i)}for(n=0;n<e.length;n++){var i=e[n];t.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(Co),e.interactive=e.filter((function(t){return t.interactive()})),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e}},uh={};[Ac,Lc,th,nh,rh,ah,lh,{registerCalculationListeners:function(){var t=this.cy,e=t.collection(),n=this,r=function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r<t.length;r++){var i=t[r]._private.rstyle;i.clean=!1,i.cleanConnected=!1}};n.binder(t).on("bounds.* dirty.*",(function(t){var e=t.target;r(e)})).on("style.* background.*",(function(t){var e=t.target;r(e,!1)}));var i=function(i){if(i){var a=n.onUpdateEleCalcsFns;e.cleanStyle();for(var s=0;s<e.length;s++){var o=e[s],l=o._private.rstyle;o.isNode()&&!l.cleanConnected&&(r(o.connectedEdges()),l.cleanConnected=!0)}if(a)for(var c=0;c<a.length;c++)(0,a[c])(i,e);n.recalculateRenderedStyle(e),e=t.collection()}};n.flushRenderedStyleQueue=function(){i(!0)},n.beforeRender(i,n.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(t){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(t)},recalculateRenderedStyle:function(t,e){var n=function(t){return t._private.rstyle.cleanConnected};if(0!==t.length){var r=[],i=[];if(!this.destroyed){void 0===e&&(e=!0);for(var a=0;a<t.length;a++){var s=t[a],o=s._private,l=o.rstyle;!s.isEdge()||n(s.source())&&n(s.target())||(l.clean=!1),s.isEdge()&&s.isBundledBezier()&&s.parallelEdges().some((function(t){return!t._private.rstyle.clean&&t.isBundledBezier()}))&&(l.clean=!1),e&&l.clean||s.removed()||"none"!==s.pstyle("display").value&&("nodes"===o.group?i.push(s):r.push(s),l.clean=!0)}for(var c=0;c<i.length;c++){var h=i[c],u=h._private.rstyle,d=h.position();this.recalculateNodeLabelProjection(h),u.nodeX=d.x,u.nodeY=d.y,u.nodeW=h.pstyle("width").pfValue,u.nodeH=h.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var p=0;p<r.length;p++){var g=r[p]._private,f=g.rstyle,m=g.rscratch;f.srcX=m.arrowStartX,f.srcY=m.arrowStartY,f.tgtX=m.arrowEndX,f.tgtY=m.arrowEndY,f.midX=m.midX,f.midY=m.midY,f.labelAngle=m.labelAngle,f.sourceLabelAngle=m.sourceLabelAngle,f.targetLabelAngle=m.targetLabelAngle}}}}},hh].forEach((function(t){vt(uh,t)}));var dh={getCachedImage:function(t,e,n){var r=this.imageCache=this.imageCache||{},i=r[t];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var a=(i=r[t]=r[t]||{}).image=new Image;a.addEventListener("load",n),a.addEventListener("error",(function(){a.error=!0}));return"data:"===t.substring(0,5).toLowerCase()||(e="null"===e?null:e,a.crossOrigin=e),a.src=t,a}},ph={registerBinding:function(t,e,n,r){var i=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(t)){for(var a=[],s=0;s<t.length;s++){var o=t[s];if(void 0!==o){var l=this.binder(o);a.push(l.on.apply(l,i))}}return a}return(l=this.binder(t)).on.apply(l,i)},binder:function(t){var e=this,n=e.cy.window(),r=t===n||t===n.document||t===n.document.body||"undefined"!=typeof HTMLElement&&t instanceof HTMLElement;if(null==e.supportsPassiveEvents){var i=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return i=!0,!0}});n.addEventListener("test",null,a)}catch(t){}e.supportsPassiveEvents=i}var s=function(n,i,a){var s=Array.prototype.slice.call(arguments);return r&&e.supportsPassiveEvents&&(s[2]={capture:null!=a&&a,passive:!1,once:!1}),e.bindings.push({target:t,args:s}),(t.addEventListener||t.on).apply(t,s),this};return{on:s,addEventListener:s,addListener:s,bind:s}},nodeIsDraggable:function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},nodeIsGrabbable:function(t){return this.nodeIsDraggable(t)&&t.interactive()}};ph.load=function(){var t=this,e=t.cy.window(),n=function(t){return t.selected()},r=function(e,n,r,i){null==e&&(e=t.cy);for(var a=0;a<n.length;a++){var s=n[a];e.emit({originalEvent:r,type:s,position:i})}},i=function(t){return t.shiftKey||t.metaKey||t.ctrlKey},a=function(e,n){var r=!0;if(t.cy.hasCompoundNodes()&&e&&e.pannable()){for(var i=0;n&&i<n.length;i++)if((e=n[i]).isNode()&&e.isParent()&&!e.pannable()){r=!1;break}}else r=!0;return r},s=function(t){t[0]._private.rscratch.inDragLayer=!0},o=function(t){t[0]._private.rscratch.isGrabTarget=!0},l=function(t,e){var n=e.addToList;n.has(t)||!t.grabbable()||t.locked()||(n.merge(t),function(t){t[0]._private.grabbed=!0}(t))},c=function(e,n){n=n||{};var r=e.cy().hasCompoundNodes();n.inDragLayer&&(e.forEach(s),e.neighborhood().stdFilter((function(t){return!r||t.isEdge()})).forEach(s)),n.addToList&&e.forEach((function(t){l(t,n)})),function(t,e){if(t.cy().hasCompoundNodes()&&(null!=e.inDragLayer||null!=e.addToList)){var n=t.descendants();e.inDragLayer&&(n.forEach(s),n.connectedEdges().forEach(s)),e.addToList&&l(n,e)}}(e,n),d(e,{inDragLayer:n.inDragLayer}),t.updateCachedGrabbedEles()},h=c,u=function(e){e&&(t.getCachedZSortedEles().forEach((function(t){!function(t){t[0]._private.grabbed=!1}(t),function(t){t[0]._private.rscratch.inDragLayer=!1}(t),function(t){t[0]._private.rscratch.isGrabTarget=!1}(t)})),t.updateCachedGrabbedEles())},d=function(t,e){if((null!=e.inDragLayer||null!=e.addToList)&&t.cy().hasCompoundNodes()){var n=t.ancestors().orphans();if(!n.same(t)){var r=n.descendants().spawnSelf().merge(n).unmerge(t).unmerge(t.descendants()),i=r.connectedEdges();e.inDragLayer&&(i.forEach(s),r.forEach(s)),e.addToList&&r.forEach((function(t){l(t,e)}))}}},p=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},g="undefined"!=typeof MutationObserver,f="undefined"!=typeof ResizeObserver;g?(t.removeObserver=new MutationObserver((function(e){for(var n=0;n<e.length;n++){var r=e[n].removedNodes;if(r)for(var i=0;i<r.length;i++)if(r[i]===t.container){t.destroy();break}}})),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",(function(e){t.destroy()}));var m=Mt((function(){t.cy.resize()}),100);g&&(t.styleObserver=new MutationObserver(m),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(e,"resize",m),f&&(t.resizeObserver=new ResizeObserver(m),t.resizeObserver.observe(t.container));var y=function(){t.invalidateContainerClientCoordsCache()};!function(t,e){for(;null!=t;)e(t),t=t.parentNode}(t.container,(function(e){t.registerBinding(e,"transitionend",y),t.registerBinding(e,"animationend",y),t.registerBinding(e,"scroll",y)})),t.registerBinding(t.container,"contextmenu",(function(t){t.preventDefault()}));var v=function(e){for(var n=t.findContainerClientCoords(),r=n[0],i=n[1],a=n[2],s=n[3],o=e.touches?e.touches:[e],l=!1,c=0;c<o.length;c++){var h=o[c];if(r<=h.clientX&&h.clientX<=r+a&&i<=h.clientY&&h.clientY<=i+s){l=!0;break}}if(!l)return!1;for(var u=t.container,d=e.target.parentNode,p=!1;d;){if(d===u){p=!0;break}d=d.parentNode}return!!p};t.registerBinding(t.container,"mousedown",(function(e){if(v(e)&&(1!==t.hoverData.which||1===e.which)){e.preventDefault(),p(),t.hoverData.capture=!0,t.hoverData.which=e.which;var n=t.cy,i=[e.clientX,e.clientY],a=t.projectIntoViewport(i[0],i[1]),s=t.selection,l=t.findNearestElements(a[0],a[1],!0,!1),u=l[0],d=t.dragData.possibleDragElements;if(t.hoverData.mdownPos=a,t.hoverData.mdownGPos=i,3==e.which){t.hoverData.cxtStarted=!0;var g={originalEvent:e,type:"cxttapstart",position:{x:a[0],y:a[1]}};u?(u.activate(),u.emit(g),t.hoverData.down=u):n.emit(g),t.hoverData.downTime=(new Date).getTime(),t.hoverData.cxtDragged=!1}else if(1==e.which){if(u&&u.activate(),null!=u&&t.nodeIsGrabbable(u)){var f=function(t){return{originalEvent:e,type:t,position:{x:a[0],y:a[1]}}};if(o(u),u.selected()){d=t.dragData.possibleDragElements=n.collection();var m=n.$((function(e){return e.isNode()&&e.selected()&&t.nodeIsGrabbable(e)}));c(m,{addToList:d}),u.emit(f("grabon")),m.forEach((function(t){t.emit(f("grab"))}))}else d=t.dragData.possibleDragElements=n.collection(),h(u,{addToList:d}),u.emit(f("grabon")).emit(f("grab"));t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=u,t.hoverData.downs=l,t.hoverData.downTime=(new Date).getTime(),r(u,["mousedown","tapstart","vmousedown"],e,{x:a[0],y:a[1]}),null==u?(s[4]=1,t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()):u.pannable()&&(s[4]=1),t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout((function(){if(!t.hoverData.tapholdCancelled){var r=t.hoverData.down;r?r.emit({originalEvent:e,type:"taphold",position:{x:a[0],y:a[1]}}):n.emit({originalEvent:e,type:"taphold",position:{x:a[0],y:a[1]}})}}),t.tapholdDuration)}s[0]=s[2]=a[0],s[1]=s[3]=a[1]}}),!1);var x,b,w,k=function(t){var e=t.getRootNode();if(e&&11===e.nodeType&&void 0!==e.host)return e}(t.container);t.registerBinding([e,k],"mousemove",(function(e){if(t.hoverData.capture||v(e)){var n=!1,s=t.cy,o=s.zoom(),l=[e.clientX,e.clientY],h=t.projectIntoViewport(l[0],l[1]),d=t.hoverData.mdownPos,p=t.hoverData.mdownGPos,g=t.selection,f=null;t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.selecting||(f=t.findNearestElement(h[0],h[1],!0,!1));var m,y=t.hoverData.last,x=t.hoverData.down,b=[h[0]-g[2],h[1]-g[3]],w=t.dragData.possibleDragElements;if(p){var k=l[0]-p[0],T=k*k,_=l[1]-p[1],E=T+_*_;t.hoverData.isOverThresholdDrag=m=E>=t.desktopTapThreshold2}var S=i(e);m&&(t.hoverData.tapholdCancelled=!0),n=!0,r(f,["mousemove","vmousemove","tapdrag"],e,{x:h[0],y:h[1]});var C=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||s.emit({originalEvent:e,type:"boxstart",position:{x:h[0],y:h[1]}}),g[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(m){var A={originalEvent:e,type:"cxtdrag",position:{x:h[0],y:h[1]}};x?x.emit(A):s.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&f===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:h[0],y:h[1]}}),t.hoverData.cxtOver=f,f&&f.emit({originalEvent:e,type:"cxtdragover",position:{x:h[0],y:h[1]}}))}}else if(t.hoverData.dragging){if(n=!0,s.panningEnabled()&&s.userPanningEnabled()){var L;if(t.hoverData.justStartedPan){var M=t.hoverData.mdownPos;L={x:(h[0]-M[0])*o,y:(h[1]-M[1])*o},t.hoverData.justStartedPan=!1}else L={x:b[0]*o,y:b[1]*o};s.panBy(L),s.emit("dragpan"),t.hoverData.dragged=!0}h=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=g[4]||null!=x&&!x.pannable()){if(x&&x.pannable()&&x.active()&&x.unactivate(),x&&x.grabbed()||f==y||(y&&r(y,["mouseout","tapdragout"],e,{x:h[0],y:h[1]}),f&&r(f,["mouseover","tapdragover"],e,{x:h[0],y:h[1]}),t.hoverData.last=f),x)if(m){if(s.boxSelectionEnabled()&&S)x&&x.grabbed()&&(u(w),x.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(x.emit("dragfreeon"),w.emit("dragfree"))),C();else if(x&&x.grabbed()&&t.nodeIsDraggable(x)){var N=!t.dragData.didDrag;N&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||c(w,{inDragLayer:!0});var I={x:0,y:0};if(Q(b[0])&&Q(b[1])&&(I.x+=b[0],I.y+=b[1],N)){var R=t.hoverData.dragDelta;R&&Q(R[0])&&Q(R[1])&&(I.x+=R[0],I.y+=R[1])}t.hoverData.draggingEles=!0,w.silentShift(I).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(b[0]),e.push(b[1])):(e[0]+=b[0],e[1]+=b[1])}();n=!0}else m&&(t.hoverData.dragging||!s.boxSelectionEnabled()||!S&&s.panningEnabled()&&s.userPanningEnabled()?!t.hoverData.selecting&&s.panningEnabled()&&s.userPanningEnabled()&&a(x,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,g[4]=0,t.data.bgActivePosistion=We(d),t.redrawHint("select",!0),t.redraw()):C(),x&&x.pannable()&&x.active()&&x.unactivate());return g[2]=h[0],g[3]=h[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if((1!==t.hoverData.which||1===e.which||!t.hoverData.capture)&&t.hoverData.capture){t.hoverData.capture=!1;var a=t.cy,s=t.projectIntoViewport(e.clientX,e.clientY),o=t.selection,l=t.findNearestElement(s[0],s[1],!0,!1),c=t.dragData.possibleDragElements,h=t.hoverData.down,d=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,h&&h.unactivate(),3===t.hoverData.which){var p={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};if(h?h.emit(p):a.emit(p),!t.hoverData.cxtDragged){var g={originalEvent:e,type:"cxttap",position:{x:s[0],y:s[1]}};h?h.emit(g):a.emit(g)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(l,["mouseup","tapend","vmouseup"],e,{x:s[0],y:s[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(h,["click","tap","vclick"],e,{x:s[0],y:s[1]}),b=!1,e.timeStamp-w<=a.multiClickDebounceTime()?(x&&clearTimeout(x),b=!0,w=null,r(h,["dblclick","dbltap","vdblclick"],e,{x:s[0],y:s[1]})):(x=setTimeout((function(){b||r(h,["oneclick","onetap","voneclick"],e,{x:s[0],y:s[1]})}),a.multiClickDebounceTime()),w=e.timeStamp)),null!=h||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(a.$(n).unselect(["tapunselect"]),c.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=c=a.collection()),l!=h||t.dragData.didDrag||t.hoverData.selecting||null!=l&&l._private.selectable&&(t.hoverData.dragging||("additive"===a.selectionType()||d?l.selected()?l.unselect(["tapunselect"]):l.select(["tapselect"]):d||(a.$(n).unmerge(l).unselect(["tapunselect"]),l.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var f=a.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));t.redrawHint("select",!0),f.length>0&&t.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:e,position:{x:s[0],y:s[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(f).unselect(),f.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!o[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var m=h&&h.grabbed();u(c),m&&(h.emit("freeon"),c.emit("free"),t.dragData.didDrag&&(h.emit("dragfreeon"),c.emit("dragfree")))}}o[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}),!1);var T,_,E,S,C,A,L,M,N,I,R,D,O,P,$=[],B=1e5,F=function(e){var n=!1,r=e.deltaY;if(null==r&&(null!=e.wheelDeltaY?r=e.wheelDeltaY/4:null!=e.wheelDelta&&(r=e.wheelDelta/4)),null==T)if($.length>=4){var i=$;if(T=function(t,e){for(var n=0;n<t.length;n++)if(t[n]%5!=0)return!1;return!0}(i),!T){var a=Math.abs(i[0]);T=function(t){for(var e=Math.abs(t[0]),n=1;n<t.length;n++)if(Math.abs(t[n])!==e)return!1;return!0}(i)&&a>5}if(T)for(var s=0;s<i.length;s++)B=Math.min(Math.abs(i[s]),B)}else $.push(r),n=!0;else T&&(B=Math.min(Math.abs(r),B));if(!t.scrollingPage){var o=t.cy,l=o.zoom(),c=o.pan(),h=t.projectIntoViewport(e.clientX,e.clientY),u=[h[0]*l+c.x,h[1]*l+c.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(o.panningEnabled()&&o.userPanningEnabled()&&o.zoomingEnabled()&&o.userZoomingEnabled()){var d;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),n&&Math.abs(r)>5&&(r=5*Ye(r)),d=r/-250,T&&(d/=B,d*=3),d*=t.wheelSensitivity,1===e.deltaMode&&(d*=33);var p=o.zoom()*Math.pow(10,d);"gesturechange"===e.type&&(p=t.gestureStartZoom*e.scale),o.zoom({level:p,renderedPosition:{x:u[0],y:u[1]}}),o.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",F,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||F(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var W,z,Z,Y,U,G,V,q=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},j=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",W=function(e){if(t.hasTouchStarted=!0,v(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,a=t.touchData.earlier;if(e.touches[0]){var s=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=s[0],i[1]=s[1]}if(e.touches[1]&&(s=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=s[0],i[3]=s[1]),e.touches[2]&&(s=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=s[0],i[5]=s[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,u(t.dragData.touchDragEles);var l=t.findContainerClientCoords();I=l[0],R=l[1],D=l[2],O=l[3],_=e.touches[0].clientX-I,E=e.touches[0].clientY-R,S=e.touches[1].clientX-I,C=e.touches[1].clientY-R,P=0<=_&&_<=D&&0<=S&&S<=D&&0<=E&&E<=O&&0<=C&&C<=O;var d=n.pan(),g=n.zoom();if(A=q(_,E,S,C),L=j(_,E,S,C),N=[((M=[(_+S)/2,(E+C)/2])[0]-d.x)/g,(M[1]-d.y)/g],L<4e4&&!e.touches[2]){var f=t.findNearestElement(i[0],i[1],!0,!0),m=t.findNearestElement(i[2],i[3],!0,!0);return f&&f.isNode()?(f.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=f):m&&m.isNode()?(m.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=m):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var y=t.findNearestElements(i[0],i[1],!0,!0),x=y[0];if(null!=x&&(x.activate(),t.touchData.start=x,t.touchData.starts=y,t.nodeIsGrabbable(x))){var b=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),x.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),c(w,{addToList:b})):h(x,{addToList:b}),o(x);var k=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};x.emit(k("grabon")),w?w.forEach((function(t){t.emit(k("grab"))})):x.emit(k("grab"))}r(x,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==x&&(t.data.bgActivePosistion={x:s[0],y:s[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var T=t.touchData.startPosition=[null,null,null,null,null,null],$=0;$<i.length;$++)T[$]=a[$]=i[$];var B=e.touches[0];t.touchData.startGPosition=[B.clientX,B.clientY]}}},!1),t.registerBinding(e,"touchmove",z=function(e){var n=t.touchData.capture;if(n||v(e)){var i=t.selection,s=t.cy,o=t.touchData.now,l=t.touchData.earlier,h=s.zoom();if(e.touches[0]){var d=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);o[0]=d[0],o[1]=d[1]}e.touches[1]&&(d=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),o[2]=d[0],o[3]=d[1]),e.touches[2]&&(d=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),o[4]=d[0],o[5]=d[1]);var p,g=t.touchData.startGPosition;if(n&&e.touches[0]&&g){for(var f=[],m=0;m<o.length;m++)f[m]=o[m]-l[m];var y=e.touches[0].clientX-g[0],x=y*y,b=e.touches[0].clientY-g[1];p=x+b*b>=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-I,k=e.touches[0].clientY-R,T=e.touches[1].clientX-I,M=e.touches[1].clientY-R,D=j(w,k,T,M);if(D/L>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var O={originalEvent:e,type:"cxttapend",position:{x:o[0],y:o[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(O),t.touchData.start=null):s.emit(O)}}if(n&&t.touchData.cxt){O={originalEvent:e,type:"cxtdrag",position:{x:o[0],y:o[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(O):s.emit(O),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var $=t.findNearestElement(o[0],o[1],!0,!0);t.touchData.cxtOver&&$===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:o[0],y:o[1]}}),t.touchData.cxtOver=$,$&&$.emit({originalEvent:e,type:"cxtdragover",position:{x:o[0],y:o[1]}}))}else if(n&&e.touches[2]&&s.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||s.emit({originalEvent:e,type:"boxstart",position:{x:o[0],y:o[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(o[0]+o[2]+o[4])/3,i[3]=(o[1]+o[3]+o[5])/3):(i[0]=(o[0]+o[2]+o[4])/3,i[1]=(o[1]+o[3]+o[5])/3,i[2]=(o[0]+o[2]+o[4])/3+1,i[3]=(o[1]+o[3]+o[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&s.zoomingEnabled()&&s.panningEnabled()&&s.userZoomingEnabled()&&s.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B<tt.length;B++){var F=tt[B]._private;F.grabbed=!1,F.rscratch.inDragLayer=!1}}var W=t.touchData.start,z=(w=e.touches[0].clientX-I,k=e.touches[0].clientY-R,T=e.touches[1].clientX-I,M=e.touches[1].clientY-R,q(w,k,T,M)),Z=z/A;if(P){var Y=(w-_+(T-S))/2,U=(k-E+(M-C))/2,G=s.zoom(),V=G*Z,H=s.pan(),X=N[0]*G+H.x,K=N[1]*G+H.y,J={x:-V/G*(X-H.x-Y)+X,y:-V/G*(K-H.y-U)+K};if(W&&W.active()){var tt=t.dragData.touchDragEles;u(tt),t.redrawHint("drag",!0),t.redrawHint("eles",!0),W.unactivate().emit("freeon"),tt.emit("free"),t.dragData.didDrag&&(W.emit("dragfreeon"),tt.emit("dragfree"))}s.viewport({zoom:V,pan:J,cancelOnFailedZoom:!0}),s.emit("pinchzoom"),A=z,_=w,E=k,S=T,C=M,t.pinching=!0}e.touches[0]&&(d=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY),o[0]=d[0],o[1]=d[1]),e.touches[1]&&(d=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),o[2]=d[0],o[3]=d[1]),e.touches[2]&&(d=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),o[4]=d[0],o[5]=d[1])}else if(e.touches[0]&&!t.touchData.didSelect){var et=t.touchData.start,nt=t.touchData.last;if(t.hoverData.draggingEles||t.swipePanning||($=t.findNearestElement(o[0],o[1],!0,!0)),n&&null!=et&&e.preventDefault(),n&&null!=et&&t.nodeIsDraggable(et))if(p){tt=t.dragData.touchDragEles;var rt=!t.dragData.didDrag;rt&&c(tt,{inDragLayer:!0}),t.dragData.didDrag=!0;var it={x:0,y:0};Q(f[0])&&Q(f[1])&&(it.x+=f[0],it.y+=f[1],rt&&(t.redrawHint("eles",!0),(at=t.touchData.dragDelta)&&Q(at[0])&&Q(at[1])&&(it.x+=at[0],it.y+=at[1]))),t.hoverData.draggingEles=!0,tt.silentShift(it).emit("position drag"),t.redrawHint("drag",!0),t.touchData.startPosition[0]==l[0]&&t.touchData.startPosition[1]==l[1]&&t.redrawHint("eles",!0),t.redraw()}else{var at;0===(at=t.touchData.dragDelta=t.touchData.dragDelta||[]).length?(at.push(f[0]),at.push(f[1])):(at[0]+=f[0],at[1]+=f[1])}if(r(et||$,["touchmove","tapdrag","vmousemove"],e,{x:o[0],y:o[1]}),et&&et.grabbed()||$==nt||(nt&&nt.emit({originalEvent:e,type:"tapdragout",position:{x:o[0],y:o[1]}}),$&&$.emit({originalEvent:e,type:"tapdragover",position:{x:o[0],y:o[1]}})),t.touchData.last=$,n)for(B=0;B<o.length;B++)o[B]&&t.touchData.startPosition[B]&&p&&(t.touchData.singleTouchMoved=!0);n&&(null==et||et.pannable())&&s.panningEnabled()&&s.userPanningEnabled()&&(a(et,t.touchData.starts)&&(e.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=We(t.touchData.startPosition)),t.swipePanning?(s.panBy({x:f[0]*h,y:f[1]*h}),s.emit("dragpan")):p&&(t.swipePanning=!0,s.panBy({x:y*h,y:b*h}),s.emit("dragpan"),et&&(et.unactivate(),t.redrawHint("select",!0),t.touchData.start=null))),d=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY),o[0]=d[0],o[1]=d[1])}for(m=0;m<o.length;m++)l[m]=o[m];n&&e.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",Z=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",Y=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var a=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var s,o=t.cy,l=o.zoom(),c=t.touchData.now,h=t.touchData.earlier;if(e.touches[0]){var d=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);c[0]=d[0],c[1]=d[1]}if(e.touches[1]&&(d=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),c[2]=d[0],c[3]=d[1]),e.touches[2]&&(d=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),c[4]=d[0],c[5]=d[1]),i&&i.unactivate(),t.touchData.cxt){if(s={originalEvent:e,type:"cxttapend",position:{x:c[0],y:c[1]}},i?i.emit(s):o.emit(s),!t.touchData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:c[0],y:c[1]}};i?i.emit(p):o.emit(p)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&o.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var g=o.collection(t.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,t.redrawHint("select",!0),o.emit({type:"boxend",originalEvent:e,position:{x:c[0],y:c[1]}}),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),g.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var f=t.dragData.touchDragEles;if(null!=i){var m=i._private.grabbed;u(f),t.redrawHint("drag",!0),t.redrawHint("eles",!0),m&&(i.emit("freeon"),f.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),f.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:c[0],y:c[1]}),i.unactivate(),t.touchData.start=null}else{var y=t.findNearestElement(c[0],c[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],e,{x:c[0],y:c[1]})}var v=t.touchData.startPosition[0]-c[0],x=v*v,b=t.touchData.startPosition[1]-c[1],w=(x+b*b)*l*l;t.touchData.singleTouchMoved||(i||o.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:c[0],y:c[1]}),U=!1,e.timeStamp-V<=o.multiClickDebounceTime()?(G&&clearTimeout(G),U=!0,V=null,r(i,["dbltap","vdblclick"],e,{x:c[0],y:c[1]})):(G=setTimeout((function(){U||r(i,["onetap","voneclick"],e,{x:c[0],y:c[1]})}),o.multiClickDebounceTime()),V=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&w<t.touchTapThreshold2&&!t.pinching&&("single"===o.selectionType()?(o.$(n).unmerge(i).unselect(["tapunselect"]),i.select(["tapselect"])):i.selected()?i.unselect(["tapunselect"]):i.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}for(var k=0;k<c.length;k++)h[k]=c[k];t.dragData.didDrag=!1,0===e.touches.length&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),e.touches.length<2&&(1===e.touches.length&&(t.touchData.startGPosition=[e.touches[0].clientX,e.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())}},!1),"undefined"==typeof TouchEvent){var H=[],X=function(t){return{clientX:t.clientX,clientY:t.clientY,force:1,identifier:t.pointerId,pageX:t.pageX,pageY:t.pageY,radiusX:t.width/2,radiusY:t.height/2,screenX:t.screenX,screenY:t.screenY,target:t.target}},K=function(t){for(var e=0;e<H.length;e++)if(H[e].event.pointerId===t.pointerId)return void H.splice(e,1)},J=function(t){t.touches=H.map((function(t){return t.touch}))},tt=function(t){return"mouse"===t.pointerType||4===t.pointerType};t.registerBinding(t.container,"pointerdown",(function(t){tt(t)||(t.preventDefault(),function(t){H.push(function(t){return{event:t,touch:X(t)}}(t))}(t),J(t),W(t))})),t.registerBinding(t.container,"pointerup",(function(t){tt(t)||(K(t),J(t),Y(t))})),t.registerBinding(t.container,"pointercancel",(function(t){tt(t)||(K(t),J(t),Z())})),t.registerBinding(t.container,"pointermove",(function(t){tt(t)||(t.preventDefault(),function(t){var e=H.filter((function(e){return e.event.pointerId===t.pointerId}))[0];e.event=t,e.touch=X(t)}(t),J(t),z(t))}))}};var gh={generatePolygon:function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,draw:function(t,e,n,r,i,a){this.renderer.nodeShapeImpl("polygon",t,e,n,r,i,this.points)},intersectLine:function(t,e,n,r,i,a,s,o){return vn(i,a,this.points,t,e,n/2,r/2,s)},checkPoint:function(t,e,n,r,i,a,s,o){return un(t,e,this.points,a,s,r,i,[0,-1],n)}}},generateEllipse:function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(t,e,n,r,i,a){this.renderer.nodeShapeImpl(this.name,t,e,n,r,i)},intersectLine:function(t,e,n,r,i,a,s,o){return function(t,e,n,r,i,a){var s=n-t,o=r-e;s/=i,o/=a;var l=Math.sqrt(s*s+o*o),c=l-1;if(c<0)return[];var h=c/l;return[(n-t)*h+t,(r-e)*h+e]}(i,a,t,e,n/2+s,r/2+s)},checkPoint:function(t,e,n,r,i,a,s,o){return gn(t,e,r,i,a,s,n)}}},generateRoundPolygon:function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,getOrCreateCorners:function(t,n,r,i,a,s,o){if(void 0!==s[o]&&s[o+"-cx"]===t&&s[o+"-cy"]===n)return s[o];s[o]=new Array(e.length/2),s[o+"-cx"]=t,s[o+"-cy"]=n;var l=r/2,c=i/2;a="auto"===a?_n(r,i):a;for(var h=new Array(e.length/2),u=0;u<e.length/2;u++)h[u]={x:t+l*e[2*u],y:n+c*e[2*u+1]};var d,p,g,f,m=h.length;for(p=h[m-1],d=0;d<m;d++)g=h[d%m],f=h[(d+1)%m],s[o][d]=Kc(p,g,f,a),p=g,g=f;return s[o]},draw:function(t,e,n,r,i,a,s){this.renderer.nodeShapeImpl("round-polygon",t,e,n,r,i,this.points,this.getOrCreateCorners(e,n,r,i,a,s,"drawCorners"))},intersectLine:function(t,e,n,r,i,a,s,o,l){return function(t,e,n,r,i,a,s,o,l){var c,h=[],u=new Array(2*n.length);l.forEach((function(n,a){0===a?(u[u.length-2]=n.startX,u[u.length-1]=n.startY):(u[4*a-2]=n.startX,u[4*a-1]=n.startY),u[4*a]=n.stopX,u[4*a+1]=n.stopY,0!==(c=fn(t,e,r,i,n.cx,n.cy,n.radius)).length&&h.push(c[0],c[1])}));for(var d=0;d<u.length/4;d++)0!==(c=yn(t,e,r,i,u[4*d],u[4*d+1],u[4*d+2],u[4*d+3],!1)).length&&h.push(c[0],c[1]);if(h.length>2){for(var p=[h[0],h[1]],g=Math.pow(p[0]-t,2)+Math.pow(p[1]-e,2),f=1;f<h.length/2;f++){var m=Math.pow(h[2*f]-t,2)+Math.pow(h[2*f+1]-e,2);m<=g&&(p[0]=h[2*f],p[1]=h[2*f+1],g=m)}return p}return h}(i,a,this.points,t,e,0,0,0,this.getOrCreateCorners(t,e,n,r,o,l,"corners"))},checkPoint:function(t,e,n,r,i,a,s,o,l){return function(t,e,n,r,i,a,s,o){for(var l=new Array(2*n.length),c=0;c<o.length;c++){var h=o[c];if(l[4*c+0]=h.startX,l[4*c+1]=h.startY,l[4*c+2]=h.stopX,l[4*c+3]=h.stopY,Math.pow(h.cx-t,2)+Math.pow(h.cy-e,2)<=Math.pow(h.radius,2))return!0}return hn(t,e,l)}(t,e,this.points,0,0,0,0,this.getOrCreateCorners(a,s,r,i,o,l,"corners"))}}},generateRoundRectangle:function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:bn(4,0),draw:function(t,e,n,r,i,a){this.renderer.nodeShapeImpl(this.name,t,e,n,r,i,this.points,a)},intersectLine:function(t,e,n,r,i,a,s,o){return an(i,a,t,e,n,r,s,o)},checkPoint:function(t,e,n,r,i,a,s,o){var l=r/2,c=i/2;o="auto"===o?Tn(r,i):o;var h=2*(o=Math.min(l,c,o));return!!(un(t,e,this.points,a,s,r,i-h,[0,-1],n)||un(t,e,this.points,a,s,r-h,i,[0,-1],n)||gn(t,e,h,h,a-l+o,s-c+o,n)||gn(t,e,h,h,a+l-o,s-c+o,n)||gn(t,e,h,h,a+l-o,s+c-o,n)||gn(t,e,h,h,a-l+o,s+c-o,n))}}},generateCutRectangle:function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:8,points:bn(4,0),draw:function(t,e,n,r,i,a){this.renderer.nodeShapeImpl(this.name,t,e,n,r,i,null,a)},generateCutTrianglePts:function(t,e,n,r,i){var a="auto"===i?this.cornerLength:i,s=e/2,o=t/2,l=n-o,c=n+o,h=r-s,u=r+s;return{topLeft:[l,h+a,l+a,h,l+a,h+a],topRight:[c-a,h,c,h+a,c-a,h+a],bottomRight:[c,u-a,c-a,u,c-a,u-a],bottomLeft:[l+a,u,l,u-a,l+a,u-a]}},intersectLine:function(t,e,n,r,i,a,s,o){var l=this.generateCutTrianglePts(n+2*s,r+2*s,t,e,o),c=[].concat.apply([],[l.topLeft.splice(0,4),l.topRight.splice(0,4),l.bottomRight.splice(0,4),l.bottomLeft.splice(0,4)]);return vn(i,a,c,t,e)},checkPoint:function(t,e,n,r,i,a,s,o){var l="auto"===o?this.cornerLength:o;if(un(t,e,this.points,a,s,r,i-2*l,[0,-1],n))return!0;if(un(t,e,this.points,a,s,r-2*l,i,[0,-1],n))return!0;var c=this.generateCutTrianglePts(r,i,a,s);return hn(t,e,c.topLeft)||hn(t,e,c.topRight)||hn(t,e,c.bottomRight)||hn(t,e,c.bottomLeft)}}},generateBarrel:function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:bn(4,0),draw:function(t,e,n,r,i,a){this.renderer.nodeShapeImpl(this.name,t,e,n,r,i)},intersectLine:function(t,e,n,r,i,a,s,o){var l=this.generateBarrelBezierPts(n+2*s,r+2*s,t,e),c=function(t){var e=je({x:t[0],y:t[1]},{x:t[2],y:t[3]},{x:t[4],y:t[5]},.15),n=je({x:t[0],y:t[1]},{x:t[2],y:t[3]},{x:t[4],y:t[5]},.5),r=je({x:t[0],y:t[1]},{x:t[2],y:t[3]},{x:t[4],y:t[5]},.85);return[t[0],t[1],e.x,e.y,n.x,n.y,r.x,r.y,t[4],t[5]]},h=[].concat(c(l.topLeft),c(l.topRight),c(l.bottomRight),c(l.bottomLeft));return vn(i,a,h,t,e)},generateBarrelBezierPts:function(t,e,n,r){var i=e/2,a=t/2,s=n-a,o=n+a,l=r-i,c=r+i,h=En(t,e),u=h.heightOffset,d=h.widthOffset,p=h.ctrlPtOffsetPct*t,g={topLeft:[s,l+u,s+p,l,s+d,l],topRight:[o-d,l,o-p,l,o,l+u],bottomRight:[o,c-u,o-p,c,o-d,c],bottomLeft:[s+d,c,s+p,c,s,c-u]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(t,e,n,r,i,a,s,o){var l=En(r,i),c=l.heightOffset,h=l.widthOffset;if(un(t,e,this.points,a,s,r,i-2*c,[0,-1],n))return!0;if(un(t,e,this.points,a,s,r-2*h,i,[0,-1],n))return!0;for(var u=this.generateBarrelBezierPts(r,i,a,s),d=function(t,e,n){var r,i,a=n[4],s=n[2],o=n[0],l=n[5],c=n[1],h=Math.min(a,o),u=Math.max(a,o),d=Math.min(l,c),p=Math.max(l,c);if(h<=t&&t<=u&&d<=e&&e<=p){var g=[(r=a)-2*(i=s)+o,2*(i-r),r],f=function(t,e,n,r){var i=e*e-4*t*(n-=r);if(i<0)return[];var a=Math.sqrt(i),s=2*t;return[(-e+a)/s,(-e-a)/s]}(g[0],g[1],g[2],t).filter((function(t){return 0<=t&&t<=1}));if(f.length>0)return f[0]}return null},p=Object.keys(u),g=0;g<p.length;g++){var f=u[p[g]],m=d(t,e,f);if(null!=m){var y=f[5],v=f[3],x=f[1],b=qe(y,v,x,m);if(f.isTop&&b<=e)return!0;if(f.isBottom&&e<=b)return!0}}return!1}}},generateBottomRoundrectangle:function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:bn(4,0),draw:function(t,e,n,r,i,a){this.renderer.nodeShapeImpl(this.name,t,e,n,r,i,this.points,a)},intersectLine:function(t,e,n,r,i,a,s,o){var l=e-(r/2+s),c=yn(i,a,t,e,t-(n/2+s),l,t+(n/2+s),l,!1);return c.length>0?c:an(i,a,t,e,n,r,s,o)},checkPoint:function(t,e,n,r,i,a,s,o){var l=2*(o="auto"===o?Tn(r,i):o);if(un(t,e,this.points,a,s,r,i-l,[0,-1],n))return!0;if(un(t,e,this.points,a,s,r-l,i,[0,-1],n))return!0;var c=r/2+2*n,h=i/2+2*n;return!!hn(t,e,[a-c,s-h,a-c,s,a+c,s,a+c,s-h])||!!gn(t,e,l,l,a+r/2-o,s+i/2-o,n)||!!gn(t,e,l,l,a-r/2+o,s+i/2-o,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",bn(3,0)),this.generateRoundPolygon("round-triangle",bn(3,0)),this.generatePolygon("rectangle",bn(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",bn(5,0)),this.generateRoundPolygon("round-pentagon",bn(5,0)),this.generatePolygon("hexagon",bn(6,0)),this.generateRoundPolygon("round-hexagon",bn(6,0)),this.generatePolygon("heptagon",bn(7,0)),this.generateRoundPolygon("round-heptagon",bn(7,0)),this.generatePolygon("octagon",bn(8,0)),this.generateRoundPolygon("round-octagon",bn(8,0));var r=new Array(20),i=kn(5,0),a=kn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o<a.length/2;o++)a[2*o]*=s,a[2*o+1]*=s;for(o=0;o<5;o++)r[4*o]=i[2*o],r[4*o+1]=i[2*o+1],r[4*o+2]=a[2*o],r[4*o+3]=a[2*o+1];r=wn(r),this.generatePolygon("star",r),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l),t.makePolygon=function(t){var n,r="polygon-"+t.join("$");return(n=this[r])?n:e.generatePolygon(r,t)}}},fh={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(t){t=t||oe();var e=this;void 0===e.averageRedrawTime&&(e.averageRedrawTime=0),void 0===e.lastRedrawTime&&(e.lastRedrawTime=0),void 0===e.lastDrawTime&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=t},beforeRender:function(t,e){if(!this.destroyed){null==e&&ee("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:t,priority:e}),n.sort((function(t,e){return e.priority-t.priority}))}}},mh=function(t,e,n){for(var r=t.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(e,n)};fh.startRenderLoop=function(){var t=this,e=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var n=function(r){if(!t.destroyed){if(e.batching());else if(t.requestedFrame&&!t.skipFrame){mh(t,!0,r);var i=Ot();t.render(t.renderOptions);var a=t.lastDrawTime=Ot();void 0===t.averageRedrawTime&&(t.averageRedrawTime=a-i),void 0===t.redrawCount&&(t.redrawCount=0),t.redrawCount++,void 0===t.redrawTotalTime&&(t.redrawTotalTime=0);var s=a-i;t.redrawTotalTime+=s,t.lastRedrawTime=s,t.averageRedrawTime=t.averageRedrawTime/2+s/2,t.requestedFrame=!1}else mh(t,!1,r);t.skipFrame=!1,Dt(n)}};Dt(n)}};var yh=function(t){this.init(t)},vh=yh.prototype;vh.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],vh.init=function(t){var e=this;e.options=t,e.cy=t.cy;var n=e.container=t.cy.container(),r=e.cy.window();if(r){var i=r.document,a=i.head,s="__________cytoscape_stylesheet",o="__________cytoscape_container",l=null!=i.getElementById(s);if(n.className.indexOf(o)<0&&(n.className=(n.className||"")+" "+o),!l){var c=i.createElement("style");c.id=s,c.textContent="."+o+" { position: relative; }",a.insertBefore(c,a.children[0])}"static"===r.getComputedStyle(n).getPropertyValue("position")&&re("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=t.showFps,e.debug=t.debug,e.webgl=t.webgl,e.hideEdgesOnViewport=t.hideEdgesOnViewport,e.textureOnViewport=t.textureOnViewport,e.wheelSensitivity=t.wheelSensitivity,e.motionBlurEnabled=t.motionBlur,e.forcedPixelRatio=Q(t.pixelRatio)?t.pixelRatio:null,e.motionBlur=t.motionBlur,e.motionBlurOpacity=t.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=t.desktopTapThreshold,e.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,e.touchTapThreshold=t.touchTapThreshold,e.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()},vh.notify=function(t,e){var n=this,r=n.cy;this.destroyed||("init"!==t?"destroy"!==t?(("add"===t||"remove"===t||"move"===t&&r.hasCompoundNodes()||"load"===t||"zorder"===t||"mount"===t)&&n.invalidateCachedZSortedEles(),"viewport"===t&&n.redrawHint("select",!0),"gc"===t&&n.redrawHint("gc",!0),"load"!==t&&"resize"!==t&&"mount"!==t||(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()):n.destroy():n.load())},vh.destroy=function(){var t=this;t.destroyed=!0,t.cy.stopAnimationLoop();for(var e=0;e<t.bindings.length;e++){var n=t.bindings[e],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(t.bindings=[],t.beforeRenderCallbacks=[],t.onUpdateEleCalcsFns=[],t.removeObserver&&t.removeObserver.disconnect(),t.styleObserver&&t.styleObserver.disconnect(),t.resizeObserver&&t.resizeObserver.disconnect(),t.labelCalcDiv)try{document.body.removeChild(t.labelCalcDiv)}catch(t){}},vh.isHeadless=function(){return!1},[Cc,uh,dh,ph,gh,fh].forEach((function(t){vt(vh,t)}));var xh=1e3/60,bh=function(t){return function(){var e=this,n=this.renderer;if(!e.dequeueingSetup){e.dequeueingSetup=!0;var r=Mt((function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()}),t.deqRedrawThreshold),i=t.priority||te;n.beforeRender((function(i,a){var s=Ot(),o=n.averageRedrawTime,l=n.lastRedrawTime,c=[],h=n.cy.extent(),u=n.getPixelRatio();for(i||n.flushRenderedStyleQueue();;){var d=Ot(),p=d-s,g=d-a;if(l<xh){var f=xh-(i?o:0);if(g>=t.deqFastCost*f)break}else if(i){if(p>=t.deqCost*l||p>=t.deqAvgCost*o)break}else if(g>=t.deqNoDrawCost*xh)break;var m=t.deq(e,u,h);if(!(m.length>0))break;for(var y=0;y<m.length;y++)c.push(m[y])}c.length>0&&(t.onDeqd(e,c),!i&&t.shouldRedraw(e,c,u,h)&&r())}),i(e))}}},wh=function(){return a((function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qt;i(this,t),this.idsByKey=new pe,this.keyForId=new pe,this.cachesByLvl=new pe,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}),[{key:"getIdsFor",value:function(t){null==t&&ee("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new fe,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new pe,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}])}(),kh={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Th=le({getKey:null,doesEleInvalidateKey:Qt,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Kt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),_h=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=Th(e);vt(n,r),n.lookup=new wh(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},Eh=_h.prototype;Eh.reasons=kh,Eh.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},Eh.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},Eh.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new _e((function(t,e){return e.reqs-t.reqs}))},Eh.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},Eh.getElement=function(t,e,n,r,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(Ze(o*n))),r<-4)r=-4;else if(o>=7.99||r>3)return null;var c=Math.pow(2,r),h=e.h*c,u=e.w*c,d=s.eleTextBiggerThanMin(t,c);if(!this.isVisible(t,d))return null;var p,g=l.get(t,r);if(g&&g.invalidated&&(g.invalidated=!1,g.texture.invalidatedWidth-=g.width),g)return g;if(p=h<=25?25:h<=50?50:50*Math.ceil(h/50),h>1024||u>1024)return null;var f=a.getTextureQueue(p),m=f[f.length-2],y=function(){return a.recycleTexture(p,u)||a.addTexture(p,u)};m||(m=f[f.length-1]),m||(m=y()),m.width-m.usedWidth<u&&(m=y());for(var v,x=function(t){return t&&t.scaledLabelShown===d},b=i&&i===kh.dequeue,w=i&&i===kh.highQuality,k=i&&i===kh.downscale,T=r+1;T<=3;T++){var _=l.get(t,T);if(_){v=_;break}}var E=v&&v.level===r+1?v:null,S=function(){m.context.drawImage(E.texture.canvas,E.x,0,E.width,E.height,m.usedWidth,0,u,h)};if(m.context.setTransform(1,0,0,1,0,0),m.context.clearRect(m.usedWidth,0,u,p),x(E))S();else if(x(v)){if(!w)return a.queueElement(t,v.level-1),v;for(var C=v.level;C>r;C--)E=a.getElement(t,e,n,C,kh.downscale);S()}else{var A;if(!b&&!w&&!k)for(var L=r-1;L>=-4;L--){var M=l.get(t,L);if(M){A=M;break}}if(x(A))return a.queueElement(t,r),A;m.context.translate(m.usedWidth,0),m.context.scale(c,c),this.drawElement(m.context,t,e,d,!1),m.context.scale(1/c,1/c),m.context.translate(-m.usedWidth,0)}return g={x:m.usedWidth,texture:m,level:r,scale:c,width:u,height:h,scaledLabelShown:d},m.usedWidth+=Math.ceil(u+8),m.eleCaches.push(g),l.set(t,r,g),a.checkTextureFullness(m),g},Eh.invalidateElements=function(t){for(var e=0;e<t.length;e++)this.invalidateElement(t[e])},Eh.invalidateElement=function(t){var e=this,n=e.lookup,r=[];if(n.isInvalid(t)){for(var i=-4;i<=3;i++){var a=n.getForCachedKey(t,i);a&&r.push(a)}if(n.invalidate(t))for(var s=0;s<r.length;s++){var o=r[s],l=o.texture;l.invalidatedWidth+=o.width,o.invalidated=!0,e.checkTextureUtility(l)}e.removeFromQueue(t)}},Eh.checkTextureUtility=function(t){t.invalidatedWidth>=.2*t.width&&this.retireTexture(t)},Eh.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?ce(e,t):t.fullnessChecks++},Eh.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;ce(n,t),t.retired=!0;for(var i=t.eleCaches,a=0;a<i.length;a++){var s=i[a];r.deleteCache(s.key,s.level)}he(i),this.getRetiredTextureQueue(e).push(t)},Eh.addTexture=function(t,e){var n={};return this.getTextureQueue(t).push(n),n.eleCaches=[],n.height=t,n.width=Math.max(1024,e),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=this.renderer.makeOffscreenCanvas(n.width,n.height),n.context=n.canvas.getContext("2d"),n},Eh.recycleTexture=function(t,e){for(var n=this.getTextureQueue(t),r=this.getRetiredTextureQueue(t),i=0;i<r.length;i++){var a=r[i];if(a.width>=e)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,he(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),ce(r,a),n.push(a),a}},Eh.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),a=r[i];if(a)a.level=Math.max(a.level,e),a.eles.merge(t),a.reqs++,n.updateItem(a);else{var s={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(s),r[i]=s}},Eh.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s<1&&n.size()>0;s++){var o=n.pop(),l=o.key,c=o.eles[0],h=a.hasCache(c,o.level);if(r[l]=null,!h){i.push(o);var u=e.getBoundingBox(c);e.getElement(c,u,t,o.level,kh.dequeue)}}return i},Eh.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=Xt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},Eh.onDequeue=function(t){this.onDequeues.push(t)},Eh.offDequeue=function(t){ce(this.onDequeues,t)},Eh.setupDequeueing=bh({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n<t.onDequeues.length;n++)(0,t.onDequeues[n])(e)},shouldRedraw:function(t,e,n,r){for(var i=0;i<e.length;i++)for(var a=e[i].eles,s=0;s<a.length;s++){var o=a[s].boundingBox();if(nn(o,r))return!0}return!1},priority:function(t){return t.renderer.beforeRenderPriorities.eleTxrDeq}});var Sh=function(t){var e=this,n=e.renderer=t,r=n.cy;e.layersByLevel={},e.firstGet=!0,e.lastInvalidationTime=Ot()-500,e.skipping=!1,e.eleTxrDeqs=r.collection(),e.scheduleElementRefinement=Mt((function(){e.refineElementTextures(e.eleTxrDeqs),e.eleTxrDeqs.unmerge(e.eleTxrDeqs)}),50),n.beforeRender((function(t,n){n-e.lastInvalidationTime<=250?e.skipping=!0:e.skipping=!1}),n.beforeRenderPriorities.lyrTxrSkip),e.layersQueue=new _e((function(t,e){return e.reqs-t.reqs})),e.setupDequeueing()},Ch=Sh.prototype,Ah=0,Lh=Math.pow(2,53)-1;Ch.makeLayer=function(t,e){var n=Math.pow(2,e),r=Math.ceil(t.w*n),i=Math.ceil(t.h*n),a=this.renderer.makeOffscreenCanvas(r,i),s={id:Ah=++Ah%Lh,bb:t,level:e,width:r,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},o=s.context,l=-s.bb.x1,c=-s.bb.y1;return o.scale(n,n),o.translate(l,c),s},Ch.getLayers=function(t,e,n){var r=this,i=r.renderer.cy.zoom(),a=r.firstGet;if(r.firstGet=!1,null==n)if((n=Math.ceil(Ze(i*e)))<-4)n=-4;else if(i>=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var s,o,l=r.layersByLevel,c=Math.pow(2,n),h=l[n]=l[n]||[];if(r.levelIsComplete(n,t))return h;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return o=l[e],!0},i=function(t){if(!o)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var a=h.length-1;a>=0;a--){var s=h[a];s.invalid&&ce(h,s)}}();var u=function(e){var i=(e=e||{}).after;!function(){if(!s){s=Xe();for(var e=0;e<t.length;e++)Ke(s,t[e].boundingBox())}}();var a=Math.ceil(s.w*c),o=Math.ceil(s.h*c);if(a>32767||o>32767)return null;if(a*o>16e6)return null;var l=r.makeLayer(s,n);if(null!=i){var u=h.indexOf(i)+1;h.splice(u,0,l)}else(void 0===e.insert||e.insert)&&h.unshift(l);return l};if(r.skipping&&!a)return null;for(var d,p,g=null,f=t.length/1,m=!a,y=0;y<t.length;y++){var v=t[y],x=v._private.rscratch,b=x.imgLayerCaches=x.imgLayerCaches||{},w=b[n];if(w)g=w;else{if((!g||g.eles.length>=f||(d=g.bb,p=v.boundingBox(),!rn(d,p.x1,p.y1)||!rn(d,p.x2,p.y2)))&&!(g=u({insert:!0,after:g})))return null;o||m?r.queueLayer(g,v):r.drawEleInLayer(g,v,n,e),g.eles.push(v),b[n]=g}}return o||(m?null:h)},Ch.getEleLevelForLayerLevel=function(t,e){return t},Ch.drawEleInLayer=function(t,e,n,r){var i=this.renderer,a=t.context,s=e.boundingBox();0!==s.w&&0!==s.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,e,null,null,n,!0),i.setImgSmoothing(a,!0))},Ch.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var a=n[i];if(a.reqs>0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===e.length},Ch.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],a=-1,s=0;s<e.length;s++)if(i.eles[0]===e[s]){a=s;break}if(a<0)this.invalidateLayer(i);else{var o=a;for(s=0;s<i.eles.length;s++)if(i.eles[s]!==e[o+s]){this.invalidateLayer(i);break}}}},Ch.updateElementsInLayers=function(t,e){for(var n=et(t[0]),r=0;r<t.length;r++)for(var i=n?null:t[r],a=n?t[r]:t[r].ele,s=a._private.rscratch,o=s.imgLayerCaches=s.imgLayerCaches||{},l=-4;l<=2;l++){var c=o[l];c&&(i&&this.getEleLevelForLayerLevel(c.level)!==i.level||e(c,a,i))}},Ch.haveLayers=function(){for(var t=!1,e=-4;e<=2;e++){var n=this.layersByLevel[e];if(n&&n.length>0){t=!0;break}}return t},Ch.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=Ot(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},Ch.invalidateLayer=function(t){if(this.lastInvalidationTime=Ot(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];ce(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i<n.length;i++){var a=n[i]._private.rscratch.imgLayerCaches;a&&(a[e]=null)}}},Ch.refineElementTextures=function(t){var e=this;e.updateElementsInLayers(t,(function(t,n,r){var i=t.replacement;if(i||((i=t.replacement=e.makeLayer(t.bb,t.level)).replaces=t,i.eles=t.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)e.queueLayer(i,i.eles[a])}))},Ch.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()},Ch.queueLayer=function(t,e){var n=this.layersQueue,r=t.elesQueue,i=r.hasId=r.hasId||{};if(!t.replacement){if(e){if(i[e.id()])return;r.push(e),i[e.id()]=!0}t.reqs?(t.reqs++,n.updateItem(t)):(t.reqs=1,n.push(t))}},Ch.dequeue=function(t){for(var e=this,n=e.layersQueue,r=[],i=0;i<1&&0!==n.size();){var a=n.peek();if(a.replacement)n.pop();else if(a.replaces&&a!==a.replaces.replacement)n.pop();else if(a.invalid)n.pop();else{var s=a.elesQueue.shift();s&&(e.drawEleInLayer(a,s,a.level,t),i++),0===r.length&&r.push(!0),0===a.elesQueue.length&&(n.pop(),a.reqs=0,a.replaces&&e.applyLayerReplacement(a),e.requestRedraw())}}return r},Ch.applyLayerReplacement=function(t){var e=this.layersByLevel[t.level],n=t.replaces,r=e.indexOf(n);if(!(r<0||n.invalid)){e[r]=t;for(var i=0;i<t.eles.length;i++){var a=t.eles[i]._private,s=a.imgLayerCaches=a.imgLayerCaches||{};s&&(s[t.level]=t)}this.requestRedraw()}},Ch.requestRedraw=Mt((function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()}),100),Ch.setupDequeueing=bh({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e){return t.dequeue(e)},onDeqd:te,shouldRedraw:Kt,priority:function(t){return t.renderer.beforeRenderPriorities.lyrTxrDeq}});var Mh,Nh={};function Ih(t,e){for(var n=0;n<e.length;n++){var r=e[n];t.lineTo(r.x,r.y)}}function Rh(t,e,n){for(var r,i=0;i<e.length;i++){var a=e[i];0===i&&(r=a),t.lineTo(a.x,a.y)}t.quadraticCurveTo(n.x,n.y,r.x,r.y)}function Dh(t,e,n){t.beginPath&&t.beginPath();for(var r=e,i=0;i<r.length;i++){var a=r[i];t.lineTo(a.x,a.y)}var s=n,o=n[0];for(t.moveTo(o.x,o.y),i=1;i<s.length;i++)a=s[i],t.lineTo(a.x,a.y);t.closePath&&t.closePath()}function Oh(t,e,n,r,i){t.beginPath&&t.beginPath(),t.arc(n,r,i,0,2*Math.PI,!1);var a=e,s=a[0];t.moveTo(s.x,s.y);for(var o=0;o<a.length;o++){var l=a[o];t.lineTo(l.x,l.y)}t.closePath&&t.closePath()}function Ph(t,e,n,r){t.arc(e,n,r,0,2*Math.PI,!1)}Nh.arrowShapeImpl=function(t){return(Mh||(Mh={polygon:Ih,"triangle-backcurve":Rh,"triangle-tee":Dh,"circle-triangle":Oh,"triangle-cross":Dh,circle:Ph}))[t]};var $h={drawElement:function(t,e,n,r,i,a){e.isNode()?this.drawNode(t,e,n,r,i,a):this.drawEdge(t,e,n,r,i,a)},drawElementOverlay:function(t,e){e.isNode()?this.drawNodeOverlay(t,e):this.drawEdgeOverlay(t,e)},drawElementUnderlay:function(t,e){e.isNode()?this.drawNodeUnderlay(t,e):this.drawEdgeUnderlay(t,e)},drawCachedElementPortion:function(t,e,n,r,i,a,s,o){var l=this,c=n.getBoundingBox(e);if(0!==c.w&&0!==c.h){var h=n.getElement(e,c,r,i,a);if(null!=h){var u=o(l,e);if(0===u)return;var d,p,g,f,m,y,v=s(l,e),x=c.x1,b=c.y1,w=c.w,k=c.h;if(0!==v){var T=n.getRotationPoint(e);g=T.x,f=T.y,t.translate(g,f),t.rotate(v),(m=l.getImgSmoothing(t))||l.setImgSmoothing(t,!0);var _=n.getRotationOffset(e);d=_.x,p=_.y}else d=x,p=b;1!==u&&(y=t.globalAlpha,t.globalAlpha=y*u),t.drawImage(h.texture.canvas,h.x,0,h.width,h.height,d,p,w,k),1!==u&&(t.globalAlpha=y),0!==v&&(t.rotate(-v),t.translate(-g,-f),m||l.setImgSmoothing(t,!1))}else n.drawElement(t,e)}}},Bh=function(){return 0},Fh=function(t,e){return t.getTextAngle(e,null)},Wh=function(t,e){return t.getTextAngle(e,"source")},zh=function(t,e){return t.getTextAngle(e,"target")},Zh=function(t,e){return e.effectiveOpacity()},Yh=function(t,e){return e.pstyle("text-opacity").pfValue*e.effectiveOpacity()};$h.drawCachedElement=function(t,e,n,r,i,a){var s=this,o=s.data,l=o.eleTxrCache,c=o.lblTxrCache,h=o.slbTxrCache,u=o.tlbTxrCache,d=e.boundingBox(),p=!0===a?l.reasons.highQuality:null;if(0!==d.w&&0!==d.h&&e.visible()&&(!r||nn(d,r))){var g=e.isEdge(),f=e.element()._private.rscratch.badLine;s.drawElementUnderlay(t,e),s.drawCachedElementPortion(t,e,l,n,i,p,Bh,Zh),g&&f||s.drawCachedElementPortion(t,e,c,n,i,p,Fh,Yh),g&&!f&&(s.drawCachedElementPortion(t,e,h,n,i,p,Wh,Yh),s.drawCachedElementPortion(t,e,u,n,i,p,zh,Yh)),s.drawElementOverlay(t,e)}},$h.drawElements=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];this.drawElement(t,r)}},$h.drawCachedElements=function(t,e,n,r){for(var i=0;i<e.length;i++){var a=e[i];this.drawCachedElement(t,a,n,r)}},$h.drawCachedNodes=function(t,e,n,r){for(var i=0;i<e.length;i++){var a=e[i];a.isNode()&&this.drawCachedElement(t,a,n,r)}},$h.drawLayeredElements=function(t,e,n,r){var i=this.data.lyrTxrCache.getLayers(e,n);if(i)for(var a=0;a<i.length;a++){var s=i[a],o=s.bb;0!==o.w&&0!==o.h&&t.drawImage(s.canvas,o.x1,o.y1,o.w,o.h)}else this.drawCachedElements(t,e,n,r)};var Uh={drawEdge:function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=this,o=e._private.rscratch;if((!a||e.visible())&&!o.badLine&&null!=o.allpts&&!isNaN(o.allpts[0])){var l;n&&(l=n,t.translate(-l.x1,-l.y1));var c=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,u=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,f=e.pstyle("line-outline-width").value,m=e.pstyle("line-outline-color").value,y=c*h,v=c*h,x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===u?(s.eleStrokeStyle(t,e,n),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=g,s.eleStrokeStyle(t,e,n),s.drawEdgePath(e,t,o.allpts,d),t.lineCap="butt")},b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;s.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var w=e.pstyle("ghost-offset-x").pfValue,k=e.pstyle("ghost-offset-y").pfValue,T=e.pstyle("ghost-opacity").value,_=y*T;t.translate(w,k),x(_),b(_),t.translate(-w,-k)}else!function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;t.lineWidth=p+f,t.lineCap=g,f>0?(s.colorStrokeStyle(t,m[0],m[1],m[2],n),"straight-triangle"===u?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,d),t.lineCap="butt")):t.lineCap="butt"}();i&&s.drawEdgeUnderlay(t,e),x(),b(),i&&s.drawEdgeOverlay(t,e),s.drawElementText(t,e,null,r),n&&t.translate(l.x1,l.y1)}}},Gh=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),s=n._private.rscratch,o=2*n.pstyle("".concat(t,"-padding")).pfValue,l=n.pstyle("".concat(t,"-color")).value;e.lineWidth=o,"self"!==s.edgeType||a?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,l[0],l[1],l[2],r),i.drawEdgePath(n,e,s.allpts,"solid")}}}};Uh.drawEdgeOverlay=Gh("overlay"),Uh.drawEdgeUnderlay=Gh("underlay"),Uh.drawEdgePath=function(t,e,n,r){var i,a=t._private.rscratch,o=e,l=!1,c=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,u=t.pstyle("line-dash-offset").pfValue;if(c){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=e=a.pathCache,l=!0):(i=e=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(h),o.lineDashOffset=u;break;case"solid":o.setLineDash([])}if(!l&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+3<n.length;p+=4)e.quadraticCurveTo(n[p],n[p+1],n[p+2],n[p+3]);break;case"straight":case"haystack":for(var g=2;g+1<n.length;g+=2)e.lineTo(n[g],n[g+1]);break;case"segments":if(a.isRound){var f,m=s(a.roundCorners);try{for(m.s();!(f=m.n()).done;)Xc(e,f.value)}catch(t){m.e(t)}finally{m.f()}e.lineTo(n[n.length-2],n[n.length-1])}else for(var y=2;y+1<n.length;y+=2)e.lineTo(n[y],n[y+1])}e=o,c?e.stroke(i):e.stroke(),e.setLineDash&&e.setLineDash([])},Uh.drawEdgeTrianglePath=function(t,e,n){e.fillStyle=e.strokeStyle;for(var r=t.pstyle("width").pfValue,i=0;i+1<n.length;i+=2){var a=[n[i+2]-n[i],n[i+3]-n[i+1]],s=Math.sqrt(a[0]*a[0]+a[1]*a[1]),o=[a[1]/s,-a[0]/s],l=[o[0]*r/2,o[1]*r/2];e.beginPath(),e.moveTo(n[i]-l[0],n[i+1]-l[1]),e.lineTo(n[i]+l[0],n[i+1]+l[1]),e.lineTo(n[i+2],n[i+3]),e.closePath(),e.fill()}},Uh.drawArrowheads=function(t,e,n){var r=e._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(t,e,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(t,e,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(t,e,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||this.drawArrowhead(t,e,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)},Uh.drawArrowhead=function(t,e,n,r,i,a,s){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a)||null==a)){var o=this,l=e.pstyle(n+"-arrow-shape").value;if("none"!==l){var c="hollow"===e.pstyle(n+"-arrow-fill").value?"both":"filled",h=e.pstyle(n+"-arrow-fill").value,u=e.pstyle("width").pfValue,d=e.pstyle(n+"-arrow-width"),p="match-line"===d.value?u:d.pfValue;"%"===d.units&&(p*=u);var g=e.pstyle("opacity").value;void 0===s&&(s=g);var f=t.globalCompositeOperation;1===s&&"hollow"!==h||(t.globalCompositeOperation="destination-out",o.colorFillStyle(t,255,255,255,1),o.colorStrokeStyle(t,255,255,255,1),o.drawArrowShape(e,t,c,u,l,p,r,i,a),t.globalCompositeOperation=f);var m=e.pstyle(n+"-arrow-color").value;o.colorFillStyle(t,m[0],m[1],m[2],s),o.colorStrokeStyle(t,m[0],m[1],m[2],s),o.drawArrowShape(e,t,h,u,l,p,r,i,a)}}},Uh.drawArrowShape=function(t,e,n,r,i,a,s,o,l){var c,h=this,u=this.usePaths()&&"triangle-cross"!==i,d=!1,p=e,g={x:s,y:o},f=t.pstyle("arrow-scale").value,m=this.getArrowWidth(r,f),y=h.arrowShapes[i];if(u){var v=h.arrowPathCache=h.arrowPathCache||[],x=Ut(i),b=v[x];null!=b?(c=e=b,d=!0):(c=e=new Path2D,v[x]=c)}d||(e.beginPath&&e.beginPath(),u?y.draw(e,1,0,{x:0,y:0},1):y.draw(e,m,l,g,r),e.closePath&&e.closePath()),e=p,u&&(e.translate(s,o),e.rotate(l),e.scale(m,m)),"filled"!==n&&"both"!==n||(u?e.fill(c):e.fill()),"hollow"!==n&&"both"!==n||(e.lineWidth=a/(u?m:1),e.lineJoin="miter",u?e.stroke(c):e.stroke()),u&&(e.scale(1/m,1/m),e.rotate(-l),e.translate(-s,-o))};var Vh={safeDrawImage:function(t,e,n,r,i,a,s,o,l,c){if(!(i<=0||a<=0||l<=0||c<=0))try{t.drawImage(e,n,r,i,a,s,o,l,c)}catch(t){re(t)}},drawInscribedImage:function(t,e,n,r,i){var a=this,s=n.position(),o=s.x,l=s.y,c=n.cy().style(),h=c.getIndexedStyle.bind(c),u=h(n,"background-fit","value",r),d=h(n,"background-repeat","value",r),p=n.width(),g=n.height(),f=2*n.padding(),m=p+("inner"===h(n,"background-width-relative-to","value",r)?0:f),y=g+("inner"===h(n,"background-height-relative-to","value",r)?0:f),v=n._private.rscratch,x="node"===h(n,"background-clip","value",r),b=h(n,"background-image-opacity","value",r)*i,w=h(n,"background-image-smoothing","value",r),k=n.pstyle("corner-radius").value;"auto"!==k&&(k=n.pstyle("corner-radius").pfValue);var T=e.width||e.cachedW,_=e.height||e.cachedH;null!=T&&null!=_||(document.body.appendChild(e),T=e.cachedW=e.width||e.offsetWidth,_=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var E=T,S=_;if("auto"!==h(n,"background-width","value",r)&&(E="%"===h(n,"background-width","units",r)?h(n,"background-width","pfValue",r)*m:h(n,"background-width","pfValue",r)),"auto"!==h(n,"background-height","value",r)&&(S="%"===h(n,"background-height","units",r)?h(n,"background-height","pfValue",r)*y:h(n,"background-height","pfValue",r)),0!==E&&0!==S){if("contain"===u)E*=C=Math.min(m/E,y/S),S*=C;else if("cover"===u){var C;E*=C=Math.max(m/E,y/S),S*=C}var A=o-m/2,L=h(n,"background-position-x","units",r),M=h(n,"background-position-x","pfValue",r);A+="%"===L?(m-E)*M:M;var N=h(n,"background-offset-x","units",r),I=h(n,"background-offset-x","pfValue",r);A+="%"===N?(m-E)*I:I;var R=l-y/2,D=h(n,"background-position-y","units",r),O=h(n,"background-position-y","pfValue",r);R+="%"===D?(y-S)*O:O;var P=h(n,"background-offset-y","units",r),$=h(n,"background-offset-y","pfValue",r);R+="%"===P?(y-S)*$:$,v.pathCache&&(A-=o,R-=l,o=0,l=0);var B=t.globalAlpha;t.globalAlpha=b;var F=a.getImgSmoothing(t),W=!1;if("no"===w&&F?(a.setImgSmoothing(t,!1),W=!0):"yes"!==w||F||(a.setImgSmoothing(t,!0),W=!0),"no-repeat"===d)x&&(t.save(),v.pathCache?t.clip(v.pathCache):(a.nodeShapes[a.getNodeShape(n)].draw(t,o,l,m,y,k,v),t.clip())),a.safeDrawImage(t,e,0,0,T,_,A,R,E,S),x&&t.restore();else{var z=t.createPattern(e,d);t.fillStyle=z,a.nodeShapes[a.getNodeShape(n)].draw(t,o,l,m,y,k,v),t.translate(A,R),t.fill(),t.translate(-A,-R)}t.globalAlpha=B,W&&a.setImgSmoothing(t,F)}}},qh={};function jh(t,e,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,n),t.lineTo(e+r-a,n),t.quadraticCurveTo(e+r,n,e+r,n+a),t.lineTo(e+r,n+i-a),t.quadraticCurveTo(e+r,n+i,e+r-a,n+i),t.lineTo(e+a,n+i),t.quadraticCurveTo(e,n+i,e,n+i-a),t.lineTo(e,n+a),t.quadraticCurveTo(e,n,e+a,n),t.closePath(),s?t.stroke():t.fill()}qh.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(Ze(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e<t.pstyle("min-zoomed-font-size").pfValue)},qh.drawElementText=function(t,e,n,r,i){var a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=this;if(null==r){if(a&&!s.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var c=e.element()._private.rscratch.badLine,h=e.pstyle("label"),u=e.pstyle("source-label"),d=e.pstyle("target-label");if(c||(!h||!h.value)&&(!u||!u.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var p,g=!n;n&&(p=n,t.translate(-p.x1,-p.y1)),null==i?(s.drawText(t,e,null,g,a),e.isEdge()&&(s.drawText(t,e,"source",g,a),s.drawText(t,e,"target",g,a))):s.drawText(t,e,i,g,a),n&&t.translate(p.x1,p.y1)},qh.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((e=this.fontCaches[n]).context===t)return e;return e={context:t},this.fontCaches.push(e),e},qh.setupTextStyle=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,c=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=r+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,c[0],c[1],c[2],o),this.colorStrokeStyle(t,h[0],h[1],h[2],l)},qh.getTextAngle=function(t,e){var n,r=t._private.rscratch,i=e?e+"-":"",a=t.pstyle(i+"text-rotation");if("autorotate"===a.strValue){var s=ue(r,"labelAngle",e);n=t.isEdge()?s:0}else n="none"===a.strValue?0:a.pfValue;return n},qh.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=e._private.rscratch,s=i?e.effectiveOpacity():1;if(!i||0!==s&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var o,l,c=ue(a,"labelX",n),h=ue(a,"labelY",n),u=this.getLabelText(e,n);if(null!=u&&""!==u&&!isNaN(c)&&!isNaN(h)){this.setupTextStyle(t,e,i);var d,p=n?n+"-":"",g=ue(a,"labelWidth",n),f=ue(a,"labelHeight",n),m=e.pstyle(p+"text-margin-x").pfValue,y=e.pstyle(p+"text-margin-y").pfValue,v=e.isEdge(),x=e.pstyle("text-halign").value,b=e.pstyle("text-valign").value;switch(v&&(x="center",b="center"),c+=m,h+=y,0!==(d=r?this.getTextAngle(e,n):0)&&(o=c,l=h,t.translate(o,l),t.rotate(d),c=0,h=0),b){case"top":break;case"center":h+=f/2;break;case"bottom":h+=f}var w=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,T=e.pstyle("text-border-width").pfValue,_=e.pstyle("text-background-padding").pfValue,E=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||T>0&&k>0){var S=c-_;switch(x){case"left":S-=g;break;case"center":S-=g/2}var C=h-f-_,A=g+2*_,L=f+2*_;if(w>0){var M=t.fillStyle,N=e.pstyle("text-background-color").value;t.fillStyle="rgba("+N[0]+","+N[1]+","+N[2]+","+w*s+")",E?jh(t,S,C,A,L,2):t.fillRect(S,C,A,L),t.fillStyle=M}if(T>0&&k>0){var I=t.strokeStyle,R=t.lineWidth,D=e.pstyle("text-border-color").value,O=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+D[0]+","+D[1]+","+D[2]+","+k*s+")",t.lineWidth=T,t.setLineDash)switch(O){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=T/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(E?jh(t,S,C,A,L,2,"stroke"):t.strokeRect(S,C,A,L),"double"===O){var P=T/2;E?jh(t,S+P,C+P,A-2*P,L-2*P,2,"stroke"):t.strokeRect(S+P,C+P,A-2*P,L-2*P)}t.setLineDash&&t.setLineDash([]),t.lineWidth=R,t.strokeStyle=I}}var $=2*e.pstyle("text-outline-width").pfValue;if($>0&&(t.lineWidth=$),"wrap"===e.pstyle("text-wrap").value){var B=ue(a,"labelWrapCachedLines",n),F=ue(a,"labelLineHeight",n),W=g/2,z=this.getLabelJustification(e);switch("auto"===z||("left"===x?"left"===z?c+=-g:"center"===z&&(c+=-W):"center"===x?"left"===z?c+=-W:"right"===z&&(c+=W):"right"===x&&("center"===z?c+=W:"right"===z&&(c+=g))),b){case"top":case"center":case"bottom":h-=(B.length-1)*F}for(var Z=0;Z<B.length;Z++)$>0&&t.strokeText(B[Z],c,h),t.fillText(B[Z],c,h),h+=F}else $>0&&t.strokeText(u,c,h),t.fillText(u,c,h);0!==d&&(t.rotate(-d),t.translate(-o,-l))}}};var Hh={drawNode:function(t,e,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,c=e._private,h=c.rscratch,u=e.position();if(Q(u.x)&&Q(u.y)&&(!o||e.visible())){var d,p,g=o?e.effectiveOpacity():1,f=l.usePaths(),m=!1,y=e.padding();r=e.width()+2*y,i=e.height()+2*y,n&&(p=n,t.translate(-p.x1,-p.y1));for(var v=e.pstyle("background-image").value,x=new Array(v.length),b=new Array(v.length),w=0,k=0;k<v.length;k++){var T=v[k];if(x[k]=null!=T&&"none"!==T){var _=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",k);w++,b[k]=l.getCachedImage(T,_,(function(){c.backgroundTimestamp=Date.now(),e.emitAndNotify("background")}))}}var E=e.pstyle("background-blacken").value,S=e.pstyle("border-width").pfValue,C=e.pstyle("background-opacity").value*g,A=e.pstyle("border-color").value,L=e.pstyle("border-style").value,M=e.pstyle("border-join").value,N=e.pstyle("border-cap").value,I=e.pstyle("border-position").value,R=e.pstyle("border-dash-pattern").pfValue,D=e.pstyle("border-dash-offset").pfValue,O=e.pstyle("border-opacity").value*g,P=e.pstyle("outline-width").pfValue,$=e.pstyle("outline-color").value,B=e.pstyle("outline-style").value,F=e.pstyle("outline-opacity").value*g,W=e.pstyle("outline-offset").value,z=e.pstyle("corner-radius").value;"auto"!==z&&(z=e.pstyle("corner-radius").pfValue);var Z=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;l.eleFillStyle(t,e,n)},Y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;l.colorStrokeStyle(t,A[0],A[1],A[2],e)},U=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:F;l.colorStrokeStyle(t,$[0],$[1],$[2],e)},G=function(t,e,n,r){var i,a=l.nodePathCache=l.nodePathCache||[],s=Gt("polygon"===n?n+","+r.join(","):n,""+e,""+t,""+z),o=a[s],c=!1;return null!=o?(i=o,c=!0,h.pathCache=i):(i=new Path2D,a[s]=h.pathCache=i),{path:i,cacheHit:c}},V=e.pstyle("shape").strValue,q=e.pstyle("shape-polygon-points").pfValue;if(f){t.translate(u.x,u.y);var j=G(r,i,V,q);d=j.path,m=j.cacheHit}var H=function(){if(!m){var n=u;f&&(n={x:0,y:0}),l.nodeShapes[l.getNodeShape(e)].draw(d||t,n.x,n.y,r,i,z,h)}f?t.fill(d):t.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=c.backgrounding,a=0,s=0;s<b.length;s++){var o=e.cy().style().getIndexedStyle(e,"background-image-containment","value",s);r&&"over"===o||!r&&"inside"===o?a++:x[s]&&b[s].complete&&!b[s].error&&(a++,l.drawInscribedImage(t,b[s],e,s,n))}c.backgrounding=!(a===w),i!==c.backgrounding&&e.updateStyle(!1)},K=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;l.hasPie(e)&&(l.drawPie(t,e,a),n&&(f||l.nodeShapes[l.getNodeShape(e)].draw(t,u.x,u.y,r,i,z,h)))},J=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;l.hasStripe(e)&&(t.save(),f?t.clip(h.pathCache):(l.nodeShapes[l.getNodeShape(e)].draw(t,u.x,u.y,r,i,z,h),t.clip()),l.drawStripe(t,e,a),t.restore(),n&&(f||l.nodeShapes[l.getNodeShape(e)].draw(t,u.x,u.y,r,i,z,h)))},tt=function(){var e=(E>0?E:-E)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:g),n=E>0?0:255;0!==E&&(l.colorFillStyle(t,n,n,n,e),f?t.fill(d):t.fill())},et=function(){if(S>0){if(t.lineWidth=S,t.lineCap=N,t.lineJoin=M,t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(R),t.lineDashOffset=D;break;case"solid":case"double":t.setLineDash([])}if("center"!==I){if(t.save(),t.lineWidth*=2,"inside"===I)f?t.clip(d):t.clip();else{var e=new Path2D;e.rect(-r/2-S,-i/2-S,r+2*S,i+2*S),e.addPath(d),t.clip(e,"evenodd")}f?t.stroke(d):t.stroke(),t.restore()}else f?t.stroke(d):t.stroke();if("double"===L){t.lineWidth=S/3;var n=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",f?t.stroke(d):t.stroke(),t.globalCompositeOperation=n}t.setLineDash&&t.setLineDash([])}},nt=function(){if(P>0){if(t.lineWidth=P,t.lineCap="butt",t.setLineDash)switch(B){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=u;f&&(n={x:0,y:0});var a=l.getNodeShape(e),s=S;"inside"===I&&(s=0),"outside"===I&&(s*=2);var o,c=(r+s+(P+W))/r,h=(i+s+(P+W))/i,d=r*c,p=i*h,g=l.nodeShapes[a].points;if(f&&(o=G(d,p,a,g).path),"ellipse"===a)l.drawEllipsePath(o||t,n.x,n.y,d,p);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var m=0,y=0,v=0;"round-diamond"===a?m=1.4*(s+W+P):"round-heptagon"===a?(m=1.075*(s+W+P),v=-(s/2+W+P)/35):"round-hexagon"===a?m=1.12*(s+W+P):"round-pentagon"===a?(m=1.13*(s+W+P),v=-(s/2+W+P)/15):"round-tag"===a?(m=1.12*(s+W+P),y=.07*(s/2+P+W)):"round-triangle"===a&&(m=(s+W+P)*(Math.PI/2),v=-(s+W/2+P)/Math.PI),0!==m&&(d=r*(c=(r+m)/r),["round-hexagon","round-tag"].includes(a)||(p=i*(h=(i+m)/i)));for(var x=d/2,b=p/2,w=(z="auto"===z?_n(d,p):z)+(s+P+W)/2,k=new Array(g.length/2),T=new Array(g.length/2),_=0;_<g.length/2;_++)k[_]={x:n.x+y+x*g[2*_],y:n.y+v+b*g[2*_+1]};var E,C,A,L,M=k.length;for(C=k[M-1],E=0;E<M;E++)A=k[E%M],L=k[(E+1)%M],T[E]=Kc(C,A,L,w),C=A,A=L;l.drawRoundPolygonPath(o||t,n.x+y,n.y+v,r*c,i*h,g,T)}else["roundrectangle","round-rectangle"].includes(a)?(z="auto"===z?Tn(d,p):z,l.drawRoundRectanglePath(o||t,n.x,n.y,d,p,z+(s+P+W)/2)):["cutrectangle","cut-rectangle"].includes(a)?(z="auto"===z?8:z,l.drawCutRectanglePath(o||t,n.x,n.y,d,p,null,z+(s+P+W)/4)):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?(z="auto"===z?Tn(d,p):z,l.drawBottomRoundRectanglePath(o||t,n.x,n.y,d,p,z+(s+P+W)/2)):"barrel"===a?l.drawBarrelPath(o||t,n.x,n.y,d,p):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(g=dn(pn(g,(s+P+W)/r)),l.drawPolygonPath(o||t,n.x,n.y,r,i,g)):(g=dn(pn(g,-(s+P+W)/r)),l.drawPolygonPath(o||t,n.x,n.y,r,i,g));if(f?t.stroke(o):t.stroke(),"double"===B){t.lineWidth=s/3;var N=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",f?t.stroke(o):t.stroke(),t.globalCompositeOperation=N}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var rt=e.pstyle("ghost-offset-x").pfValue,it=e.pstyle("ghost-offset-y").pfValue,at=e.pstyle("ghost-opacity").value,st=at*g;t.translate(rt,it),U(),nt(),Z(at*C),H(),X(st,!0),Y(at*O),et(),K(0!==E||0!==S),J(0!==E||0!==S),X(st,!1),tt(st),t.translate(-rt,-it)}f&&t.translate(-u.x,-u.y),s&&l.drawNodeUnderlay(t,e,u,r,i),f&&t.translate(u.x,u.y),U(),nt(),Z(),H(),X(g,!0),Y(),et(),K(0!==E||0!==S),J(0!==E||0!==S),X(g,!1),tt(),f&&t.translate(-u.x,-u.y),l.drawElementText(t,e,null,a),s&&l.drawNodeOverlay(t,e,u,r,i),n&&t.translate(p.x1,p.y1)}}},Xh=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,a){if(n.visible()){var s=n.pstyle("".concat(t,"-padding")).pfValue,o=n.pstyle("".concat(t,"-opacity")).value,l=n.pstyle("".concat(t,"-color")).value,c=n.pstyle("".concat(t,"-shape")).value,h=n.pstyle("".concat(t,"-corner-radius")).value;if(o>0){if(r=r||n.position(),null==i||null==a){var u=n.padding();i=n.width()+2*u,a=n.height()+2*u}this.colorFillStyle(e,l[0],l[1],l[2],o),this.nodeShapes[c].draw(e,r.x,r.y,i+2*s,a+2*s,h),e.fill()}}}};Hh.drawNodeOverlay=Xh("overlay"),Hh.drawNodeUnderlay=Xh("underlay"),Hh.hasPie=function(t){return(t=t[0])._private.hasPie},Hh.hasStripe=function(t){return(t=t[0])._private.hasStripe},Hh.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i,a=e.cy().style(),s=e.pstyle("pie-size"),o=e.pstyle("pie-hole"),l=e.pstyle("pie-start-angle").pfValue,c=r.x,h=r.y,u=e.width(),d=e.height(),p=Math.min(u,d)/2,g=0;if(this.usePaths()&&(c=0,h=0),"%"===s.units?p*=s.pfValue:void 0!==s.pfValue&&(p=s.pfValue/2),"%"===o.units?i=p*o.pfValue:void 0!==o.pfValue&&(i=o.pfValue/2),!(i>=p))for(var f=1;f<=a.pieBackgroundN;f++){var m=e.pstyle("pie-"+f+"-background-size").value,y=e.pstyle("pie-"+f+"-background-color").value,v=e.pstyle("pie-"+f+"-background-opacity").value*n,x=m/100;x+g>1&&(x=1-g);var b=1.5*Math.PI+2*Math.PI*g,w=(b+=l)+2*Math.PI*x;0===m||g>=1||g+x>1||(0===i?(t.beginPath(),t.moveTo(c,h),t.arc(c,h,p,b,w),t.closePath()):(t.beginPath(),t.arc(c,h,p,b,w),t.arc(c,h,i,w,b,!0),t.closePath()),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),g+=x)}},Hh.drawStripe=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),a=r.x,s=r.y,o=e.width(),l=e.height(),c=0,h=this.usePaths();t.save();var u=e.pstyle("stripe-direction").value,d=e.pstyle("stripe-size");switch(u){case"vertical":break;case"righward":t.rotate(-Math.PI/2)}var p=o,g=l;"%"===d.units?(p*=d.pfValue,g*=d.pfValue):void 0!==d.pfValue&&(p=d.pfValue,g=d.pfValue),h&&(a=0,s=0),s-=p/2,a-=g/2;for(var f=1;f<=i.stripeBackgroundN;f++){var m=e.pstyle("stripe-"+f+"-background-size").value,y=e.pstyle("stripe-"+f+"-background-color").value,v=e.pstyle("stripe-"+f+"-background-opacity").value*n,x=m/100;x+c>1&&(x=1-c),0===m||c>=1||c+x>1||(t.beginPath(),t.rect(a,s+g*c,p,g*x),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),c+=x)}t.restore()};var Kh,Qh={};function Jh(t,e,n){var r=t.createShader(e);if(t.shaderSource(r,n),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(r));return r}function tu(t,e,n){void 0===n&&(n=e);var r=t.makeOffscreenCanvas(e,n),i=r.context=r.getContext("2d");return r.clear=function(){return i.clearRect(0,0,r.width,r.height)},r.clear(),r}function eu(t){var e=t.pixelRatio,n=t.cy.zoom(),r=t.cy.pan();return{zoom:n*e,pan:{x:r.x*e,y:r.y*e}}}function nu(t){return"solid"===t.pstyle("background-fill").value&&"none"===t.pstyle("background-image").strValue&&(0===t.pstyle("border-width").value||0===t.pstyle("border-opacity").value||"solid"===t.pstyle("border-style").value)}function ru(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function iu(t,e,n){var r=t[0]/255,i=t[1]/255,a=t[2]/255,s=e,o=n||new Array(4);return o[0]=r*s,o[1]=i*s,o[2]=a*s,o[3]=s,o}function au(t,e){var n=e||new Array(4);return n[0]=(t>>0&255)/255,n[1]=(t>>8&255)/255,n[2]=(t>>16&255)/255,n[3]=(t>>24&255)/255,n}function su(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function ou(t,e,n){switch(e){case t.FLOAT:return new Float32Array(n);case t.INT:return new Int32Array(n)}}function lu(t,e,n,r,i,a){switch(e){case t.FLOAT:return new Float32Array(n.buffer,a*r,i);case t.INT:return new Int32Array(n.buffer,a*r,i)}}function cu(t,e,n,r){var i=l(su(t,n),3),a=i[0],s=i[1],o=i[2],c=ou(t,s,e*a),h=a*o,u=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,e*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(r),s===t.FLOAT?t.vertexAttribPointer(r,a,s,!1,h,0):s===t.INT&&t.vertexAttribIPointer(r,a,s,h,0),t.vertexAttribDivisor(r,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var d=new Array(e),p=0;p<e;p++)d[p]=lu(t,s,c,h,a,p);return u.dataArray=c,u.stride=h,u.size=a,u.getView=function(t){return d[t]},u.setPoint=function(t,e,n){var r=d[t];r[0]=e,r[1]=n},u.bufferSubData=function(e){t.bindBuffer(t.ARRAY_BUFFER,u),e?t.bufferSubData(t.ARRAY_BUFFER,0,c,0,e*a):t.bufferSubData(t.ARRAY_BUFFER,0,c)},u}Qh.getPixelRatio=function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=this.cy.window(),n=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/n},Qh.paintCache=function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((e=n[i]).context===t){r=!1;break}return r&&(e={context:t},n.push(e)),e},Qh.createGradientStyleFor=function(t,e,n,r,i){var a,s=this.usePaths(),o=n.pstyle(e+"-gradient-stop-colors").value,l=n.pstyle(e+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var c=n.sourceEndpoint(),h=n.targetEndpoint(),u=n.midpoint(),d=Ue(c,u),p=Ue(h,u);a=t.createRadialGradient(u.x,u.y,0,u.x,u.y,Math.max(d,p))}else{var g=s?{x:0,y:0}:n.position(),f=n.paddedWidth(),m=n.paddedHeight();a=t.createRadialGradient(g.x,g.y,0,g.x,g.y,Math.max(f,m))}else if(n.isEdge()){var y=n.sourceEndpoint(),v=n.targetEndpoint();a=t.createLinearGradient(y.x,y.y,v.x,v.y)}else{var x=s?{x:0,y:0}:n.position(),b=n.paddedWidth()/2,w=n.paddedHeight()/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":a=t.createLinearGradient(x.x,x.y-w,x.x,x.y+w);break;case"to-top":a=t.createLinearGradient(x.x,x.y+w,x.x,x.y-w);break;case"to-left":a=t.createLinearGradient(x.x+b,x.y,x.x-b,x.y);break;case"to-right":a=t.createLinearGradient(x.x-b,x.y,x.x+b,x.y);break;case"to-bottom-right":case"to-right-bottom":a=t.createLinearGradient(x.x-b,x.y-w,x.x+b,x.y+w);break;case"to-top-right":case"to-right-top":a=t.createLinearGradient(x.x-b,x.y+w,x.x+b,x.y-w);break;case"to-bottom-left":case"to-left-bottom":a=t.createLinearGradient(x.x+b,x.y-w,x.x-b,x.y+w);break;case"to-top-left":case"to-left-top":a=t.createLinearGradient(x.x+b,x.y+w,x.x-b,x.y-w)}}if(!a)return null;for(var k=l.length===o.length,T=o.length,_=0;_<T;_++)a.addColorStop(k?l[_]:_/(T-1),"rgba("+o[_][0]+","+o[_][1]+","+o[_][2]+","+i+")");return a},Qh.gradientFillStyle=function(t,e,n,r){var i=this.createGradientStyleFor(t,"background",e,n,r);if(!i)return null;t.fillStyle=i},Qh.colorFillStyle=function(t,e,n,r,i){t.fillStyle="rgba("+e+","+n+","+r+","+i+")"},Qh.eleFillStyle=function(t,e,n){var r=e.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(t,e,r,n);else{var i=e.pstyle("background-color").value;this.colorFillStyle(t,i[0],i[1],i[2],n)}},Qh.gradientStrokeStyle=function(t,e,n,r){var i=this.createGradientStyleFor(t,"line",e,n,r);if(!i)return null;t.strokeStyle=i},Qh.colorStrokeStyle=function(t,e,n,r,i){t.strokeStyle="rgba("+e+","+n+","+r+","+i+")"},Qh.eleStrokeStyle=function(t,e,n){var r=e.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(t,e,r,n);else{var i=e.pstyle("line-color").value;this.colorStrokeStyle(t,i[0],i[1],i[2],n)}},Qh.matchCanvasSize=function(t){var e=this,n=e.data,r=e.findContainerClientCoords(),i=r[2],a=r[3],s=e.getPixelRatio(),o=e.motionBlurPxRatio;t!==e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]&&t!==e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG]||(s=o);var l,c=i*s,h=a*s;if(c!==e.canvasWidth||h!==e.canvasHeight){e.fontCaches=null;var u=n.canvasContainer;u.style.width=i+"px",u.style.height=a+"px";for(var d=0;d<e.CANVAS_LAYERS;d++)(l=n.canvases[d]).width=c,l.height=h,l.style.width=i+"px",l.style.height=a+"px";for(d=0;d<e.BUFFER_COUNT;d++)(l=n.bufferCanvases[d]).width=c,l.height=h,l.style.width=i+"px",l.style.height=a+"px";e.textureMult=1,s<=1&&(l=n.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,l.width=c*e.textureMult,l.height=h*e.textureMult),e.canvasWidth=c,e.canvasHeight=h,e.pixelRatio=s}},Qh.renderTo=function(t,e,n,r){this.render({forcedContext:t,forcedZoom:e,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},Qh.clearCanvas=function(){var t=this,e=t.data;function n(e){e.clearRect(0,0,t.canvasWidth,t.canvasHeight)}n(e.contexts[t.NODE]),n(e.contexts[t.DRAG])},Qh.render=function(t){var e=this;t=t||oe();var n=e.cy,r=t.forcedContext,i=t.drawAllLayers,a=t.drawOnlyNodeLayer,s=t.forcedZoom,o=t.forcedPan,l=void 0===t.forcedPxRatio?this.getPixelRatio():t.forcedPxRatio,c=e.data,h=c.canvasNeedsRedraw,u=e.textureOnViewport&&!r&&(e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming),d=void 0!==t.motionBlur?t.motionBlur:e.motionBlur,p=e.motionBlurPxRatio,g=n.hasCompoundNodes(),f=e.hoverData.draggingEles,m=!(!e.hoverData.selecting&&!e.touchData.selecting),y=d=d&&!r&&e.motionBlurEnabled&&!m;r||(e.prevPxRatio!==l&&(e.invalidateContainerClientCoordsCache(),e.matchCanvasSize(e.container),e.redrawHint("eles",!0),e.redrawHint("drag",!0)),e.prevPxRatio=l),!r&&e.motionBlurTimeout&&clearTimeout(e.motionBlurTimeout),d&&(null==e.mbFrames&&(e.mbFrames=0),e.mbFrames++,e.mbFrames<3&&(y=!1),e.mbFrames>e.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!u&&(h[e.NODE]=!0,h[e.SELECT_BOX]=!0);var v=n.style(),x=n.zoom(),b=void 0!==s?s:x,w=n.pan(),k={x:w.x,y:w.y},T={zoom:x,pan:{x:w.x,y:w.y}},_=e.prevViewport;void 0===_||T.zoom!==_.zoom||T.pan.x!==_.pan.x||T.pan.y!==_.pan.y||f&&!g||(e.motionBlurPxRatio=1),o&&(k=o),b*=l,k.x*=l,k.y*=l;var E=e.getCachedZSortedEles();function S(t,n,r,i,a){var s=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",e.colorFillStyle(t,255,255,255,e.motionBlurTransparency),t.fillRect(n,r,i,a),t.globalCompositeOperation=s}function C(t,n){var a,l,h,u;e.clearingMotionBlur||t!==c.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]&&t!==c.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]?(a=k,l=b,h=e.canvasWidth,u=e.canvasHeight):(a={x:w.x*p,y:w.y*p},l=x*p,h=e.canvasWidth*p,u=e.canvasHeight*p),t.setTransform(1,0,0,1,0,0),"motionBlur"===n?S(t,0,0,h,u):r||void 0!==n&&!n||t.clearRect(0,0,h,u),i||(t.translate(a.x,a.y),t.scale(l,l)),o&&t.translate(o.x,o.y),s&&t.scale(s,s)}if(u||(e.textureDrawLastFrame=!1),u){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=n.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var A=e.data.bufferContexts[e.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult}),(T=e.textureCache.viewport={zoom:n.zoom(),pan:n.pan(),width:e.canvasWidth,height:e.canvasHeight}).mpan={x:(0-T.pan.x)/T.zoom,y:(0-T.pan.y)/T.zoom}}h[e.DRAG]=!1,h[e.NODE]=!1;var L=c.contexts[e.NODE],M=e.textureCache.texture;T=e.textureCache.viewport,L.setTransform(1,0,0,1,0,0),d?S(L,0,0,T.width,T.height):L.clearRect(0,0,T.width,T.height);var N=v.core("outside-texture-bg-color").value,I=v.core("outside-texture-bg-opacity").value;e.colorFillStyle(L,N[0],N[1],N[2],I),L.fillRect(0,0,T.width,T.height),x=n.zoom(),C(L,!1),L.clearRect(T.mpan.x,T.mpan.y,T.width/T.zoom/l,T.height/T.zoom/l),L.drawImage(M,T.mpan.x,T.mpan.y,T.width/T.zoom/l,T.height/T.zoom/l)}else e.textureOnViewport&&!r&&(e.textureCache=null);var R=n.extent(),D=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),O=e.hideEdgesOnViewport&&D,P=[];if(P[e.NODE]=!h[e.NODE]&&d&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,P[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),P[e.DRAG]=!h[e.DRAG]&&d&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,P[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),h[e.NODE]||i||a||P[e.NODE]){var $=d&&!P[e.NODE]&&1!==p;C(L=r||($?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:c.contexts[e.NODE]),d&&!$?"motionBlur":void 0),O?e.drawCachedNodes(L,E.nondrag,l,R):e.drawLayeredElements(L,E.nondrag,l,R),e.debug&&e.drawDebugPoints(L,E.nondrag),i||d||(h[e.NODE]=!1)}if(!a&&(h[e.DRAG]||i||P[e.DRAG])&&($=d&&!P[e.DRAG]&&1!==p,C(L=r||($?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:c.contexts[e.DRAG]),d&&!$?"motionBlur":void 0),O?e.drawCachedNodes(L,E.drag,l,R):e.drawCachedElements(L,E.drag,l,R),e.debug&&e.drawDebugPoints(L,E.drag),i||d||(h[e.DRAG]=!1)),this.drawSelectionRectangle(t,C),d&&1!==p){var B=c.contexts[e.NODE],F=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],W=c.contexts[e.DRAG],z=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],Z=function(t,n,r){t.setTransform(1,0,0,1,0,0),r||!y?t.clearRect(0,0,e.canvasWidth,e.canvasHeight):S(t,0,0,e.canvasWidth,e.canvasHeight);var i=p;t.drawImage(n,0,0,e.canvasWidth*i,e.canvasHeight*i,0,0,e.canvasWidth,e.canvasHeight)};(h[e.NODE]||P[e.NODE])&&(Z(B,F,P[e.NODE]),h[e.NODE]=!1),(h[e.DRAG]||P[e.DRAG])&&(Z(W,z,P[e.DRAG]),h[e.DRAG]=!1)}e.prevViewport=T,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),d&&(e.motionBlurTimeout=setTimeout((function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!u,e.mbFrames=0,h[e.NODE]=!0,h[e.DRAG]=!0,e.redraw()}),100)),r||n.emit("render")},Qh.drawSelectionRectangle=function(t,e){var n=this,r=n.cy,i=n.data,a=r.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,c=t.forcedContext;if(n.showFps||!s&&l[n.SELECT_BOX]&&!o){var h=c||i.contexts[n.SELECT_BOX];if(e(h),1==n.selection[4]&&(n.hoverData.selecting||n.touchData.selecting)){var u=n.cy.zoom(),d=a.core("selection-box-border-width").value/u;h.lineWidth=d,h.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",h.fillRect(n.selection[0],n.selection[1],n.selection[2]-n.selection[0],n.selection[3]-n.selection[1]),d>0&&(h.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",h.strokeRect(n.selection[0],n.selection[1],n.selection[2]-n.selection[0],n.selection[3]-n.selection[1]))}if(i.bgActivePosistion&&!n.hoverData.selecting){u=n.cy.zoom();var p=i.bgActivePosistion;h.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",h.beginPath(),h.arc(p.x,p.y,a.core("active-bg-size").pfValue/u,0,2*Math.PI),h.fill()}var g=n.lastRedrawTime;if(n.showFps&&g){g=Math.round(g);var f=Math.round(1e3/g),m="1 frame = "+g+" ms = "+f+" fps";if(h.setTransform(1,0,0,1,0,0),h.fillStyle="rgba(255, 0, 0, 0.75)",h.strokeStyle="rgba(255, 0, 0, 0.75)",h.font="30px Arial",!Kh){var y=h.measureText(m);Kh=y.actualBoundingBoxAscent}h.fillText(m,0,Kh),h.strokeRect(0,Kh+10,250,20),h.fillRect(0,Kh+10,250*Math.min(f/60,1),20)}o||(l[n.SELECT_BOX]=!1)}};var hu="undefined"!=typeof Float32Array?Float32Array:Array;function uu(){var t=new hu(9);return hu!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function du(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function pu(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],u=e[8],d=n[0],p=n[1];return t[0]=r,t[1]=i,t[2]=a,t[3]=s,t[4]=o,t[5]=l,t[6]=d*r+p*s+c,t[7]=d*i+p*o+h,t[8]=d*a+p*l+u,t}function gu(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],u=e[8],d=Math.sin(n),p=Math.cos(n);return t[0]=p*r+d*s,t[1]=p*i+d*o,t[2]=p*a+d*l,t[3]=p*s-d*r,t[4]=p*o-d*i,t[5]=p*l-d*a,t[6]=c,t[7]=h,t[8]=u,t}function fu(t,e,n){var r=n[0],i=n[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var mu=function(){return a((function t(e,n,r,a){i(this,t),this.debugID=Math.floor(1e4*Math.random()),this.r=e,this.texSize=n,this.texRows=r,this.texHeight=Math.floor(n/r),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=a(e,n,n),this.scratch=a(e,n,this.texHeight,"scratch")}),[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(t){var e=t.w,n=t.h,r=this.texHeight,i=this.texSize,a=r/n,s=e*a,o=n*a;return s>i&&(s=e*(a=i/e),o=n*a),{scale:a,texW:s,texH:o}}},{key:"draw",value:function(t,e,n){var r=this;if(this.locked)throw new Error("can't draw, atlas is locked");var i=this.texSize,a=this.texRows,s=this.texHeight,o=this.getScale(e),l=o.scale,c=o.texW,h=o.texH,u=function(t,r){if(n&&r){var i=r.context,a=t.x,o=t.row,c=a,h=s*o;i.save(),i.translate(c,h),i.scale(l,l),n(i,e),i.restore()}},d=[null,null],p=function(){u(r.freePointer,r.canvas),d[0]={x:r.freePointer.x,y:r.freePointer.row*s,w:c,h},d[1]={x:r.freePointer.x+c,y:r.freePointer.row*s,w:0,h},r.freePointer.x+=c,r.freePointer.x==i&&(r.freePointer.x=0,r.freePointer.row++)},g=function(){r.freePointer.x=0,r.freePointer.row++};if(this.freePointer.x+c<=i)p();else{if(this.freePointer.row>=a-1)return!1;this.freePointer.x===i?(g(),p()):this.enableWrapping?function(){var t=r.scratch,e=r.canvas;t.clear(),u({x:0,row:0},t);var n=i-r.freePointer.x,a=c-n,o=s,l=r.freePointer.x,p=r.freePointer.row*s,g=n;e.context.drawImage(t,0,0,g,o,l,p,g,o),d[0]={x:l,y:p,w:g,h};var f=n,m=(r.freePointer.row+1)*s,y=a;e&&e.context.drawImage(t,f,0,y,o,0,m,y,o),d[1]={x:0,y:m,w:y,h},r.freePointer.x=a,r.freePointer.row++}():(g(),p())}return this.keyToLocation.set(t,d),this.needsBuffer=!0,d}},{key:"getOffsets",value:function(t){return this.keyToLocation.get(t)}},{key:"isEmpty",value:function(){return 0===this.freePointer.x&&0===this.freePointer.row}},{key:"canFit",value:function(t){if(this.locked)return!1;var e=this.texSize,n=this.texRows,r=this.getScale(t).texW;return!(this.freePointer.x+r>e)||this.freePointer.row<n-1}},{key:"bufferIfNeeded",value:function(t){this.texture||(this.texture=function(t,e){var n=t.createTexture();return n.buffer=function(e){t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},n.deleteTexture=function(){t.deleteTexture(n)},n}(t,this.debugID)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}])}(),yu=function(){return a((function t(e,n,r,a){i(this,t),this.r=e,this.texSize=n,this.texRows=r,this.createTextureCanvas=a,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set}),[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){var t=this.r,e=this.texSize,n=this.texRows,r=this.createTextureCanvas;return new mu(t,e,n,r)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var t=this.r,e=this.texSize,n=this.texRows,r=this.createTextureCanvas,i=Math.floor(e/n);this.scratch=r(t,e,i,"scratch")}return this.scratch}},{key:"draw",value:function(t,e,n){var r=this.styleKeyToAtlas.get(t);return r||((r=this.atlases[this.atlases.length-1])&&r.canFit(e)||(r&&r.lock(),r=this._createAtlas(),this.atlases.push(r)),r.draw(t,e,n),this.styleKeyToAtlas.set(t,r)),r}},{key:"getAtlas",value:function(t){return this.styleKeyToAtlas.get(t)}},{key:"hasAtlas",value:function(t){return this.styleKeyToAtlas.has(t)}},{key:"markKeyForGC",value:function(t){this.markedKeys.add(t)}},{key:"gc",value:function(){var t=this,e=this.markedKeys;if(0!==e.size){var n,r=[],i=new Map,a=null,o=s(this.atlases);try{var h=function(){var o,h,u=n.value,d=u.getKeys(),p=(h=d,(o=e).intersection?o.intersection(h):new Set(c(o).filter((function(t){return h.has(t)}))));if(0===p.size)return r.push(u),d.forEach((function(t){return i.set(t,u)})),1;a||(a=t._createAtlas(),r.push(a));var g,f=s(d);try{for(f.s();!(g=f.n()).done;){var m=g.value;if(!p.has(m)){var y=l(u.getOffsets(m),2),v=y[0],x=y[1];a.canFit({w:v.w+x.w,h:v.h})||(a.lock(),a=t._createAtlas(),r.push(a)),u.canvas&&(t._copyTextureToNewAtlas(m,u,a),i.set(m,a))}}}catch(t){f.e(t)}finally{f.f()}u.dispose()};for(o.s();!(n=o.n()).done;)h()}catch(t){o.e(t)}finally{o.f()}this.atlases=r,this.styleKeyToAtlas=i,this.markedKeys=new Set}else console.log("nothing to garbage collect")}},{key:"_copyTextureToNewAtlas",value:function(t,e,n){var r=l(e.getOffsets(t),2),i=r[0],a=r[1];if(0===a.w)n.draw(t,i,(function(t){t.drawImage(e.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h)}));else{var s=this._getScratchCanvas();s.clear(),s.context.drawImage(e.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h),s.context.drawImage(e.canvas,a.x,a.y,a.w,a.h,i.w,0,a.w,a.h);var o=i.w+a.w,c=i.h;n.draw(t,{w:o,h:c},(function(t){t.drawImage(s,0,0,o,c,0,0,o,c)}))}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}])}(),vu=function(){return a((function t(e,n){i(this,t),this.r=e,this.globalOptions=n,this.atlasSize=n.webglTexSize,this.maxAtlasesPerBatch=n.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map}),[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(t,e){var n=this.globalOptions,r=n.webglTexSize,i=n.createTextureCanvas,a=e.texRows,s=this._cacheScratchCanvas(i),o=new yu(this.r,r,a,s);this.collections.set(t,o)}},{key:"addRenderType",value:function(t,e){var n=e.collection;if(!this.collections.has(n))throw new Error("invalid atlas collection name '".concat(n,"'"));var r=this.collections.get(n),i=vt({type:t,atlasCollection:r},e);this.renderTypes.set(t,i)}},{key:"getRenderTypeOpts",value:function(t){return this.renderTypes.get(t)}},{key:"getAtlasCollection",value:function(t){return this.collections.get(t)}},{key:"_cacheScratchCanvas",value:function(t){var e=-1,n=-1,r=null;return function(i,a,s,o){return o?(r&&a==e&&s==n||(e=a,n=s,r=t(i,a,s)),r):t(i,a,s)}}},{key:"_key",value:function(t,e){return"".concat(t,"-").concat(e)}},{key:"invalidate",value:function(t){var e,n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.forceRedraw,a=void 0!==i&&i,o=r.filterEle,l=void 0===o?function(){return!0}:o,c=r.filterType,h=void 0===c?function(){return!0}:c,u=!1,d=!1,p=s(t);try{for(p.s();!(e=p.n()).done;){var g=e.value;if(l(g)){var f,m=s(this.renderTypes.values());try{var y=function(){var t=f.value,e=t.type;if(h(e)){var r=n.collections.get(t.collection),i=t.getKey(g),s=Array.isArray(i)?i:[i];if(a)s.forEach((function(t){return r.markKeyForGC(t)})),d=!0;else{var o=t.getID?t.getID(g):g.id(),l=n._key(e,o),c=n.typeAndIdToKey.get(l);void 0===c||ru(s,c)||(u=!0,n.typeAndIdToKey.delete(l),c.forEach((function(t){return r.markKeyForGC(t)})))}}};for(m.s();!(f=m.n()).done;)y()}catch(t){m.e(t)}finally{m.f()}}}}catch(t){p.e(t)}finally{p.f()}return d&&(this.gc(),u=!1),u}},{key:"gc",value:function(){var t,e=s(this.collections.values());try{for(e.s();!(t=e.n()).done;)t.value.gc()}catch(t){e.e(t)}finally{e.f()}}},{key:"getOrCreateAtlas",value:function(t,e,n,r){var i=this.renderTypes.get(e),a=this.collections.get(i.collection),s=!1,o=a.draw(r,n,(function(e){i.drawClipped?(e.save(),e.beginPath(),e.rect(0,0,n.w,n.h),e.clip(),i.drawElement(e,t,n,!0,!0),e.restore()):i.drawElement(e,t,n,!0,!0),s=!0}));if(s){var l=i.getID?i.getID(t):t.id(),c=this._key(e,l);this.typeAndIdToKey.has(c)?this.typeAndIdToKey.get(c).push(r):this.typeAndIdToKey.set(c,[r])}return o}},{key:"getAtlasInfo",value:function(t,e){var n=this,r=this.renderTypes.get(e),i=r.getKey(t);return(Array.isArray(i)?i:[i]).map((function(i){var a=r.getBoundingBox(t,i),s=n.getOrCreateAtlas(t,e,a,i),o=l(s.getOffsets(i),2),c=o[0];return{atlas:s,tex:c,tex1:c,tex2:o[1],bb:a}}))}},{key:"getDebugInfo",value:function(){var t,e=[],n=s(this.collections);try{for(n.s();!(t=n.n()).done;){var r=l(t.value,2),i=r[0],a=r[1].getCounts(),o=a.keyCount,c=a.atlasCount;e.push({type:i,keyCount:o,atlasCount:c})}}catch(t){n.e(t)}finally{n.f()}return e}}])}(),xu=function(){return a((function t(e){i(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}),[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},(function(t,e){return e}))}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(t){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(t)}},{key:"getAtlasIndexForBatch",value:function(t){var e=this.batchAtlases.indexOf(t);if(e<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(t),e=this.batchAtlases.length-1}return e}}])}(),bu={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},wu=function(){return a((function t(e,n,r){i(this,t),this.r=e,this.gl=n,this.maxInstances=r.webglBatchSize,this.atlasSize=r.webglTexSize,this.bgColor=r.bgColor,this.debug=r.webglDebug,this.batchDebugInfo=[],r.enableWrapping=!0,r.createTextureCanvas=tu,this.atlasManager=new vu(e,r),this.batchManager=new xu(r),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(bu.SCREEN),this.pickingProgram=this._createShaderProgram(bu.PICKING),this.vao=this._createVAO()}),[{key:"addAtlasCollection",value:function(t,e){this.atlasManager.addAtlasCollection(t,e)}},{key:"addTextureAtlasRenderType",value:function(t,e){this.atlasManager.addRenderType(t,e)}},{key:"addSimpleShapeRenderType",value:function(t,e){this.simpleShapeOptions.set(t,e)}},{key:"invalidate",value:function(t){var e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).type,n=this.atlasManager;return e?n.invalidate(t,{filterType:function(t){return t===e},forceRedraw:!0}):n.invalidate(t)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(t){var e=this.gl,n="#version 300 es\n precision highp float;\n\n uniform mat3 uPanZoomMatrix;\n uniform int uAtlasSize;\n \n // instanced\n in vec2 aPosition; // a vertex from the unit square\n \n in mat3 aTransform; // used to transform verticies, eg into a bounding box\n in int aVertType; // the type of thing we are rendering\n\n // the z-index that is output when using picking mode\n in vec4 aIndex;\n \n // For textures\n in int aAtlasId; // which shader unit/atlas to use\n in vec4 aTex; // x/y/w/h of texture in atlas\n\n // for edges\n in vec4 aPointAPointB;\n in vec4 aPointCPointD;\n in vec2 aLineWidth; // also used for node border width\n\n // simple shapes\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n in vec4 aColor; // also used for edges\n in vec4 aBorderColor; // aLineWidth is used for border width\n\n // output values passed to the fragment shader\n out vec2 vTexCoord;\n out vec4 vColor;\n out vec2 vPosition;\n // flat values are not interpolated\n flat out int vAtlasId; \n flat out int vVertType;\n flat out vec2 vTopRight;\n flat out vec2 vBotLeft;\n flat out vec4 vCornerRadius;\n flat out vec4 vBorderColor;\n flat out vec2 vBorderWidth;\n flat out vec4 vIndex;\n \n void main(void) {\n int vid = gl_VertexID;\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n if(aVertType == ".concat(0,") {\n float texX = aTex.x; // texture coordinates\n float texY = aTex.y;\n float texW = aTex.z;\n float texH = aTex.w;\n\n if(vid == 1 || vid == 2 || vid == 4) {\n texX += texW;\n }\n if(vid == 2 || vid == 4 || vid == 5) {\n texY += texH;\n }\n\n float d = float(uAtlasSize);\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(4," || aVertType == ").concat(7," \n || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n // the bounding box is needed by the fragment shader\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n // calculations are done in the fragment shader, just pass these along\n vColor = aColor;\n vCornerRadius = aCornerRadius;\n vBorderColor = aBorderColor;\n vBorderWidth = aLineWidth;\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(1,") {\n vec2 source = aPointAPointB.xy;\n vec2 target = aPointAPointB.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n // stretch the unit square into a long skinny rectangle\n vec2 xBasis = target - source;\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n vColor = aColor;\n } \n else if(aVertType == ").concat(2,") {\n vec2 pointA = aPointAPointB.xy;\n vec2 pointB = aPointAPointB.zw;\n vec2 pointC = aPointCPointD.xy;\n vec2 pointD = aPointCPointD.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n vec2 p0, p1, p2, pos;\n if(position.x == 0.0) { // The left side of the unit square\n p0 = pointA;\n p1 = pointB;\n p2 = pointC;\n pos = position;\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\n p0 = pointD;\n p1 = pointC;\n p2 = pointB;\n pos = vec2(0.0, -position.y);\n }\n\n vec2 p01 = p1 - p0;\n vec2 p12 = p2 - p1;\n vec2 p21 = p1 - p2;\n\n // Find the normal vector.\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n // Find the vector perpendicular to p0 -> p1.\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n // Determine the bend direction.\n float sigma = sign(dot(p01 + p21, normal));\n float width = aLineWidth[0];\n\n if(sign(pos.y) == -sigma) {\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n } else {\n // This is a non-intersecting vertex. Treat it like a mitre join.\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n }\n\n vColor = aColor;\n } \n else if(aVertType == ").concat(3," && vid < 3) {\n // massage the first triangle into an edge arrow\n if(vid == 0)\n position = vec2(-0.15, -0.3);\n if(vid == 1)\n position = vec2( 0.0, 0.0);\n if(vid == 2)\n position = vec2( 0.15, -0.3);\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n vColor = aColor;\n }\n else {\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n }\n\n vAtlasId = aAtlasId;\n vVertType = aVertType;\n vIndex = aIndex;\n }\n "),r=this.batchManager.getIndexArray(),i="#version 300 es\n precision highp float;\n\n // declare texture unit for each texture atlas in the batch\n ".concat(r.map((function(t){return"uniform sampler2D uTexture".concat(t,";")})).join("\n\t"),"\n\n uniform vec4 uBGColor;\n uniform float uZoom;\n\n in vec2 vTexCoord;\n in vec4 vColor;\n in vec2 vPosition; // model coordinates\n\n flat in int vAtlasId;\n flat in vec4 vIndex;\n flat in int vVertType;\n flat in vec2 vTopRight;\n flat in vec2 vBotLeft;\n flat in vec4 vCornerRadius;\n flat in vec4 vBorderColor;\n flat in vec2 vBorderWidth;\n\n out vec4 outColor;\n\n ").concat("\n float circleSD(vec2 p, float r) {\n return distance(vec2(0), p) - r; // signed distance\n }\n","\n ").concat("\n float rectangleSD(vec2 p, vec2 b) {\n vec2 d = abs(p)-b;\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n }\n","\n ").concat("\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\n vec2 q = abs(p) - b + cr.x;\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n }\n","\n ").concat("\n float ellipseSD(vec2 p, vec2 ab) {\n p = abs( p ); // symmetry\n\n // find root with Newton solver\n vec2 q = ab*(p-ab);\n float w = (q.x<q.y)? 1.570796327 : 0.0;\n for( int i=0; i<5; i++ ) {\n vec2 cs = vec2(cos(w),sin(w));\n vec2 u = ab*vec2( cs.x,cs.y);\n vec2 v = ab*vec2(-cs.y,cs.x);\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n }\n \n // compute final point and distance\n float d = length(p-ab*vec2(cos(w),sin(w)));\n \n // return signed distance\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\n }\n","\n\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n return vec4( \n top.rgb + (bot.rgb * (1.0 - top.a)),\n top.a + (bot.a * (1.0 - top.a)) \n );\n }\n\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n // scale to the zoom level so that borders don't look blurry when zoomed in\n // note 1.5 is an aribitrary value chosen because it looks good\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \n }\n\n void main(void) {\n if(vVertType == ").concat(0,") {\n // look up the texel from the texture unit\n ").concat(r.map((function(t){return"if(vAtlasId == ".concat(t,") outColor = texture(uTexture").concat(t,", vTexCoord);")})).join("\n\telse "),"\n } \n else if(vVertType == ").concat(3,") {\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n outColor = blend(vColor, uBGColor);\n outColor.a = 1.0; // make opaque, masks out line under arrow\n }\n else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n }\n else if(vVertType == ").concat(4," || vVertType == ").concat(7," \n || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n float outerBorder = vBorderWidth[0];\n float innerBorder = vBorderWidth[1];\n float borderPadding = outerBorder * 2.0;\n float w = vTopRight.x - vBotLeft.x - borderPadding;\n float h = vTopRight.y - vBotLeft.y - borderPadding;\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n float d; // signed distance\n if(vVertType == ").concat(4,") {\n d = rectangleSD(p, b);\n } else if(vVertType == ").concat(7," && w == h) {\n d = circleSD(p, b.x); // faster than ellipse\n } else if(vVertType == ").concat(7,") {\n d = ellipseSD(p, b);\n } else {\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n }\n\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n if(d > 0.0) {\n if(d > outerBorder) {\n discard;\n } else {\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n }\n } else {\n if(d > innerBorder) {\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n vec4 innerBorderColor = blend(vBorderColor, vColor);\n outColor = distInterp(innerBorderColor, outerColor, d);\n } \n else {\n vec4 outerColor;\n if(innerBorder == 0.0 && outerBorder == 0.0) {\n outerColor = vec4(0);\n } else if(innerBorder == 0.0) {\n outerColor = vBorderColor;\n } else {\n outerColor = blend(vBorderColor, vColor);\n }\n outColor = distInterp(vColor, outerColor, d - innerBorder);\n }\n }\n }\n else {\n outColor = vColor;\n }\n\n ").concat(t.picking?"if(outColor.a == 0.0) discard;\n else outColor = vIndex;":"","\n }\n "),a=function(t,e,n){var r=Jh(t,t.VERTEX_SHADER,e),i=Jh(t,t.FRAGMENT_SHADER,n),a=t.createProgram();if(t.attachShader(a,r),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}(e,n,i);a.aPosition=e.getAttribLocation(a,"aPosition"),a.aIndex=e.getAttribLocation(a,"aIndex"),a.aVertType=e.getAttribLocation(a,"aVertType"),a.aTransform=e.getAttribLocation(a,"aTransform"),a.aAtlasId=e.getAttribLocation(a,"aAtlasId"),a.aTex=e.getAttribLocation(a,"aTex"),a.aPointAPointB=e.getAttribLocation(a,"aPointAPointB"),a.aPointCPointD=e.getAttribLocation(a,"aPointCPointD"),a.aLineWidth=e.getAttribLocation(a,"aLineWidth"),a.aColor=e.getAttribLocation(a,"aColor"),a.aCornerRadius=e.getAttribLocation(a,"aCornerRadius"),a.aBorderColor=e.getAttribLocation(a,"aBorderColor"),a.uPanZoomMatrix=e.getUniformLocation(a,"uPanZoomMatrix"),a.uAtlasSize=e.getUniformLocation(a,"uAtlasSize"),a.uBGColor=e.getUniformLocation(a,"uBGColor"),a.uZoom=e.getUniformLocation(a,"uZoom"),a.uTextures=[];for(var s=0;s<this.batchManager.getMaxAtlasesPerBatch();s++)a.uTextures.push(e.getUniformLocation(a,"uTexture".concat(s)));return a}},{key:"_createVAO",value:function(){var t=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=t.length/2;var e=this.maxInstances,n=this.gl,r=this.program,i=n.createVertexArray();return n.bindVertexArray(i),function(t,e,n,r){var i=l(su(t,"vec2"),2),a=i[0],s=i[1],o=ou(t,s,r),c=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,c),t.bufferData(t.ARRAY_BUFFER,o,t.STATIC_DRAW),s===t.FLOAT?t.vertexAttribPointer(n,a,s,!1,0,0):s===t.INT&&t.vertexAttribIPointer(n,a,s,0,0),t.enableVertexAttribArray(n),t.bindBuffer(t.ARRAY_BUFFER,null)}(n,0,r.aPosition,t),this.transformBuffer=function(t,e,n){for(var r=new Float32Array(9*e),i=new Array(e),a=0;a<e;a++){var s=9*a*4;i[a]=new Float32Array(r.buffer,s,9)}var o=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,r.byteLength,t.DYNAMIC_DRAW);for(var l=0;l<3;l++){var c=n+l;t.enableVertexAttribArray(c),t.vertexAttribPointer(c,3,t.FLOAT,!1,36,12*l),t.vertexAttribDivisor(c,1)}return t.bindBuffer(t.ARRAY_BUFFER,null),o.getMatrixView=function(t){return i[t]},o.setData=function(t,e){i[e].set(t,0)},o.bufferSubData=function(){t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferSubData(t.ARRAY_BUFFER,0,r)},o}(n,e,r.aTransform),this.indexBuffer=cu(n,e,"vec4",r.aIndex),this.vertTypeBuffer=cu(n,e,"int",r.aVertType),this.atlasIdBuffer=cu(n,e,"int",r.aAtlasId),this.texBuffer=cu(n,e,"vec4",r.aTex),this.pointAPointBBuffer=cu(n,e,"vec4",r.aPointAPointB),this.pointCPointDBuffer=cu(n,e,"vec4",r.aPointCPointD),this.lineWidthBuffer=cu(n,e,"vec2",r.aLineWidth),this.colorBuffer=cu(n,e,"vec4",r.aColor),this.cornerRadiusBuffer=cu(n,e,"vec4",r.aCornerRadius),this.borderColorBuffer=cu(n,e,"vec4",r.aBorderColor),n.bindVertexArray(null),i}},{key:"buffers",get:function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter((function(t){return t.endsWith("Buffer")})).map((function(e){return t[e]}))),this._buffers}},{key:"startFrame",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bu.SCREEN;this.panZoomMatrix=t,this.renderTarget=e,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(t,e){return!!t.visible()&&(!e||!e.isVisible||e.isVisible(t))}},{key:"drawTexture",value:function(t,e,n){var r=this.atlasManager,i=this.batchManager,a=r.getRenderTypeOpts(n);if(this._isVisible(t,a)){if(this.renderTarget.picking&&a.getTexPickingMode){var o=a.getTexPickingMode(t);if(1===o)return;if(2==o)return void this.drawPickingRectangle(t,e,n)}var c,h=s(r.getAtlasInfo(t,n));try{for(h.s();!(c=h.n()).done;){var u=c.value,d=u.atlas,p=u.tex1,g=u.tex2;i.canAddToCurrentBatch(d)||this.endBatch();for(var f=i.getAtlasIndexForBatch(d),m=0,y=[[p,!0],[g,!1]];m<y.length;m++){var v=l(y[m],2),x=v[0],b=v[1];if(0!=x.w){var w=this.instanceCount;this.vertTypeBuffer.getView(w)[0]=0,au(e,this.indexBuffer.getView(w)),this.atlasIdBuffer.getView(w)[0]=f;var k=this.texBuffer.getView(w);k[0]=x.x,k[1]=x.y,k[2]=x.w,k[3]=x.h;var T=this.transformBuffer.getMatrixView(w);this.setTransformMatrix(t,T,a,u,b),this.instanceCount++,b||this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(t){h.e(t)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(t,e,n,r){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=0;if(n.shapeProps&&n.shapeProps.padding&&(a=t.pstyle(n.shapeProps.padding).pfValue),r){var s=r.bb,o=r.tex1,l=r.tex2,c=o.w/(o.w+l.w);i||(c=1-c);var h=this._getAdjustedBB(s,a,i,c);this._applyTransformMatrix(e,h,n,t)}else{var u=n.getBoundingBox(t),d=this._getAdjustedBB(u,a,!0,1);this._applyTransformMatrix(e,d,n,t)}}},{key:"_applyTransformMatrix",value:function(t,e,n,r){var i,a;du(t);var s=n.getRotation?n.getRotation(r):0;if(0!==s){var o=n.getRotationPoint(r);pu(t,t,[o.x,o.y]),gu(t,t,s);var l=n.getRotationOffset(r);i=l.x+(e.xOffset||0),a=l.y+(e.yOffset||0)}else i=e.x1,a=e.y1;pu(t,t,[i,a]),fu(t,t,[e.w,e.h])}},{key:"_getAdjustedBB",value:function(t,e,n,r){var i=t.x1,a=t.y1,s=t.w,o=t.h;e&&(i-=e,a-=e,s+=2*e,o+=2*e);var l=0,c=s*r;return n&&r<1?s=c:!n&&r<1&&(i+=l=s-c,s=c),{x1:i,y1:a,w:s,h:o,xOffset:l,yOffset:t.yOffset}}},{key:"drawPickingRectangle",value:function(t,e,n){var r=this.atlasManager.getRenderTypeOpts(n),i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=4,au(e,this.indexBuffer.getView(i)),iu([0,0,0],1,this.colorBuffer.getView(i));var a=this.transformBuffer.getMatrixView(i);this.setTransformMatrix(t,a,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(t,e,n){var r=this.simpleShapeOptions.get(n);if(this._isVisible(t,r)){var i=r.shapeProps,a=this._getVertTypeForShape(t,i.shape);if(void 0===a||r.isSimple&&!r.isSimple(t))this.drawTexture(t,e,n);else{var s=this.instanceCount;if(this.vertTypeBuffer.getView(s)[0]=a,5===a||6===a){var o=r.getBoundingBox(t),l=this._getCornerRadius(t,i.radius,o),c=this.cornerRadiusBuffer.getView(s);c[0]=l,c[1]=l,c[2]=l,c[3]=l,6===a&&(c[0]=0,c[2]=0)}au(e,this.indexBuffer.getView(s)),iu(t.pstyle(i.color).value,t.pstyle(i.opacity).value,this.colorBuffer.getView(s));var h=this.lineWidthBuffer.getView(s);if(h[0]=0,h[1]=0,i.border){var u=t.pstyle("border-width").value;if(u>0){iu(t.pstyle("border-color").value,t.pstyle("border-opacity").value,this.borderColorBuffer.getView(s));var d=t.pstyle("border-position").value;if("inside"===d)h[0]=0,h[1]=-u;else if("outside"===d)h[0]=u,h[1]=0;else{var p=u/2;h[0]=p,h[1]=-p}}}var g=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(t,g,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"_getVertTypeForShape",value:function(t,e){switch(t.pstyle(e).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}}},{key:"_getCornerRadius",value:function(t,e,n){var r=n.w,i=n.h;if("auto"===t.pstyle(e).value)return Tn(r,i);var a=t.pstyle(e).pfValue,s=r/2,o=i/2;return Math.min(a,o,s)}},{key:"drawEdgeArrow",value:function(t,e,n){if(t.visible()){var r,i,a,s=t._private.rscratch;if(!("source"===n?(r=s.arrowStartX,i=s.arrowStartY,a=s.srcArrowAngle):(r=s.arrowEndX,i=s.arrowEndY,a=s.tgtArrowAngle),isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a)||null==a||"none"===t.pstyle(n+"-arrow-shape").value)){var o=t.pstyle(n+"-arrow-color").value,l=t.pstyle("opacity").value*t.pstyle("line-opacity").value,c=t.pstyle("width").pfValue,h=t.pstyle("arrow-scale").value,u=this.r.getArrowWidth(c,h),d=this.instanceCount,p=this.transformBuffer.getMatrixView(d);du(p),pu(p,p,[r,i]),fu(p,p,[u,u]),gu(p,p,a),this.vertTypeBuffer.getView(d)[0]=3,au(e,this.indexBuffer.getView(d)),iu(o,l,this.colorBuffer.getView(d)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(t,e){if(t.visible()){var n=this._getEdgePoints(t);if(n){var r=t.pstyle("opacity").value,i=t.pstyle("line-opacity").value,a=t.pstyle("width").pfValue,s=t.pstyle("line-color").value,o=r*i;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==n.length){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=1,au(e,this.indexBuffer.getView(l)),iu(s,o,this.colorBuffer.getView(l)),this.lineWidthBuffer.getView(l)[0]=a;var c=this.pointAPointBBuffer.getView(l);c[0]=n[0],c[1]=n[1],c[2]=n[2],c[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var h=0;h<n.length-2;h+=2){var u=this.instanceCount;this.vertTypeBuffer.getView(u)[0]=2,au(e,this.indexBuffer.getView(u)),iu(s,o,this.colorBuffer.getView(u)),this.lineWidthBuffer.getView(u)[0]=a;var d=n[h-2],p=n[h-1],g=n[h],f=n[h+1],m=n[h+2],y=n[h+3],v=n[h+4],x=n[h+5];0==h&&(d=2*g-m+.001,p=2*f-y+.001),h==n.length-4&&(v=2*m-g+.001,x=2*y-f+.001);var b=this.pointAPointBBuffer.getView(u);b[0]=d,b[1]=p,b[2]=g,b[3]=f;var w=this.pointCPointDBuffer.getView(u);w[0]=m,w[1]=y,w[2]=v,w[3]=x,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_getEdgePoints",value:function(t){var e=t._private.rscratch;if(!e.badLine&&null!=e.allpts&&!isNaN(e.allpts[0])){var n=e.allpts;if(4==n.length)return n;var r=this._getNumSegments(t);return this._getCurveSegmentPoints(n,r)}}},{key:"_getNumSegments",value:function(t){return Math.min(Math.max(15,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(t,e){if(4==t.length)return t;for(var n=Array(2*(e+1)),r=0;r<=e;r++)if(0==r)n[0]=t[0],n[1]=t[1];else if(r==e)n[2*r]=t[t.length-2],n[2*r+1]=t[t.length-1];else{var i=r/e;this._setCurvePoint(t,i,n,2*r)}return n}},{key:"_setCurvePoint",value:function(t,e,n,r){if(!(t.length<=2)){for(var i=Array(t.length-2),a=0;a<i.length;a+=2){var s=(1-e)*t[a]+e*t[a+2],o=(1-e)*t[a+1]+e*t[a+3];i[a]=s,i[a+1]=o}return this._setCurvePoint(i,e,n,r)}n[r]=t[0],n[r+1]=t[1]}},{key:"endBatch",value:function(){var t=this.gl,e=this.vao,n=this.vertexCount,r=this.instanceCount;if(0!==r){var i=this.renderTarget.picking?this.pickingProgram:this.program;t.useProgram(i),t.bindVertexArray(e);var a,o=s(this.buffers);try{for(o.s();!(a=o.n()).done;)a.value.bufferSubData(r)}catch(t){o.e(t)}finally{o.f()}for(var l,c,h=this.batchManager.getAtlases(),u=0;u<h.length;u++)h[u].bufferIfNeeded(t);for(var d=0;d<h.length;d++)t.activeTexture(t.TEXTURE0+d),t.bindTexture(t.TEXTURE_2D,h[d].texture),t.uniform1i(i.uTextures[d],d);t.uniform1f(i.uZoom,(c=(l=this.r).pixelRatio,l.cy.zoom()*c)),t.uniformMatrix3fv(i.uPanZoomMatrix,!1,this.panZoomMatrix),t.uniform1i(i.uAtlasSize,this.batchManager.getAtlasSize());var p=iu(this.bgColor,1);t.uniform4fv(i.uBGColor,p),t.drawArraysInstanced(t.TRIANGLES,0,n,r),t.bindVertexArray(null),t.bindTexture(t.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:r,atlasCount:h.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var t=this.atlasManager.getDebugInfo(),e=t.reduce((function(t,e){return t+e.atlasCount}),0),n=this.batchDebugInfo,r=n.reduce((function(t,e){return t+e.count}),0);return{atlasInfo:t,totalAtlases:e,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:n.length,batchInfo:n,totalInstances:r}}}])}(),ku={};function Tu(t,e){var n=t._private.rscratch;return ue(n,"labelWrapCachedLines",e)||[]}ku.initWebgl=function(t,e){var n=this,r=n.data.contexts[n.WEBGL];t.bgColor=function(t){var e=t.cy.container(),n=e&&e.style&&e.style.backgroundColor||"white";return xt(n)}(n),t.webglTexSize=Math.min(t.webglTexSize,r.getParameter(r.MAX_TEXTURE_SIZE)),t.webglTexRows=Math.min(t.webglTexRows,54),t.webglTexRowsNodes=Math.min(t.webglTexRowsNodes,54),t.webglBatchSize=Math.min(t.webglBatchSize,16384),t.webglTexPerBatch=Math.min(t.webglTexPerBatch,r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS)),n.webglDebug=t.webglDebug,n.webglDebugShowAtlases=t.webglDebugShowAtlases,n.pickingFrameBuffer=function(t){var e=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,e);var n=t.createTexture();return t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0),t.bindFramebuffer(t.FRAMEBUFFER,null),e.setFramebufferAttachmentSizes=function(e,r){t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,r,0,t.RGBA,t.UNSIGNED_BYTE,null)},e}(r),n.pickingFrameBuffer.needsDraw=!0,n.drawing=new wu(n,r,t);var i=function(t){return function(e){return n.getTextAngle(e,t)}},a=function(t){return function(e){var n=e.pstyle(t);return n&&n.value}},o=function(t){return function(e){return e.pstyle("".concat(t,"-opacity")).value>0}},c=function(t){return"yes"===t.pstyle("text-events").strValue?2:1},h=function(t){var e=t.position(),n=e.x,r=e.y,i=t.outerWidth(),a=t.outerHeight();return{w:i,h:a,x1:n-i/2,y1:r-a/2}};n.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),n.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),n.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),n.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:h,isSimple:nu,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),n.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:h,isVisible:o("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),n.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:h,isVisible:o("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),n.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:c,getKey:_u(e.getLabelKey,null),getBoundingBox:Eu(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),n.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:c,getKey:_u(e.getSourceLabelKey,"source"),getBoundingBox:Eu(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),n.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:c,getKey:_u(e.getTargetLabelKey,"target"),getBoundingBox:Eu(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=Mt((function(){console.log("garbage collect flag set"),n.data.gc=!0}),1e4);n.onUpdateEleCalcs((function(t,e){var r=!1;e&&e.length>0&&(r|=n.drawing.invalidate(e)),r&&u()})),function(t){var e=t.render;t.render=function(n){n=n||{};var r=t.cy;t.webgl&&(r.zoom()>7.99?(function(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}(t),e.call(t,n)):(function(t){var e=function(e){e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.canvasWidth,t.canvasHeight),e.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}(t),Au(t,n,bu.SCREEN)))};var n=t.matchCanvasSize;t.matchCanvasSize=function(e){n.call(t,e),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0},t.findNearestElements=function(e,n,r,i){return function(t,e,n){var r,i,a,o=function(t,e,n,r,i){var a,s,o=eu(t),c=function(t,e,n,r,i){var a=r*n+e.x,s=i*n+e.y;return[a,s=Math.round(t.canvasHeight-s)]}(t,o.pan,o.zoom,e,n),h=l(c,2);if(a=h[0]-3,s=h[1]-3,6,0==6)return[];var u=t.data.contexts[t.WEBGL];u.bindFramebuffer(u.FRAMEBUFFER,t.pickingFrameBuffer),t.pickingFrameBuffer.needsDraw&&(u.viewport(0,0,u.canvas.width,u.canvas.height),Au(t,null,bu.PICKING),t.pickingFrameBuffer.needsDraw=!1);var d,p=new Uint8Array(144);u.readPixels(a,s,6,6,u.RGBA,u.UNSIGNED_BYTE,p),u.bindFramebuffer(u.FRAMEBUFFER,null);for(var g=new Set,f=0;f<36;f++){var m=(d=p.slice(4*f,4*f+4))[0]+(d[1]<<8)+(d[2]<<16)+(d[3]<<24)-1;m>=0&&g.add(m)}return g}(t,e,n),c=t.getCachedZSortedEles(),h=s(o);try{for(h.s();!(a=h.n()).done;){var u=c[a.value];if(!r&&u.isNode()&&(r=u),!i&&u.isEdge()&&(i=u),r&&i)break}}catch(t){h.e(t)}finally{h.f()}return[r,i].filter(Boolean)}(t,e,n)};var r=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){r.call(t),t.pickingFrameBuffer.needsDraw=!0};var i=t.notify;t.notify=function(e,n){i.call(t,e,n),"viewport"===e||"bounds"===e?t.pickingFrameBuffer.needsDraw=!0:"background"===e&&t.drawing.invalidate(n,{type:"node-body"})}}(n)};var _u=function(t,e){return function(n){var r=t(n),i=Tu(n,e);return i.length>1?i.map((function(t,e){return"".concat(r,"_").concat(e)})):r}},Eu=function(t,e){return function(n,r){var i=t(n);if("string"==typeof r){var a=r.indexOf("_");if(a>0){var s=Number(r.substring(a+1)),o=Tu(n,e),l=i.h/o.length,c=l*s,h=i.y1+c;return{x1:i.x1,w:i.w,y1:h,h:l,yOffset:c}}}return i}};function Su(t,e){var n=t.canvasWidth,r=t.canvasHeight,i=eu(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,n,r),e.translate(a.x,a.y),e.scale(s,s)}function Cu(t,e,n){var r=t.drawing;e+=1,n.isNode()?(r.drawNode(n,e,"node-underlay"),r.drawNode(n,e,"node-body"),r.drawTexture(n,e,"label"),r.drawNode(n,e,"node-overlay")):(r.drawEdgeLine(n,e),r.drawEdgeArrow(n,e,"source"),r.drawEdgeArrow(n,e,"target"),r.drawTexture(n,e,"label"),r.drawTexture(n,e,"edge-source-label"),r.drawTexture(n,e,"edge-target-label"))}function Au(t,e,n){var r;t.webglDebug&&(r=performance.now());var i=t.drawing,a=0;if(n.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&function(t,e){t.drawSelectionRectangle(e,(function(e){return Su(t,e)}))}(t,e),t.data.canvasNeedsRedraw[t.NODE]||n.picking){var o=t.data.contexts[t.WEBGL];n.screen?(o.clearColor(0,0,0,0),o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA)):o.disable(o.BLEND),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT),o.viewport(0,0,o.canvas.width,o.canvas.height);var l=function(t){var e=t.canvasWidth,n=t.canvasHeight,r=eu(t),i=r.pan,a=r.zoom,s=uu();pu(s,s,[i.x,i.y]),fu(s,s,[a,a]);var o=uu();!function(t,e,n){t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1}(o,e,n);var l,c,h,u,d,p,g,f,m,y,v,x,b,w,k,T,_,E,S,C,A,L=uu();return l=L,h=s,u=(c=o)[0],d=c[1],p=c[2],g=c[3],f=c[4],m=c[5],y=c[6],v=c[7],x=c[8],b=h[0],w=h[1],k=h[2],T=h[3],_=h[4],E=h[5],S=h[6],C=h[7],A=h[8],l[0]=b*u+w*g+k*y,l[1]=b*d+w*f+k*v,l[2]=b*p+w*m+k*x,l[3]=T*u+_*g+E*y,l[4]=T*d+_*f+E*v,l[5]=T*p+_*m+E*x,l[6]=S*u+C*g+A*y,l[7]=S*d+C*f+A*v,l[8]=S*p+C*m+A*x,L}(t),c=t.getCachedZSortedEles();if(a=c.length,i.startFrame(l,n),n.screen){for(var h=0;h<c.nondrag.length;h++)Cu(t,h,c.nondrag[h]);for(var u=0;u<c.drag.length;u++)Cu(t,u,c.drag[u])}else if(n.picking)for(var d=0;d<c.length;d++)Cu(t,d,c[d]);i.endFrame(),n.screen&&t.webglDebugShowAtlases&&(function(t){var e=t.data.contexts[t.NODE];e.save(),Su(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}(t),function(t){var e=function(e,n,r){for(var i=e.atlasManager.getAtlasCollection(n),a=t.data.contexts[t.NODE],s=i.atlases,o=0;o<s.length;o++){var l=s[o].canvas;if(l){var c=l.width,h=l.height,u=c*o,d=l.height*r;a.save(),a.scale(.4,.4),a.drawImage(l,u,d),a.strokeStyle="black",a.rect(u,d,c,h),a.stroke(),a.restore()}}},n=0;e(t.drawing,"node",n++),e(t.drawing,"label",n++)}(t)),t.data.canvasNeedsRedraw[t.NODE]=!1,t.data.canvasNeedsRedraw[t.DRAG]=!1}if(t.webglDebug){var p=performance.now(),g=Math.ceil(p-r),f=i.getDebugInfo(),m=["".concat(a," elements"),"".concat(f.totalInstances," instances"),"".concat(f.batchCount," batches"),"".concat(f.totalAtlases," atlases"),"".concat(f.wrappedCount," wrapped textures"),"".concat(f.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(n.name,") - frame time ").concat(g,"ms")),console.log("Totals:"),console.log(" ".concat(m)),console.log("Texture Atlases Used:");var y,v=s(f.atlasInfo);try{for(v.s();!(y=v.n()).done;){var x=y.value;console.log(" ".concat(x.type,": ").concat(x.keyCount," keys, ").concat(x.atlasCount," atlases"))}}catch(t){v.e(t)}finally{v.f()}console.log("")}t.data.gc&&(console.log("Garbage Collect!"),t.data.gc=!1,i.gc())}for(var Lu={drawPolygonPath:function(t,e,n,r,i,a){var s=r/2,o=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],n+o*a[1]);for(var l=1;l<a.length/2;l++)t.lineTo(e+s*a[2*l],n+o*a[2*l+1]);t.closePath()},drawRoundPolygonPath:function(t,e,n,r,i,a,s){s.forEach((function(e){return Xc(t,e)})),t.closePath()},drawRoundRectanglePath:function(t,e,n,r,i,a){var s=r/2,o=i/2,l="auto"===a?Tn(r,i):Math.min(a,o,s);t.beginPath&&t.beginPath(),t.moveTo(e,n-o),t.arcTo(e+s,n-o,e+s,n,l),t.arcTo(e+s,n+o,e,n+o,l),t.arcTo(e-s,n+o,e-s,n,l),t.arcTo(e-s,n-o,e,n-o,l),t.lineTo(e,n-o),t.closePath()},drawBottomRoundRectanglePath:function(t,e,n,r,i,a){var s=r/2,o=i/2,l="auto"===a?Tn(r,i):a;t.beginPath&&t.beginPath(),t.moveTo(e,n-o),t.lineTo(e+s,n-o),t.lineTo(e+s,n),t.arcTo(e+s,n+o,e,n+o,l),t.arcTo(e-s,n+o,e-s,n,l),t.lineTo(e-s,n-o),t.lineTo(e,n-o),t.closePath()},drawCutRectanglePath:function(t,e,n,r,i,a,s){var o=r/2,l=i/2,c="auto"===s?8:s;t.beginPath&&t.beginPath(),t.moveTo(e-o+c,n-l),t.lineTo(e+o-c,n-l),t.lineTo(e+o,n-l+c),t.lineTo(e+o,n+l-c),t.lineTo(e+o-c,n+l),t.lineTo(e-o+c,n+l),t.lineTo(e-o,n+l-c),t.lineTo(e-o,n-l+c),t.closePath()},drawBarrelPath:function(t,e,n,r,i){var a=r/2,s=i/2,o=e-a,l=e+a,c=n-s,h=n+s,u=En(r,i),d=u.widthOffset,p=u.heightOffset,g=u.ctrlPtOffsetPct*d;t.beginPath&&t.beginPath(),t.moveTo(o,c+p),t.lineTo(o,h-p),t.quadraticCurveTo(o+g,h,o+d,h),t.lineTo(l-d,h),t.quadraticCurveTo(l-g,h,l,h-p),t.lineTo(l,c+p),t.quadraticCurveTo(l-g,c,l-d,c),t.lineTo(o+d,c),t.quadraticCurveTo(o+g,c,o,c+p),t.closePath()}},Mu=Math.sin(0),Nu=Math.cos(0),Iu={},Ru={},Du=Math.PI/40,Ou=0*Math.PI;Ou<2*Math.PI;Ou+=Du)Iu[Ou]=Math.sin(Ou),Ru[Ou]=Math.cos(Ou);Lu.drawEllipsePath=function(t,e,n,r,i){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(e,n,r/2,i/2,0,0,2*Math.PI);else for(var a,s,o=r/2,l=i/2,c=0*Math.PI;c<2*Math.PI;c+=Du)a=e-o*Iu[c]*Mu+o*Ru[c]*Nu,s=n+l*Ru[c]*Mu+l*Iu[c]*Nu,0===c?t.moveTo(a,s):t.lineTo(a,s);t.closePath()};var Pu={};function $u(t){var e=t.indexOf(",");return t.substr(e+1)}function Bu(t,e,n){var r=function(){return e.toDataURL(n,t.quality)};switch(t.output){case"blob-promise":return new Br((function(r,i){try{e.toBlob((function(t){null!=t?r(t):i(new Error("`canvas.toBlob()` sent a null value in its callback"))}),n,t.quality)}catch(t){i(t)}}));case"blob":return function(t,e){for(var n=atob(t),r=new ArrayBuffer(n.length),i=new Uint8Array(r),a=0;a<n.length;a++)i[a]=n.charCodeAt(a);return new Blob([r],{type:e})}($u(r()),n);case"base64":return $u(r());default:return r()}}Pu.createBuffer=function(t,e){var n=document.createElement("canvas");return n.width=t,n.height=e,[n,n.getContext("2d")]},Pu.bufferCanvasImage=function(t){var e=this.cy,n=e.mutableElements().boundingBox(),r=this.findContainerClientCoords(),i=t.full?Math.ceil(n.w):r[2],a=t.full?Math.ceil(n.h):r[3],s=Q(t.maxWidth)||Q(t.maxHeight),o=this.getPixelRatio(),l=1;if(void 0!==t.scale)i*=t.scale,a*=t.scale,l=t.scale;else if(s){var c=1/0,h=1/0;Q(t.maxWidth)&&(c=l*t.maxWidth/i),Q(t.maxHeight)&&(h=l*t.maxHeight/a),i*=l=Math.min(c,h),a*=l}s||(i*=o,a*=o,l*=o);var u=document.createElement("canvas");u.width=i,u.height=a,u.style.width=i+"px",u.style.height=a+"px";var d=u.getContext("2d");if(i>0&&a>0){d.clearRect(0,0,i,a),d.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)d.translate(-n.x1*l,-n.y1*l),d.scale(l,l),this.drawElements(d,p),d.scale(1/l,1/l),d.translate(n.x1*l,n.y1*l);else{var g=e.pan(),f={x:g.x*l,y:g.y*l};l*=e.zoom(),d.translate(f.x,f.y),d.scale(l,l),this.drawElements(d,p),d.scale(1/l,1/l),d.translate(-f.x,-f.y)}t.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=t.bg,d.rect(0,0,i,a),d.fill())}return u},Pu.png=function(t){return Bu(t,this.bufferCanvasImage(t),"image/png")},Pu.jpg=function(t){return Bu(t,this.bufferCanvasImage(t),"image/jpeg")};var Fu=zu,Wu=zu.prototype;function zu(t){var e=this,n=e.cy.window().document;t.webgl&&(Wu.CANVAS_LAYERS=e.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),e.data={canvases:new Array(Wu.CANVAS_LAYERS),contexts:new Array(Wu.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Wu.CANVAS_LAYERS),bufferCanvases:new Array(Wu.BUFFER_COUNT),bufferContexts:new Array(Wu.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=n.createElement("div");var a=e.data.canvasContainer.style;e.data.canvasContainer.style[r]=i,a.position="relative",a.zIndex="0",a.overflow="hidden";var s=t.cy.container();s.appendChild(e.data.canvasContainer),s.style[r]=i;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};g&&g.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var l=0;l<Wu.CANVAS_LAYERS;l++){var c=e.data.canvases[l]=n.createElement("canvas"),h=Wu.CANVAS_TYPES[l];e.data.contexts[l]=c.getContext(h),e.data.contexts[l]||ee("Could not create canvas of type "+h),Object.keys(o).forEach((function(t){c.style[t]=o[t]})),c.style.position="absolute",c.setAttribute("data-id","layer"+l),c.style.zIndex=String(Wu.CANVAS_LAYERS-l),e.data.canvasContainer.appendChild(c),e.data.canvasNeedsRedraw[l]=!1}for(e.data.topCanvas=e.data.canvases[0],e.data.canvases[Wu.NODE].setAttribute("data-id","layer"+Wu.NODE+"-node"),e.data.canvases[Wu.SELECT_BOX].setAttribute("data-id","layer"+Wu.SELECT_BOX+"-selectbox"),e.data.canvases[Wu.DRAG].setAttribute("data-id","layer"+Wu.DRAG+"-drag"),e.data.canvases[Wu.WEBGL]&&e.data.canvases[Wu.WEBGL].setAttribute("data-id","layer"+Wu.WEBGL+"-webgl"),l=0;l<Wu.BUFFER_COUNT;l++)e.data.bufferCanvases[l]=n.createElement("canvas"),e.data.bufferContexts[l]=e.data.bufferCanvases[l].getContext("2d"),e.data.bufferCanvases[l].style.position="absolute",e.data.bufferCanvases[l].setAttribute("data-id","buffer"+l),e.data.bufferCanvases[l].style.zIndex=String(-l-1),e.data.bufferCanvases[l].style.visibility="hidden";e.pathsEnabled=!0;var u=Xe(),d=function(t){return{x:-t.w/2,y:-t.h/2}},p=function(t){return t[0]._private.nodeKey},f=function(t){return t[0]._private.labelStyleKey},m=function(t){return t[0]._private.sourceLabelStyleKey},y=function(t){return t[0]._private.targetLabelStyleKey},v=function(t,n,r,i,a){return e.drawElement(t,n,r,!1,!1,a)},x=function(t,n,r,i,a){return e.drawElementText(t,n,r,i,"main",a)},b=function(t,n,r,i,a){return e.drawElementText(t,n,r,i,"source",a)},w=function(t,n,r,i,a){return e.drawElementText(t,n,r,i,"target",a)},k=function(t){return t.boundingBox(),t[0]._private.bodyBounds},T=function(t){return t.boundingBox(),t[0]._private.labelBounds.main||u},_=function(t){return t.boundingBox(),t[0]._private.labelBounds.source||u},E=function(t){return t.boundingBox(),t[0]._private.labelBounds.target||u},S=function(t,e){return e},C=function(t){return{x:((e=k(t)).x1+e.x2)/2,y:(e.y1+e.y2)/2};var e},A=function(t,e,n){var r=t?t+"-":"";return{x:e.x+n.pstyle(r+"text-margin-x").pfValue,y:e.y+n.pstyle(r+"text-margin-y").pfValue}},L=function(t,e,n){var r=t[0]._private.rscratch;return{x:r[e],y:r[n]}},M=function(t){return A("",L(t,"labelX","labelY"),t)},N=function(t){return A("source",L(t,"sourceLabelX","sourceLabelY"),t)},I=function(t){return A("target",L(t,"targetLabelX","targetLabelY"),t)},R=function(t){return d(k(t))},D=function(t){return d(_(t))},O=function(t){return d(E(t))},P=function(t){var e=T(t),n=d(T(t));if(t.isNode()){switch(t.pstyle("text-halign").value){case"left":n.x=-e.w-(e.leftPad||0);break;case"right":n.x=-(e.rightPad||0)}switch(t.pstyle("text-valign").value){case"top":n.y=-e.h-(e.topPad||0);break;case"bottom":n.y=-(e.botPad||0)}}return n},$=e.data.eleTxrCache=new _h(e,{getKey:p,doesEleInvalidateKey:function(t){var e=t[0]._private;return!(e.oldBackgroundTimestamp===e.backgroundTimestamp)},drawElement:v,getBoundingBox:k,getRotationPoint:C,getRotationOffset:R,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),B=e.data.lblTxrCache=new _h(e,{getKey:f,drawElement:x,getBoundingBox:T,getRotationPoint:M,getRotationOffset:P,isVisible:S}),F=e.data.slbTxrCache=new _h(e,{getKey:m,drawElement:b,getBoundingBox:_,getRotationPoint:N,getRotationOffset:D,isVisible:S}),W=e.data.tlbTxrCache=new _h(e,{getKey:y,drawElement:w,getBoundingBox:E,getRotationPoint:I,getRotationOffset:O,isVisible:S}),z=e.data.lyrTxrCache=new Sh(e);e.onUpdateEleCalcs((function(t,e){$.invalidateElements(e),B.invalidateElements(e),F.invalidateElements(e),W.invalidateElements(e),z.invalidateElements(e);for(var n=0;n<e.length;n++){var r=e[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}}));var Z=function(t){for(var e=0;e<t.length;e++)z.enqueueElementRefinement(t[e].ele)};$.onDequeue(Z),B.onDequeue(Z),F.onDequeue(Z),W.onDequeue(Z),t.webgl&&e.initWebgl(t,{getStyleKey:p,getLabelKey:f,getSourceLabelKey:m,getTargetLabelKey:y,drawElement:v,drawLabel:x,drawSourceLabel:b,drawTargetLabel:w,getElementBox:k,getLabelBox:T,getSourceLabelBox:_,getTargetLabelBox:E,getElementRotationPoint:C,getElementRotationOffset:R,getLabelRotationPoint:M,getSourceLabelRotationPoint:N,getTargetLabelRotationPoint:I,getLabelRotationOffset:P,getSourceLabelRotationOffset:D,getTargetLabelRotationOffset:O})}Wu.CANVAS_LAYERS=3,Wu.SELECT_BOX=0,Wu.DRAG=1,Wu.NODE=2,Wu.WEBGL=3,Wu.CANVAS_TYPES=["2d","2d","2d","webgl2"],Wu.BUFFER_COUNT=3,Wu.TEXTURE_BUFFER=0,Wu.MOTIONBLUR_BUFFER_NODE=1,Wu.MOTIONBLUR_BUFFER_DRAG=2,Wu.redrawHint=function(t,e){var n=this;switch(t){case"eles":n.data.canvasNeedsRedraw[Wu.NODE]=e;break;case"drag":n.data.canvasNeedsRedraw[Wu.DRAG]=e;break;case"select":n.data.canvasNeedsRedraw[Wu.SELECT_BOX]=e;break;case"gc":n.data.gc=!0}};var Zu="undefined"!=typeof Path2D;Wu.path2dEnabled=function(t){if(void 0===t)return this.pathsEnabled;this.pathsEnabled=!!t},Wu.usePaths=function(){return Zu&&this.pathsEnabled},Wu.setImgSmoothing=function(t,e){null!=t.imageSmoothingEnabled?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)},Wu.getImgSmoothing=function(t){return null!=t.imageSmoothingEnabled?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},Wu.makeOffscreenCanvas=function(t,e){var n;return"undefined"!==("undefined"==typeof OffscreenCanvas?"undefined":u(OffscreenCanvas))?n=new OffscreenCanvas(t,e):((n=this.cy.window().document.createElement("canvas")).width=t,n.height=e),n},[Nh,$h,Uh,Vh,qh,Hh,Qh,ku,Lu,Pu,{nodeShapeImpl:function(t,e,n,r,i,a,s,o){switch(t){case"ellipse":return this.drawEllipsePath(e,n,r,i,a);case"polygon":return this.drawPolygonPath(e,n,r,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,n,r,i,a,s,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,n,r,i,a,o);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,n,r,i,a,s,o);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,n,r,i,a,o);case"barrel":return this.drawBarrelPath(e,n,r,i,a)}}}].forEach((function(t){vt(Wu,t)}));var Yu=[{type:"layout",extensions:Tc},{type:"renderer",extensions:[{name:"null",impl:_c},{name:"base",impl:yh},{name:"canvas",impl:Fu}]}],Uu={},Gu={};function Vu(t,e,n){var r=n,i=function(n){re("Can not register `"+e+"` for `"+t+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===t){if(Pl.prototype[e])return i(e);Pl.prototype[e]=n}else if("collection"===t){if(Qo.prototype[e])return i(e);Qo.prototype[e]=n}else if("layout"===t){for(var a=function(t){this.options=t,n.call(this,t),K(this._private)||(this._private={}),this._private.cy=t.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(n.prototype),o=[],l=0;l<o.length;l++){var c=o[l];s[c]=s[c]||function(){return this}}s.start&&!s.run?s.run=function(){return this.start(),this}:!s.start&&s.run&&(s.start=function(){return this.run(),this});var h=n.prototype.stop;s.stop=function(){var t=this.options;if(t&&t.animate){var e=this.animations;if(e)for(var n=0;n<e.length;n++)e[n].stop()}return h?h.call(this):this.emit("layoutstop"),this},s.destroy||(s.destroy=function(){return this}),s.cy=function(){return this._private.cy};var u=function(t){return t._private.cy},d={addEventFields:function(t,e){e.layout=t,e.cy=u(t),e.target=t},bubble:function(){return!0},parent:function(t){return u(t)}};vt(s,{createEmitter:function(){return this._private.emitter=new yo(d,this),this},emitter:function(){return this._private.emitter},on:function(t,e){return this.emitter().on(t,e),this},one:function(t,e){return this.emitter().one(t,e),this},once:function(t,e){return this.emitter().one(t,e),this},removeListener:function(t,e){return this.emitter().removeListener(t,e),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(t,e){return this.emitter().emit(t,e),this}}),rs.eventAliasesOn(s),r=a}else if("renderer"===t&&"null"!==e&&"base"!==e){var p=qu("renderer","base"),g=p.prototype,f=n,m=n.prototype,y=function(){p.apply(this,arguments),f.apply(this,arguments)},v=y.prototype;for(var x in g){var b=g[x];if(null!=m[x])return i(x);v[x]=b}for(var w in m)v[w]=m[w];g.clientFunctions.forEach((function(t){v[t]=v[t]||function(){ee("Renderer does not implement `renderer."+t+"()` on its prototype")}})),r=y}else if("__proto__"===t||"constructor"===t||"prototype"===t)return ee(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return wt({map:Uu,keys:[t,e],value:r})}function qu(t,e){return kt({map:Uu,keys:[t,e]})}function ju(t,e,n,r,i){return wt({map:Gu,keys:[t,e,n,r],value:i})}function Hu(t,e,n,r){return kt({map:Gu,keys:[t,e,n,r]})}var Xu=function(){return 2===arguments.length?qu.apply(null,arguments):3===arguments.length?Vu.apply(null,arguments):4===arguments.length?Hu.apply(null,arguments):5===arguments.length?ju.apply(null,arguments):void ee("Invalid extension access syntax")};Pl.prototype.extension=Xu,Yu.forEach((function(t){t.extensions.forEach((function(e){Vu(t.type,e.name,e.impl)}))}));var Ku=function(){if(!(this instanceof Ku))return new Ku;this.length=0},Qu=Ku.prototype;Qu.instanceString=function(){return"stylesheet"},Qu.selector=function(t){return this[this.length++]={selector:t,properties:[]},this},Qu.css=function(t,e){var n=this.length-1;if(j(t))this[n].properties.push({name:t,value:e});else if(K(t))for(var r=t,i=Object.keys(r),a=0;a<i.length;a++){var s=i[a],o=r[s];if(null!=o){var l=Nl.properties[s]||Nl.properties[ct(s)];if(null!=l){var c=l.name,h=o;this[n].properties.push({name:c,value:h})}}}return this},Qu.style=Qu.css,Qu.generateStyle=function(t){var e=new Nl(t);return this.appendToStyle(e)},Qu.appendToStyle=function(t){for(var e=0;e<this.length;e++){var n=this[e],r=n.selector,i=n.properties;t.selector(r);for(var a=0;a<i.length;a++){var s=i[a];t.css(s.name,s.value)}}return t};var Ju=function(t){return void 0===t&&(t={}),K(t)?new Pl(t):j(t)?Xu.apply(Xu,arguments):void 0};Ju.use=function(t){var e=Array.prototype.slice.call(arguments,1);return e.unshift(Ju),t.apply(null,e),this},Ju.warnings=function(t){return ne(t)},Ju.version="3.32.0",Ju.stylesheet=Ju.Stylesheet=Ku},3108:(t,e,n)=>{"use strict";function r(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function i(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function a(t){return t}n.d(e,{Nb1:()=>Zs,LLu:()=>v,F5q:()=>y,$0Z:()=>eo,Dts:()=>ro,WQY:()=>ao,qpX:()=>oo,u93:()=>lo,tFB:()=>ho,YY7:()=>go,OvA:()=>mo,dCK:()=>vo,zgE:()=>wo,fGX:()=>To,$m7:()=>Eo,c_6:()=>Gs,fxm:()=>Co,FdL:()=>Oo,ak_:()=>Po,SxZ:()=>Fo,eA_:()=>zo,jsv:()=>Yo,iJ:()=>Zo,JHv:()=>nr,jvg:()=>js,Fp7:()=>r,VV$:()=>i,ve8:()=>Ks,tiA:()=>cr,BYU:()=>Qr,PKp:()=>lr,Xf:()=>ps,K2I:()=>gs,Ys:()=>fs,rr1:()=>gi,i$Z:()=>Vi,y2j:()=>Ti,WQD:()=>di,U8T:()=>li,Z_i:()=>hi,Ox9:()=>xi,F0B:()=>Ri,LqH:()=>_i,S1K:()=>ci,Zyz:()=>vi,Igq:()=>ki,YDX:()=>bi,EFj:()=>wi});var s=1,o=2,l=3,c=4,h=1e-6;function u(t){return"translate("+t+",0)"}function d(t){return"translate(0,"+t+")"}function p(t){return e=>+t(e)}function g(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function f(){return!this.__axis}function m(t,e){var n=[],r=null,i=null,m=6,y=6,v=3,x="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,b=t===s||t===c?-1:1,w=t===c||t===o?"x":"y",k=t===s||t===l?u:d;function T(u){var d=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,T=null==i?e.tickFormat?e.tickFormat.apply(e,n):a:i,_=Math.max(m,0)+v,E=e.range(),S=+E[0]+x,C=+E[E.length-1]+x,A=(e.bandwidth?g:p)(e.copy(),x),L=u.selection?u.selection():u,M=L.selectAll(".domain").data([null]),N=L.selectAll(".tick").data(d,e).order(),I=N.exit(),R=N.enter().append("g").attr("class","tick"),D=N.select("line"),O=N.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),N=N.merge(R),D=D.merge(R.append("line").attr("stroke","currentColor").attr(w+"2",b*m)),O=O.merge(R.append("text").attr("fill","currentColor").attr(w,b*_).attr("dy",t===s?"0em":t===l?"0.71em":"0.32em")),u!==L&&(M=M.transition(u),N=N.transition(u),D=D.transition(u),O=O.transition(u),I=I.transition(u).attr("opacity",h).attr("transform",(function(t){return isFinite(t=A(t))?k(t+x):this.getAttribute("transform")})),R.attr("opacity",h).attr("transform",(function(t){var e=this.parentNode.__axis;return k((e&&isFinite(e=e(t))?e:A(t))+x)}))),I.remove(),M.attr("d",t===c||t===o?y?"M"+b*y+","+S+"H"+x+"V"+C+"H"+b*y:"M"+x+","+S+"V"+C:y?"M"+S+","+b*y+"V"+x+"H"+C+"V"+b*y:"M"+S+","+x+"H"+C),N.attr("opacity",1).attr("transform",(function(t){return k(A(t)+x)})),D.attr(w+"2",b*m),O.attr(w,b*_).text(T),L.filter(f).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===o?"start":t===c?"end":"middle"),L.each((function(){this.__axis=A}))}return T.scale=function(t){return arguments.length?(e=t,T):e},T.ticks=function(){return n=Array.from(arguments),T},T.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),T):n.slice()},T.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),T):r&&r.slice()},T.tickFormat=function(t){return arguments.length?(i=t,T):i},T.tickSize=function(t){return arguments.length?(m=y=+t,T):m},T.tickSizeInner=function(t){return arguments.length?(m=+t,T):m},T.tickSizeOuter=function(t){return arguments.length?(y=+t,T):y},T.tickPadding=function(t){return arguments.length?(v=+t,T):v},T.offset=function(t){return arguments.length?(x=+t,T):x},T}function y(t){return m(s,t)}function v(t){return m(l,t)}function x(){}function b(t){return null==t?x:function(){return this.querySelector(t)}}function w(){return[]}function k(t){return null==t?w:function(){return this.querySelectorAll(t)}}function T(t){return function(){return this.matches(t)}}function _(t){return function(e){return e.matches(t)}}var E=Array.prototype.find;function S(){return this.firstElementChild}var C=Array.prototype.filter;function A(){return Array.from(this.children)}function L(t){return new Array(t.length)}function M(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function N(t,e,n,r,i,a){for(var s,o=0,l=e.length,c=a.length;o<c;++o)(s=e[o])?(s.__data__=a[o],r[o]=s):n[o]=new M(t,a[o]);for(;o<l;++o)(s=e[o])&&(i[o]=s)}function I(t,e,n,r,i,a,s){var o,l,c,h=new Map,u=e.length,d=a.length,p=new Array(u);for(o=0;o<u;++o)(l=e[o])&&(p[o]=c=s.call(l,l.__data__,o,e)+"",h.has(c)?i[o]=l:h.set(c,l));for(o=0;o<d;++o)c=s.call(t,a[o],o,a)+"",(l=h.get(c))?(r[o]=l,l.__data__=a[o],h.delete(c)):n[o]=new M(t,a[o]);for(o=0;o<u;++o)(l=e[o])&&h.get(p[o])===l&&(i[o]=l)}function R(t){return t.__data__}function D(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function O(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}M.prototype={constructor:M,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var P="http://www.w3.org/1999/xhtml";const $={svg:"http://www.w3.org/2000/svg",xhtml:P,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function B(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),$.hasOwnProperty(e)?{space:$[e],local:t}:t}function F(t){return function(){this.removeAttribute(t)}}function W(t){return function(){this.removeAttributeNS(t.space,t.local)}}function z(t,e){return function(){this.setAttribute(t,e)}}function Z(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Y(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function U(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function G(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function V(t){return function(){this.style.removeProperty(t)}}function q(t,e,n){return function(){this.style.setProperty(t,e,n)}}function j(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function H(t,e){return t.style.getPropertyValue(e)||G(t).getComputedStyle(t,null).getPropertyValue(e)}function X(t){return function(){delete this[t]}}function K(t,e){return function(){this[t]=e}}function Q(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function J(t){return t.trim().split(/^|\s+/)}function tt(t){return t.classList||new et(t)}function et(t){this._node=t,this._names=J(t.getAttribute("class")||"")}function nt(t,e){for(var n=tt(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function rt(t,e){for(var n=tt(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function it(t){return function(){nt(this,t)}}function at(t){return function(){rt(this,t)}}function st(t,e){return function(){(e.apply(this,arguments)?nt:rt)(this,t)}}function ot(){this.textContent=""}function lt(t){return function(){this.textContent=t}}function ct(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ht(){this.innerHTML=""}function ut(t){return function(){this.innerHTML=t}}function dt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function pt(){this.nextSibling&&this.parentNode.appendChild(this)}function gt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ft(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===P&&e.documentElement.namespaceURI===P?e.createElement(t):e.createElementNS(n,t)}}function mt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function yt(t){var e=B(t);return(e.local?mt:ft)(e)}function vt(){return null}function xt(){var t=this.parentNode;t&&t.removeChild(this)}function bt(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function wt(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function kt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r<a;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function Tt(t,e,n){return function(){var r,i=this.__on,a=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(i)for(var s=0,o=i.length;s<o;++s)if((r=i[s]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=a,r.options=n),void(r.value=e);this.addEventListener(t.type,a,n),r={type:t.type,name:t.name,value:e,listener:a,options:n},i?i.push(r):this.__on=[r]}}function _t(t,e,n){var r=G(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function Et(t,e){return function(){return _t(this,t,e)}}function St(t,e){return function(){return _t(this,t,e.apply(this,arguments))}}et.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Ct=[null];function At(t,e){this._groups=t,this._parents=e}function Lt(){return new At([[document.documentElement]],Ct)}At.prototype=Lt.prototype={constructor:At,select:function(t){"function"!=typeof t&&(t=b(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,s,o=e[i],l=o.length,c=r[i]=new Array(l),h=0;h<l;++h)(a=o[h])&&(s=t.call(a,a.__data__,h,o))&&("__data__"in a&&(s.__data__=a.__data__),c[h]=s);return new At(r,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return null==(e=t.apply(this,arguments))?[]:Array.isArray(e)?e:Array.from(e);var e}}(t):k(t);for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a)for(var s,o=e[a],l=o.length,c=0;c<l;++c)(s=o[c])&&(r.push(t.call(s,s.__data__,c,o)),i.push(s));return new At(r,i)},selectChild:function(t){return this.select(null==t?S:function(t){return function(){return E.call(this.children,t)}}("function"==typeof t?t:_(t)))},selectChildren:function(t){return this.selectAll(null==t?A:function(t){return function(){return C.call(this.children,t)}}("function"==typeof t?t:_(t)))},filter:function(t){"function"!=typeof t&&(t=T(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,s=e[i],o=s.length,l=r[i]=[],c=0;c<o;++c)(a=s[c])&&t.call(a,a.__data__,c,s)&&l.push(a);return new At(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,R);var n,r=e?I:N,i=this._parents,a=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var s=a.length,o=new Array(s),l=new Array(s),c=new Array(s),h=0;h<s;++h){var u=i[h],d=a[h],p=d.length,g=D(t.call(u,u&&u.__data__,h,i)),f=g.length,m=l[h]=new Array(f),y=o[h]=new Array(f);r(u,d,m,y,c[h]=new Array(p),g,e);for(var v,x,b=0,w=0;b<f;++b)if(v=m[b]){for(b>=w&&(w=b+1);!(x=y[w])&&++w<f;);v._next=x||null}}return(o=new At(o,i))._enter=l,o._exit=c,o},enter:function(){return new At(this._enter||this._groups.map(L),this._parents)},exit:function(){return new At(this._exit||this._groups.map(L),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,a=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?a.remove():n(a),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,a=r.length,s=Math.min(i,a),o=new Array(i),l=0;l<s;++l)for(var c,h=n[l],u=r[l],d=h.length,p=o[l]=new Array(d),g=0;g<d;++g)(c=h[g]||u[g])&&(p[g]=c);for(;l<i;++l)o[l]=n[l];return new At(o,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],a=i.length-1,s=i[a];--a>=0;)(r=i[a])&&(s&&4^r.compareDocumentPosition(s)&&s.parentNode.insertBefore(r,s),s=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=O);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var s,o=n[a],l=o.length,c=i[a]=new Array(l),h=0;h<l;++h)(s=o[h])&&(c[h]=s);c.sort(e)}return new At(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,a=r.length;i<a;++i){var s=r[i];if(s)return s}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,a=e[n],s=0,o=a.length;s<o;++s)(i=a[s])&&t.call(i,i.__data__,s,a);return this},attr:function(t,e){var n=B(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?W:F:"function"==typeof e?n.local?U:Y:n.local?Z:z)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?V:"function"==typeof e?j:q)(t,e,null==n?"":n)):H(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?X:"function"==typeof e?Q:K)(t,e)):this.node()[t]},classed:function(t,e){var n=J(t+"");if(arguments.length<2){for(var r=tt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?st:e?it:at)(n,e))},text:function(t){return arguments.length?this.each(null==t?ot:("function"==typeof t?ct:lt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ht:("function"==typeof t?dt:ut)(t)):this.node().innerHTML},raise:function(){return this.each(pt)},lower:function(){return this.each(gt)},append:function(t){var e="function"==typeof t?t:yt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:yt(t),r=null==e?vt:"function"==typeof e?e:b(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(xt)},clone:function(t){return this.select(t?wt:bt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,a=function(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),s=a.length;if(!(arguments.length<2)){for(o=e?Tt:kt,r=0;r<s;++r)this.each(o(a[r],e,n));return this}var o=this.node().__on;if(o)for(var l,c=0,h=o.length;c<h;++c)for(r=0,l=o[c];r<s;++r)if((i=a[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(t,e){return this.each(("function"==typeof e?St:Et)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],a=0,s=i.length;a<s;++a)(r=i[a])&&(yield r)}};const Mt=Lt;var Nt={value:()=>{}};function It(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new Rt(r)}function Rt(t){this._=t}function Dt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function Ot(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=Nt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}Rt.prototype=It.prototype={constructor:Rt,on:function(t,e){var n,r,i=this._,a=(r=i,(t+"").trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),s=-1,o=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++s<o;)if(n=(t=a[s]).type)i[n]=Ot(i[n],t.name,e);else if(null==e)for(n in i)i[n]=Ot(i[n],t.name,null);return this}for(;++s<o;)if((n=(t=a[s]).type)&&(n=Dt(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Rt(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),a=0;a<n;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,n=(r=this._[t]).length;a<n;++a)r[a].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};const Pt=It;var $t,Bt,Ft=0,Wt=0,zt=0,Zt=1e3,Yt=0,Ut=0,Gt=0,Vt="object"==typeof performance&&performance.now?performance:Date,qt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function jt(){return Ut||(qt(Ht),Ut=Vt.now()+Gt)}function Ht(){Ut=0}function Xt(){this._call=this._time=this._next=null}function Kt(t,e,n){var r=new Xt;return r.restart(t,e,n),r}function Qt(){Ut=(Yt=Vt.now())+Gt,Ft=Wt=0;try{!function(){jt(),++Ft;for(var t,e=$t;e;)(t=Ut-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Ft}()}finally{Ft=0,function(){for(var t,e,n=$t,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:$t=e);Bt=t,te(r)}(),Ut=0}}function Jt(){var t=Vt.now(),e=t-Yt;e>Zt&&(Gt-=e,Yt=t)}function te(t){Ft||(Wt&&(Wt=clearTimeout(Wt)),t-Ut>24?(t<1/0&&(Wt=setTimeout(Qt,t-Vt.now()-Gt)),zt&&(zt=clearInterval(zt))):(zt||(Yt=Vt.now(),zt=setInterval(Jt,Zt)),Ft=1,qt(Qt)))}function ee(t,e,n){var r=new Xt;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}Xt.prototype=Kt.prototype={constructor:Xt,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?jt():+n)+(null==e?0:+e),this._next||Bt===this||(Bt?Bt._next=this:$t=this,Bt=this),this._call=t,this._time=n,te()},stop:function(){this._call&&(this._call=null,this._time=1/0,te())}};var ne=Pt("start","end","cancel","interrupt"),re=[],ie=0,ae=3;function se(t,e,n,r,i,a){var s=t.__transition;if(s){if(n in s)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(l){var c,h,u,d;if(1!==n.state)return o();for(c in i)if((d=i[c]).name===n.name){if(d.state===ae)return ee(a);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[c]):+c<e&&(d.state=6,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete i[c])}if(ee((function(){n.state===ae&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(l))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=ae,r=new Array(u=n.tween.length),c=0,h=-1;c<u;++c)(d=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++h]=d);r.length=h+1}}function s(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(o),n.state=5,1),a=-1,s=r.length;++a<s;)r[a].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),o())}function o(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Kt((function(t){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}),0,n.time)}(t,n,{name:e,index:r,group:i,on:ne,tween:re,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:ie})}function oe(t,e){var n=ce(t,e);if(n.state>ie)throw new Error("too late; already scheduled");return n}function le(t,e){var n=ce(t,e);if(n.state>ae)throw new Error("too late; already running");return n}function ce(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function he(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var ue,de=180/Math.PI,pe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ge(t,e,n,r,i,a){var s,o,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(o=Math.sqrt(n*n+r*r))&&(n/=o,r/=o,l/=o),t*r<e*n&&(t=-t,e=-e,l=-l,s=-s),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*de,skewX:Math.atan(l)*de,scaleX:s,scaleY:o}}function fe(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,s){var o=[],l=[];return a=t(a),s=t(s),function(t,r,i,a,s,o){if(t!==i||r!==a){var l=s.push("translate(",null,e,null,n);o.push({i:l-4,x:he(t,i)},{i:l-2,x:he(r,a)})}else(i||a)&&s.push("translate("+i+e+a+n)}(a.translateX,a.translateY,s.translateX,s.translateY,o,l),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:he(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,s.rotate,o,l),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:he(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,s.skewX,o,l),function(t,e,n,r,a,s){if(t!==n||e!==r){var o=a.push(i(a)+"scale(",null,",",null,")");s.push({i:o-4,x:he(t,n)},{i:o-2,x:he(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,s.scaleX,s.scaleY,o,l),a=s=null,function(t){for(var e,n=-1,r=l.length;++n<r;)o[(e=l[n]).i]=e.x(t);return o.join("")}}}var me=fe((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?pe:ge(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),ye=fe((function(t){return null==t?pe:(ue||(ue=document.createElementNS("http://www.w3.org/2000/svg","g")),ue.setAttribute("transform",t),(t=ue.transform.baseVal.consolidate())?ge((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):pe)}),", ",")",")");function ve(t,e){var n,r;return function(){var i=le(this,t),a=i.tween;if(a!==n)for(var s=0,o=(r=n=a).length;s<o;++s)if(r[s].name===e){(r=r.slice()).splice(s,1);break}i.tween=r}}function xe(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var a=le(this,t),s=a.tween;if(s!==r){i=(r=s).slice();for(var o={name:e,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===e){i[l]=o;break}l===c&&i.push(o)}a.tween=i}}function be(t,e,n){var r=t._id;return t.each((function(){var t=le(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return ce(t,r).value[e]}}function we(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function ke(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Te(){}var _e=.7,Ee=1/_e,Se="\\s*([+-]?\\d+)\\s*",Ce="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ae="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Le=/^#([0-9a-f]{3,8})$/,Me=new RegExp(`^rgb\\(${Se},${Se},${Se}\\)$`),Ne=new RegExp(`^rgb\\(${Ae},${Ae},${Ae}\\)$`),Ie=new RegExp(`^rgba\\(${Se},${Se},${Se},${Ce}\\)$`),Re=new RegExp(`^rgba\\(${Ae},${Ae},${Ae},${Ce}\\)$`),De=new RegExp(`^hsl\\(${Ce},${Ae},${Ae}\\)$`),Oe=new RegExp(`^hsla\\(${Ce},${Ae},${Ae},${Ce}\\)$`),Pe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function $e(){return this.rgb().formatHex()}function Be(){return this.rgb().formatRgb()}function Fe(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Le.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?We(e):3===n?new Ue(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?ze(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?ze(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Me.exec(t))?new Ue(e[1],e[2],e[3],1):(e=Ne.exec(t))?new Ue(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Ie.exec(t))?ze(e[1],e[2],e[3],e[4]):(e=Re.exec(t))?ze(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=De.exec(t))?Xe(e[1],e[2]/100,e[3]/100,1):(e=Oe.exec(t))?Xe(e[1],e[2]/100,e[3]/100,e[4]):Pe.hasOwnProperty(t)?We(Pe[t]):"transparent"===t?new Ue(NaN,NaN,NaN,0):null}function We(t){return new Ue(t>>16&255,t>>8&255,255&t,1)}function ze(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ue(t,e,n,r)}function Ze(t){return t instanceof Te||(t=Fe(t)),t?new Ue((t=t.rgb()).r,t.g,t.b,t.opacity):new Ue}function Ye(t,e,n,r){return 1===arguments.length?Ze(t):new Ue(t,e,n,null==r?1:r)}function Ue(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Ge(){return`#${He(this.r)}${He(this.g)}${He(this.b)}`}function Ve(){const t=qe(this.opacity);return`${1===t?"rgb(":"rgba("}${je(this.r)}, ${je(this.g)}, ${je(this.b)}${1===t?")":`, ${t})`}`}function qe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function je(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function He(t){return((t=je(t))<16?"0":"")+t.toString(16)}function Xe(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Qe(t,e,n,r)}function Ke(t){if(t instanceof Qe)return new Qe(t.h,t.s,t.l,t.opacity);if(t instanceof Te||(t=Fe(t)),!t)return new Qe;if(t instanceof Qe)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),s=NaN,o=a-i,l=(a+i)/2;return o?(s=e===a?(n-r)/o+6*(n<r):n===a?(r-e)/o+2:(e-n)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new Qe(s,o,l,t.opacity)}function Qe(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Je(t){return(t=(t||0)%360)<0?t+360:t}function tn(t){return Math.max(0,Math.min(1,t||0))}function en(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function nn(t,e,n,r,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*n+(1+3*t+3*a-3*s)*r+s*i)/6}we(Te,Fe,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:$e,formatHex:$e,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Ke(this).formatHsl()},formatRgb:Be,toString:Be}),we(Ue,Ye,ke(Te,{brighter(t){return t=null==t?Ee:Math.pow(Ee,t),new Ue(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?_e:Math.pow(_e,t),new Ue(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ue(je(this.r),je(this.g),je(this.b),qe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ge,formatHex:Ge,formatHex8:function(){return`#${He(this.r)}${He(this.g)}${He(this.b)}${He(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ve,toString:Ve})),we(Qe,(function(t,e,n,r){return 1===arguments.length?Ke(t):new Qe(t,e,n,null==r?1:r)}),ke(Te,{brighter(t){return t=null==t?Ee:Math.pow(Ee,t),new Qe(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?_e:Math.pow(_e,t),new Qe(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Ue(en(t>=240?t-240:t+120,i,r),en(t,i,r),en(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Qe(Je(this.h),tn(this.s),tn(this.l),qe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=qe(this.opacity);return`${1===t?"hsl(":"hsla("}${Je(this.h)}, ${100*tn(this.s)}%, ${100*tn(this.l)}%${1===t?")":`, ${t})`}`}}));const rn=t=>()=>t;function an(t,e){return function(n){return t+n*e}}function sn(t,e){var n=e-t;return n?an(t,n):rn(isNaN(t)?e:t)}const on=function t(e){var n=function(t){return 1==(t=+t)?sn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):rn(isNaN(e)?n:e)}}(e);function r(t,e){var r=n((t=Ye(t)).r,(e=Ye(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),s=sn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=s(e),t+""}}return r.gamma=t,r}(1);function ln(t){return function(e){var n,r,i=e.length,a=new Array(i),s=new Array(i),o=new Array(i);for(n=0;n<i;++n)r=Ye(e[n]),a[n]=r.r||0,s[n]=r.g||0,o[n]=r.b||0;return a=t(a),s=t(s),o=t(o),r.opacity=1,function(t){return r.r=a(t),r.g=s(t),r.b=o(t),r+""}}}ln((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],s=r>0?t[r-1]:2*i-a,o=r<e-1?t[r+2]:2*a-i;return nn((n-r/e)*e,s,i,a,o)}})),ln((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],s=t[(r+1)%e],o=t[(r+2)%e];return nn((n-r/e)*e,i,a,s,o)}}));var cn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hn=new RegExp(cn.source,"g");function un(t,e){var n,r,i,a=cn.lastIndex=hn.lastIndex=0,s=-1,o=[],l=[];for(t+="",e+="";(n=cn.exec(t))&&(r=hn.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),o[s]?o[s]+=i:o[++s]=i),(n=n[0])===(r=r[0])?o[s]?o[s]+=r:o[++s]=r:(o[++s]=null,l.push({i:s,x:he(n,r)})),a=hn.lastIndex;return a<e.length&&(i=e.slice(a),o[s]?o[s]+=i:o[++s]=i),o.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var n,r=0;r<e;++r)o[(n=l[r]).i]=n.x(t);return o.join("")})}function dn(t,e){var n;return("number"==typeof e?he:e instanceof Fe?on:(n=Fe(e))?(e=n,on):un)(t,e)}function pn(t){return function(){this.removeAttribute(t)}}function gn(t){return function(){this.removeAttributeNS(t.space,t.local)}}function fn(t,e,n){var r,i,a=n+"";return function(){var s=this.getAttribute(t);return s===a?null:s===r?i:i=e(r=s,n)}}function mn(t,e,n){var r,i,a=n+"";return function(){var s=this.getAttributeNS(t.space,t.local);return s===a?null:s===r?i:i=e(r=s,n)}}function yn(t,e,n){var r,i,a;return function(){var s,o,l=n(this);if(null!=l)return(s=this.getAttribute(t))===(o=l+"")?null:s===r&&o===i?a:(i=o,a=e(r=s,l));this.removeAttribute(t)}}function vn(t,e,n){var r,i,a;return function(){var s,o,l=n(this);if(null!=l)return(s=this.getAttributeNS(t.space,t.local))===(o=l+"")?null:s===r&&o===i?a:(i=o,a=e(r=s,l));this.removeAttributeNS(t.space,t.local)}}function xn(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}(t,i)),n}return i._value=e,i}function bn(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}(t,i)),n}return i._value=e,i}function wn(t,e){return function(){oe(this,t).delay=+e.apply(this,arguments)}}function kn(t,e){return e=+e,function(){oe(this,t).delay=e}}function Tn(t,e){return function(){le(this,t).duration=+e.apply(this,arguments)}}function _n(t,e){return e=+e,function(){le(this,t).duration=e}}var En=Mt.prototype.constructor;function Sn(t){return function(){this.style.removeProperty(t)}}var Cn=0;function An(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Ln(){return++Cn}var Mn=Mt.prototype;An.prototype=function(t){return Mt().transition(t)}.prototype={constructor:An,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=b(t));for(var r=this._groups,i=r.length,a=new Array(i),s=0;s<i;++s)for(var o,l,c=r[s],h=c.length,u=a[s]=new Array(h),d=0;d<h;++d)(o=c[d])&&(l=t.call(o,o.__data__,d,c))&&("__data__"in o&&(l.__data__=o.__data__),u[d]=l,se(u[d],e,n,d,u,ce(o,n)));return new An(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=k(t));for(var r=this._groups,i=r.length,a=[],s=[],o=0;o<i;++o)for(var l,c=r[o],h=c.length,u=0;u<h;++u)if(l=c[u]){for(var d,p=t.call(l,l.__data__,u,c),g=ce(l,n),f=0,m=p.length;f<m;++f)(d=p[f])&&se(d,e,n,f,p,g);a.push(p),s.push(l)}return new An(a,s,e,n)},selectChild:Mn.selectChild,selectChildren:Mn.selectChildren,filter:function(t){"function"!=typeof t&&(t=T(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,s=e[i],o=s.length,l=r[i]=[],c=0;c<o;++c)(a=s[c])&&t.call(a,a.__data__,c,s)&&l.push(a);return new An(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),s=new Array(r),o=0;o<a;++o)for(var l,c=e[o],h=n[o],u=c.length,d=s[o]=new Array(u),p=0;p<u;++p)(l=c[p]||h[p])&&(d[p]=l);for(;o<r;++o)s[o]=e[o];return new An(s,this._parents,this._name,this._id)},selection:function(){return new En(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=Ln(),r=this._groups,i=r.length,a=0;a<i;++a)for(var s,o=r[a],l=o.length,c=0;c<l;++c)if(s=o[c]){var h=ce(s,e);se(s,t,n,c,o,{time:h.time+h.delay+h.duration,delay:0,duration:h.duration,ease:h.ease})}return new An(r,this._parents,t,n)},call:Mn.call,nodes:Mn.nodes,node:Mn.node,size:Mn.size,empty:Mn.empty,each:Mn.each,on:function(t,e){var n=this._id;return arguments.length<2?ce(this.node(),n).on.on(t):this.each(function(t,e,n){var r,i,a=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?oe:le;return function(){var s=a(this,t),o=s.on;o!==r&&(i=(r=o).copy()).on(e,n),s.on=i}}(n,t,e))},attr:function(t,e){var n=B(t),r="transform"===n?ye:dn;return this.attrTween(t,"function"==typeof e?(n.local?vn:yn)(n,r,be(this,"attr."+t,e)):null==e?(n.local?gn:pn)(n):(n.local?mn:fn)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=B(t);return this.tween(n,(r.local?xn:bn)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?me:dn;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var a=H(this,t),s=(this.style.removeProperty(t),H(this,t));return a===s?null:a===n&&s===r?i:i=e(n=a,r=s)}}(t,r)).on("end.style."+t,Sn(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,a;return function(){var s=H(this,t),o=n(this),l=o+"";return null==o&&(this.style.removeProperty(t),l=o=H(this,t)),s===l?null:s===r&&l===i?a:(i=l,a=e(r=s,o))}}(t,r,be(this,"style."+t,e))).each(function(t,e){var n,r,i,a,s="style."+e,o="end."+s;return function(){var l=le(this,t),c=l.on,h=null==l.value[s]?a||(a=Sn(e)):void 0;c===n&&i===h||(r=(n=c).copy()).on(o,i=h),l.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,a=n+"";return function(){var s=H(this,t);return s===a?null:s===r?i:i=e(r=s,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&function(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}(t,a,n)),r}return a._value=e,a}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(be(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){return function(e){this.textContent=t.call(this,e)}}(r)),e}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=ce(this.node(),n).tween,a=0,s=i.length;a<s;++a)if((r=i[a]).name===t)return r.value;return null}return this.each((null==e?ve:xe)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?wn:kn)(e,t)):ce(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Tn:_n)(e,t)):ce(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){le(this,t).ease=e}}(e,t)):ce(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;le(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(a,s){var o={value:s},l={value:function(){0==--i&&a()}};n.each((function(){var n=le(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(o),e._.interrupt.push(o),e._.end.push(l)),n.on=e})),0===i&&a()}))},[Symbol.iterator]:Mn[Symbol.iterator]};var Nn={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function In(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}Mt.prototype.interrupt=function(t){return this.each((function(){!function(t,e){var n,r,i,a=t.__transition,s=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):s=!1;s&&delete t.__transition}}(this,t)}))},Mt.prototype.transition=function(t){var e,n;t instanceof An?(e=t._id,t=t._name):(e=Ln(),(n=Nn).time=jt(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var s,o=r[a],l=o.length,c=0;c<l;++c)(s=o[c])&&se(s,t,e,c,o,n||In(s,e));return new An(r,this._parents,t,e)};const{abs:Rn,max:Dn,min:On}=Math;function Pn(t){return{type:t}}["w","e"].map(Pn),["n","s"].map(Pn),["n","w","e","s","nw","ne","sw","se"].map(Pn);const $n=Math.PI/180,Bn=180/Math.PI,Fn=.96422,Wn=1,zn=.82521,Zn=4/29,Yn=6/29,Un=3*Yn*Yn,Gn=Yn*Yn*Yn;function Vn(t){if(t instanceof qn)return new qn(t.l,t.a,t.b,t.opacity);if(t instanceof Jn)return tr(t);t instanceof Ue||(t=Ze(t));var e,n,r=Kn(t.r),i=Kn(t.g),a=Kn(t.b),s=jn((.2225045*r+.7168786*i+.0606169*a)/Wn);return r===i&&i===a?e=n=s:(e=jn((.4360747*r+.3850649*i+.1430804*a)/Fn),n=jn((.0139322*r+.0971045*i+.7141733*a)/zn)),new qn(116*s-16,500*(e-s),200*(s-n),t.opacity)}function qn(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function jn(t){return t>Gn?Math.pow(t,1/3):t/Un+Zn}function Hn(t){return t>Yn?t*t*t:Un*(t-Zn)}function Xn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Kn(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Qn(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof Jn)return new Jn(t.h,t.c,t.l,t.opacity);if(t instanceof qn||(t=Vn(t)),0===t.a&&0===t.b)return new Jn(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Bn;return new Jn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new Jn(t,e,n,null==r?1:r)}function Jn(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function tr(t){if(isNaN(t.h))return new qn(t.l,0,0,t.opacity);var e=t.h*$n;return new qn(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function er(t){return function(e,n){var r=t((e=Qn(e)).h,(n=Qn(n)).h),i=sn(e.c,n.c),a=sn(e.l,n.l),s=sn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=s(t),e+""}}}we(qn,(function(t,e,n,r){return 1===arguments.length?Vn(t):new qn(t,e,n,null==r?1:r)}),ke(Te,{brighter(t){return new qn(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new qn(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Ue(Xn(3.1338561*(e=Fn*Hn(e))-1.6168667*(t=Wn*Hn(t))-.4906146*(n=zn*Hn(n))),Xn(-.9787684*e+1.9161415*t+.033454*n),Xn(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),we(Jn,Qn,ke(Te,{brighter(t){return new Jn(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new Jn(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return tr(this).rgb()}}));const nr=er((function(t,e){var n=e-t;return n?an(t,n>180||n<-180?n-360*Math.round(n/360):n):rn(isNaN(t)?e:t)}));function rr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}er(sn);class ir extends Map{constructor(t,e=sr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[e,n]of t)this.set(e,n)}get(t){return super.get(ar(this,t))}has(t){return super.has(ar(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}(this,t))}}function ar({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function sr(t){return null!==t&&"object"==typeof t?t.valueOf():t}const or=Symbol("implicit");function lr(){var t=new ir,e=[],n=[],r=or;function i(i){let a=t.get(i);if(void 0===a){if(r!==or)return r;t.set(i,a=e.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new ir;for(const r of n)t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return lr(e,n).unknown(r)},rr.apply(i,arguments),i}function cr(){var t,e,n=lr().unknown(void 0),r=n.domain,i=n.range,a=0,s=1,o=!1,l=0,c=0,h=.5;function u(){var n=r().length,u=s<a,d=u?s:a,p=u?a:s;t=(p-d)/Math.max(1,n-l+2*c),o&&(t=Math.floor(t)),d+=(p-d-t*(n-l))*h,e=t*(1-l),o&&(d=Math.round(d),e=Math.round(e));var g=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(i);++r<i;)a[r]=t+r*n;return a}(n).map((function(e){return d+t*e}));return i(u?g.reverse():g)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),u()):r()},n.range=function(t){return arguments.length?([a,s]=t,a=+a,s=+s,u()):[a,s]},n.rangeRound=function(t){return[a,s]=t,a=+a,s=+s,o=!0,u()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(o=!!t,u()):o},n.padding=function(t){return arguments.length?(l=Math.min(1,c=+t),u()):l},n.paddingInner=function(t){return arguments.length?(l=Math.min(1,t),u()):l},n.paddingOuter=function(t){return arguments.length?(c=+t,u()):c},n.align=function(t){return arguments.length?(h=Math.max(0,Math.min(1,t)),u()):h},n.copy=function(){return cr(r(),[a,s]).round(o).paddingInner(l).paddingOuter(c).align(h)},rr.apply(u(),arguments)}const hr=Math.sqrt(50),ur=Math.sqrt(10),dr=Math.sqrt(2);function pr(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=hr?10:a>=ur?5:a>=dr?2:1;let o,l,c;return i<0?(c=Math.pow(10,-i)/s,o=Math.round(t*c),l=Math.round(e*c),o/c<t&&++o,l/c>e&&--l,c=-c):(c=Math.pow(10,i)*s,o=Math.round(t/c),l=Math.round(e/c),o*c<t&&++o,l*c>e&&--l),l<o&&.5<=n&&n<2?pr(t,e,2*n):[o,l,c]}function gr(t,e,n){return pr(t=+t,e=+e,n=+n)[2]}function fr(t,e,n){n=+n;const r=(e=+e)<(t=+t),i=r?gr(e,t,n):gr(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}function mr(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function yr(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function vr(t){let e,n,r;function i(t,r,i=0,a=t.length){if(i<a){if(0!==e(r,r))return a;do{const e=i+a>>>1;n(t[e],r)<0?i=e+1:a=e}while(i<a)}return i}return 2!==t.length?(e=mr,n=(e,n)=>mr(t(e),n),r=(e,n)=>t(e)-n):(e=t===mr||t===yr?t:xr,n=t,r=t),{left:i,center:function(t,e,n=0,a=t.length){const s=i(t,e,n,a-1);return s>n&&r(t[s-1],e)>-r(t[s],e)?s-1:s},right:function(t,r,i=0,a=t.length){if(i<a){if(0!==e(r,r))return a;do{const e=i+a>>>1;n(t[e],r)<=0?i=e+1:a=e}while(i<a)}return i}}}function xr(){return 0}const br=vr(mr),wr=br.right,kr=(br.left,vr((function(t){return null===t?NaN:+t})).center,wr);function Tr(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),s=new Array(r);for(n=0;n<i;++n)a[n]=Cr(t[n],e[n]);for(;n<r;++n)s[n]=e[n];return function(t){for(n=0;n<i;++n)s[n]=a[n](t);return s}}function _r(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Er(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=Cr(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}}function Sr(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(n=0;n<r;++n)i[n]=t[n]*(1-a)+e[n]*a;return i}}function Cr(t,e){var n,r,i=typeof e;return null==e||"boolean"===i?rn(e):("number"===i?he:"string"===i?(n=Fe(e))?(e=n,on):un:e instanceof Fe?on:e instanceof Date?_r:(r=e,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(e)?Tr:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?Er:he:Sr))(t,e)}function Ar(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function Lr(t){return+t}var Mr=[0,1];function Nr(t){return t}function Ir(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:(n=isNaN(e)?NaN:.5,function(){return n});var n}function Rr(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i<r?(r=Ir(i,r),a=n(s,a)):(r=Ir(r,i),a=n(a,s)),function(t){return a(r(t))}}function Dr(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),a=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)i[s]=Ir(t[s],t[s+1]),a[s]=n(e[s],e[s+1]);return function(e){var n=kr(t,e,1,r)-1;return a[n](i[n](e))}}function Or(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Pr(){return function(){var t,e,n,r,i,a,s=Mr,o=Mr,l=Cr,c=Nr;function h(){var t,e,n,l=Math.min(s.length,o.length);return c!==Nr&&(t=s[0],e=s[l-1],t>e&&(n=t,t=e,e=n),c=function(n){return Math.max(t,Math.min(e,n))}),r=l>2?Dr:Rr,i=a=null,u}function u(e){return null==e||isNaN(e=+e)?n:(i||(i=r(s.map(t),o,l)))(t(c(e)))}return u.invert=function(n){return c(e((a||(a=r(o,s.map(t),he)))(n)))},u.domain=function(t){return arguments.length?(s=Array.from(t,Lr),h()):s.slice()},u.range=function(t){return arguments.length?(o=Array.from(t),h()):o.slice()},u.rangeRound=function(t){return o=Array.from(t),l=Ar,h()},u.clamp=function(t){return arguments.length?(c=!!t||Nr,h()):c!==Nr},u.interpolate=function(t){return arguments.length?(l=t,h()):l},u.unknown=function(t){return arguments.length?(n=t,u):n},function(n,r){return t=n,e=r,h()}}()(Nr,Nr)}var $r,Br=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Fr(t){if(!(e=Br.exec(t)))throw new Error("invalid format: "+t);var e;return new Wr({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Wr(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function zr(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Zr(t){return(t=zr(Math.abs(t)))?t[1]:NaN}function Yr(t,e){var n=zr(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Fr.prototype=Wr.prototype,Wr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Ur={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Yr(100*t,e),r:Yr,s:function(t,e){var n=zr(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-($r=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+zr(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Gr(t){return t}var Vr,qr,jr,Hr=Array.prototype.map,Xr=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Kr(t){var e=t.domain;return t.ticks=function(t){var n=e();return function(t,e,n){if(!((n=+n)>0))return[];if((t=+t)==(e=+e))return[t];const r=e<t,[i,a,s]=r?pr(e,t,n):pr(t,e,n);if(!(a>=i))return[];const o=a-i+1,l=new Array(o);if(r)if(s<0)for(let t=0;t<o;++t)l[t]=(a-t)/-s;else for(let t=0;t<o;++t)l[t]=(a-t)*s;else if(s<0)for(let t=0;t<o;++t)l[t]=(i+t)/-s;else for(let t=0;t<o;++t)l[t]=(i+t)*s;return l}(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return function(t,e,n,r){var i,a=fr(t,e,n);switch((r=Fr(null==r?",f":r)).type){case"s":var s=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Zr(e)/3)))-Zr(Math.abs(t)))}(a,s))||(r.precision=i),jr(r,s);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Zr(e)-Zr(t))+1}(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Zr(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return qr(r)}(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i,a=e(),s=0,o=a.length-1,l=a[s],c=a[o],h=10;for(c<l&&(i=l,l=c,c=i,i=s,s=o,o=i);h-- >0;){if((i=gr(l,c,n))===r)return a[s]=l,a[o]=c,e(a);if(i>0)l=Math.floor(l/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,c=Math.floor(c*i)/i}r=i}return t},t}function Qr(){var t=Pr();return t.copy=function(){return Or(t,Qr())},rr.apply(t,arguments),Kr(t)}Vr=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Gr:(e=Hr.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],s=0,o=e[0],l=0;i>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),a.push(t.substring(i-=o,i+o)),!((l+=o+1)>r));)o=e[s=(s+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",o=void 0===t.numerals?Gr:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(Hr.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=Fr(t)).fill,n=t.align,u=t.sign,d=t.symbol,p=t.zero,g=t.width,f=t.comma,m=t.precision,y=t.trim,v=t.type;"n"===v?(f=!0,v="g"):Ur[v]||(void 0===m&&(m=12),y=!0,v="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var x="$"===d?i:"#"===d&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",b="$"===d?a:/[%p]/.test(v)?l:"",w=Ur[v],k=/[defgprs%]/.test(v);function T(t){var i,a,l,d=x,T=b;if("c"===v)T=w(t)+T,t="";else{var _=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:w(Math.abs(t),m),y&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),_&&0==+t&&"+"!==u&&(_=!1),d=(_?"("===u?u:c:"-"===u||"("===u?"":u)+d,T=("s"===v?Xr[8+$r/3]:"")+T+(_&&"("===u?")":""),k)for(i=-1,a=t.length;++i<a;)if(48>(l=t.charCodeAt(i))||l>57){T=(46===l?s+t.slice(i+1):t.slice(i))+T,t=t.slice(0,i);break}}f&&!p&&(t=r(t,1/0));var E=d.length+t.length+T.length,S=E<g?new Array(g-E+1).join(e):"";switch(f&&p&&(t=r(S+t,S.length?g-T.length:1/0),S=""),n){case"<":t=d+t+T+S;break;case"=":t=d+S+t+T;break;case"^":t=S.slice(0,E=S.length>>1)+d+t+T+S.slice(E);break;default:t=S+d+t+T}return o(t)}return m=void 0===m?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),T.toString=function(){return t+""},T}return{format:u,formatPrefix:function(t,e){var n=u(((t=Fr(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Zr(e)/3))),i=Math.pow(10,-r),a=Xr[8+r/3];return function(t){return n(i*t)+a}}}}({thousands:",",grouping:[3],currency:["$",""]}),qr=Vr.format,jr=Vr.formatPrefix;const Jr=1e3,ti=6e4,ei=36e5,ni=864e5,ri=6048e5,ii=31536e6,ai=new Date,si=new Date;function oi(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=e=>(t(e=new Date(+e)),e),i.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),i.round=t=>{const e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=(t,n)=>(e(t=new Date(+t),null==n?1:Math.floor(n)),t),i.range=(n,r,a)=>{const s=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r&&a>0))return s;let o;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o<n&&n<r);return s},i.filter=n=>oi((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(i.count=(e,r)=>(ai.setTime(+e),si.setTime(+r),t(ai),t(si),Math.floor(n(ai,si))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?e=>r(e)%t==0:e=>i.count(0,e)%t==0):i:null)),i}const li=oi((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));li.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?oi((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):li:null),li.range;const ci=oi((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*Jr)}),((t,e)=>(e-t)/Jr),(t=>t.getUTCSeconds())),hi=(ci.range,oi((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Jr)}),((t,e)=>{t.setTime(+t+e*ti)}),((t,e)=>(e-t)/ti),(t=>t.getMinutes()))),ui=(hi.range,oi((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*ti)}),((t,e)=>(e-t)/ti),(t=>t.getUTCMinutes()))),di=(ui.range,oi((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Jr-t.getMinutes()*ti)}),((t,e)=>{t.setTime(+t+e*ei)}),((t,e)=>(e-t)/ei),(t=>t.getHours()))),pi=(di.range,oi((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*ei)}),((t,e)=>(e-t)/ei),(t=>t.getUTCHours()))),gi=(pi.range,oi((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ti)/ni),(t=>t.getDate()-1))),fi=(gi.range,oi((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/ni),(t=>t.getUTCDate()-1))),mi=(fi.range,oi((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/ni),(t=>Math.floor(t/ni))));function yi(t){return oi((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ti)/ri))}mi.range;const vi=yi(0),xi=yi(1),bi=yi(2),wi=yi(3),ki=yi(4),Ti=yi(5),_i=yi(6);function Ei(t){return oi((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/ri))}vi.range,xi.range,bi.range,wi.range,ki.range,Ti.range,_i.range;const Si=Ei(0),Ci=Ei(1),Ai=Ei(2),Li=Ei(3),Mi=Ei(4),Ni=Ei(5),Ii=Ei(6),Ri=(Si.range,Ci.range,Ai.range,Li.range,Mi.range,Ni.range,Ii.range,oi((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()))),Di=(Ri.range,oi((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()))),Oi=(Di.range,oi((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear())));Oi.every=t=>isFinite(t=Math.floor(t))&&t>0?oi((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null,Oi.range;const Pi=oi((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));function $i(t,e,n,r,i,a){const s=[[ci,1,Jr],[ci,5,5e3],[ci,15,15e3],[ci,30,3e4],[a,1,ti],[a,5,3e5],[a,15,9e5],[a,30,18e5],[i,1,ei],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,ni],[r,2,1728e5],[n,1,ri],[e,1,2592e6],[e,3,7776e6],[t,1,ii]];function o(e,n,r){const i=Math.abs(n-e)/r,a=vr((([,,t])=>t)).right(s,i);if(a===s.length)return t.every(fr(e/ii,n/ii,r));if(0===a)return li.every(Math.max(fr(e,n,r),1));const[o,l]=s[i/s[a-1][2]<s[a][2]/i?a-1:a];return o.every(l)}return[function(t,e,n){const r=e<t;r&&([t,e]=[e,t]);const i=n&&"function"==typeof n.range?n:o(t,e,n),a=i?i.range(t,+e+1):[];return r?a.reverse():a},o]}Pi.every=t=>isFinite(t=Math.floor(t))&&t>0?oi((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null,Pi.range;const[Bi,Fi]=$i(Pi,Di,Si,mi,pi,ui),[Wi,zi]=$i(Oi,Ri,vi,gi,di,hi);function Zi(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Yi(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ui(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var Gi,Vi,qi={"-":"",_:" ",0:"0"},ji=/^\s*\d+/,Hi=/^%/,Xi=/[\\^$*+?|[\]().{}]/g;function Ki(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Qi(t){return t.replace(Xi,"\\$&")}function Ji(t){return new RegExp("^(?:"+t.map(Qi).join("|")+")","i")}function ta(t){return new Map(t.map(((t,e)=>[t.toLowerCase(),e])))}function ea(t,e,n){var r=ji.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function na(t,e,n){var r=ji.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function ra(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function ia(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function aa(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function sa(t,e,n){var r=ji.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function oa(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function la(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function ca(t,e,n){var r=ji.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function ha(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ua(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function da(t,e,n){var r=ji.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function pa(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function ga(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function fa(t,e,n){var r=ji.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function ma(t,e,n){var r=ji.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function ya(t,e,n){var r=ji.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function va(t,e,n){var r=Hi.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function xa(t,e,n){var r=ji.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function ba(t,e,n){var r=ji.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function wa(t,e){return Ki(t.getDate(),e,2)}function ka(t,e){return Ki(t.getHours(),e,2)}function Ta(t,e){return Ki(t.getHours()%12||12,e,2)}function _a(t,e){return Ki(1+gi.count(Oi(t),t),e,3)}function Ea(t,e){return Ki(t.getMilliseconds(),e,3)}function Sa(t,e){return Ea(t,e)+"000"}function Ca(t,e){return Ki(t.getMonth()+1,e,2)}function Aa(t,e){return Ki(t.getMinutes(),e,2)}function La(t,e){return Ki(t.getSeconds(),e,2)}function Ma(t){var e=t.getDay();return 0===e?7:e}function Na(t,e){return Ki(vi.count(Oi(t)-1,t),e,2)}function Ia(t){var e=t.getDay();return e>=4||0===e?ki(t):ki.ceil(t)}function Ra(t,e){return t=Ia(t),Ki(ki.count(Oi(t),t)+(4===Oi(t).getDay()),e,2)}function Da(t){return t.getDay()}function Oa(t,e){return Ki(xi.count(Oi(t)-1,t),e,2)}function Pa(t,e){return Ki(t.getFullYear()%100,e,2)}function $a(t,e){return Ki((t=Ia(t)).getFullYear()%100,e,2)}function Ba(t,e){return Ki(t.getFullYear()%1e4,e,4)}function Fa(t,e){var n=t.getDay();return Ki((t=n>=4||0===n?ki(t):ki.ceil(t)).getFullYear()%1e4,e,4)}function Wa(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ki(e/60|0,"0",2)+Ki(e%60,"0",2)}function za(t,e){return Ki(t.getUTCDate(),e,2)}function Za(t,e){return Ki(t.getUTCHours(),e,2)}function Ya(t,e){return Ki(t.getUTCHours()%12||12,e,2)}function Ua(t,e){return Ki(1+fi.count(Pi(t),t),e,3)}function Ga(t,e){return Ki(t.getUTCMilliseconds(),e,3)}function Va(t,e){return Ga(t,e)+"000"}function qa(t,e){return Ki(t.getUTCMonth()+1,e,2)}function ja(t,e){return Ki(t.getUTCMinutes(),e,2)}function Ha(t,e){return Ki(t.getUTCSeconds(),e,2)}function Xa(t){var e=t.getUTCDay();return 0===e?7:e}function Ka(t,e){return Ki(Si.count(Pi(t)-1,t),e,2)}function Qa(t){var e=t.getUTCDay();return e>=4||0===e?Mi(t):Mi.ceil(t)}function Ja(t,e){return t=Qa(t),Ki(Mi.count(Pi(t),t)+(4===Pi(t).getUTCDay()),e,2)}function ts(t){return t.getUTCDay()}function es(t,e){return Ki(Ci.count(Pi(t)-1,t),e,2)}function ns(t,e){return Ki(t.getUTCFullYear()%100,e,2)}function rs(t,e){return Ki((t=Qa(t)).getUTCFullYear()%100,e,2)}function is(t,e){return Ki(t.getUTCFullYear()%1e4,e,4)}function as(t,e){var n=t.getUTCDay();return Ki((t=n>=4||0===n?Mi(t):Mi.ceil(t)).getUTCFullYear()%1e4,e,4)}function ss(){return"+0000"}function os(){return"%"}function ls(t){return+t}function cs(t){return Math.floor(+t/1e3)}function hs(t){return new Date(t)}function us(t){return t instanceof Date?+t:+new Date(+t)}function ds(t,e,n,r,i,a,s,o,l,c){var h=Pr(),u=h.invert,d=h.domain,p=c(".%L"),g=c(":%S"),f=c("%I:%M"),m=c("%I %p"),y=c("%a %d"),v=c("%b %d"),x=c("%B"),b=c("%Y");function w(t){return(l(t)<t?p:o(t)<t?g:s(t)<t?f:a(t)<t?m:r(t)<t?i(t)<t?y:v:n(t)<t?x:b)(t)}return h.invert=function(t){return new Date(u(t))},h.domain=function(t){return arguments.length?d(Array.from(t,us)):d().map(hs)},h.ticks=function(e){var n=d();return t(n[0],n[n.length-1],null==e?10:e)},h.tickFormat=function(t,e){return null==e?w:c(e)},h.nice=function(t){var n=d();return t&&"function"==typeof t.range||(t=e(n[0],n[n.length-1],null==t?10:t)),t?d(function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],s=t[i];return s<a&&(n=r,r=i,i=n,n=a,a=s,s=n),t[r]=e.floor(a),t[i]=e.ceil(s),t}(n,t)):h},h.copy=function(){return Or(h,ds(t,e,n,r,i,a,s,o,l,c))},h}function ps(){return rr.apply(ds(Wi,zi,Oi,Ri,vi,gi,di,hi,ci,Vi).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}Gi=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,s=t.shortDays,o=t.months,l=t.shortMonths,c=Ji(i),h=ta(i),u=Ji(a),d=ta(a),p=Ji(s),g=ta(s),f=Ji(o),m=ta(o),y=Ji(l),v=ta(l),x={a:function(t){return s[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return o[t.getMonth()]},c:null,d:wa,e:wa,f:Sa,g:$a,G:Fa,H:ka,I:Ta,j:_a,L:Ea,m:Ca,M:Aa,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:ls,s:cs,S:La,u:Ma,U:Na,V:Ra,w:Da,W:Oa,x:null,X:null,y:Pa,Y:Ba,Z:Wa,"%":os},b={a:function(t){return s[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return o[t.getUTCMonth()]},c:null,d:za,e:za,f:Va,g:rs,G:as,H:Za,I:Ya,j:Ua,L:Ga,m:qa,M:ja,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:ls,s:cs,S:Ha,u:Xa,U:Ka,V:Ja,w:ts,W:es,x:null,X:null,y:ns,Y:is,Z:ss,"%":os},w={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=g.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return _(t,e,n,r)},d:ua,e:ua,f:ya,g:oa,G:sa,H:pa,I:pa,j:da,L:ma,m:ha,M:ga,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=h.get(r[0].toLowerCase()),n+r[0].length):-1},q:ca,Q:xa,s:ba,S:fa,u:na,U:ra,V:ia,w:ea,W:aa,x:function(t,e,r){return _(t,n,e,r)},X:function(t,e,n){return _(t,r,e,n)},y:oa,Y:sa,Z:la,"%":va};function k(t,e){return function(n){var r,i,a,s=[],o=-1,l=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++o<c;)37===t.charCodeAt(o)&&(s.push(t.slice(l,o)),null!=(i=qi[r=t.charAt(++o)])?r=t.charAt(++o):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),s.push(r),l=o+1);return s.push(t.slice(l,o)),s.join("")}}function T(t,e){return function(n){var r,i,a=Ui(1900,void 0,1);if(_(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(e&&!("Z"in a)&&(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=Yi(Ui(a.y,0,1))).getUTCDay(),r=i>4||0===i?Ci.ceil(r):Ci(r),r=fi.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=Zi(Ui(a.y,0,1))).getDay(),r=i>4||0===i?xi.ceil(r):xi(r),r=gi.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?Yi(Ui(a.y,0,1)).getUTCDay():Zi(Ui(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Yi(a)):Zi(a)}}function _(t,e,n,r){for(var i,a,s=0,o=e.length,l=n.length;s<o;){if(r>=l)return-1;if(37===(i=e.charCodeAt(s++))){if(i=e.charAt(s++),!(a=w[i in qi?e.charAt(s++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return x.x=k(n,x),x.X=k(r,x),x.c=k(e,x),b.x=k(n,b),b.X=k(r,b),b.c=k(e,b),{format:function(t){var e=k(t+="",x);return e.toString=function(){return t},e},parse:function(t){var e=T(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",b);return e.toString=function(){return t},e},utcParse:function(t){var e=T(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Vi=Gi.format,Gi.parse,Gi.utcFormat,Gi.utcParse;const gs=function(t){for(var e=new Array(10),n=0;n<10;)e[n]="#"+t.slice(6*n,6*++n);return e}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function fs(t){return"string"==typeof t?new At([[document.querySelector(t)]],[document.documentElement]):new At([[t]],Ct)}function ms(t){return function(){return t}}const ys=Math.abs,vs=Math.atan2,xs=Math.cos,bs=Math.max,ws=Math.min,ks=Math.sin,Ts=Math.sqrt,_s=1e-12,Es=Math.PI,Ss=Es/2,Cs=2*Es;function As(t){return t>=1?Ss:t<=-1?-Ss:Math.asin(t)}const Ls=Math.PI,Ms=2*Ls,Ns=1e-6,Is=Ms-Ns;function Rs(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}class Ds{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?Rs:function(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Rs;const n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=Math.round(arguments[e]*n)/n+t[e]}}(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,n,r){this._append`Q${+t},${+e},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(t,e,n,r,i,a){this._append`C${+t},${+e},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(t,e,n,r,i){if(t=+t,e=+e,n=+n,r=+r,(i=+i)<0)throw new Error(`negative radius: ${i}`);let a=this._x1,s=this._y1,o=n-t,l=r-e,c=a-t,h=s-e,u=c*c+h*h;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(u>Ns)if(Math.abs(h*o-l*c)>Ns&&i){let d=n-a,p=r-s,g=o*o+l*l,f=d*d+p*p,m=Math.sqrt(g),y=Math.sqrt(u),v=i*Math.tan((Ls-Math.acos((g+u-f)/(2*m*y)))/2),x=v/y,b=v/m;Math.abs(x-1)>Ns&&this._append`L${t+x*c},${e+x*h}`,this._append`A${i},${i},0,0,${+(h*d>c*p)},${this._x1=t+b*o},${this._y1=e+b*l}`}else this._append`L${this._x1=t},${this._y1=e}`}arc(t,e,n,r,i,a){if(t=+t,e=+e,a=!!a,(n=+n)<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(r),o=n*Math.sin(r),l=t+s,c=e+o,h=1^a,u=a?r-i:i-r;null===this._x1?this._append`M${l},${c}`:(Math.abs(this._x1-l)>Ns||Math.abs(this._y1-c)>Ns)&&this._append`L${l},${c}`,n&&(u<0&&(u=u%Ms+Ms),u>Is?this._append`A${n},${n},0,1,${h},${t-s},${e-o}A${n},${n},0,1,${h},${this._x1=l},${this._y1=c}`:u>Ns&&this._append`A${n},${n},0,${+(u>=Ls)},${h},${this._x1=t+n*Math.cos(i)},${this._y1=e+n*Math.sin(i)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function Os(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);e=t}return t},()=>new Ds(e)}function Ps(t){return t.innerRadius}function $s(t){return t.outerRadius}function Bs(t){return t.startAngle}function Fs(t){return t.endAngle}function Ws(t){return t&&t.padAngle}function zs(t,e,n,r,i,a,s){var o=t-n,l=e-r,c=(s?a:-a)/Ts(o*o+l*l),h=c*l,u=-c*o,d=t+h,p=e+u,g=n+h,f=r+u,m=(d+g)/2,y=(p+f)/2,v=g-d,x=f-p,b=v*v+x*x,w=i-a,k=d*f-g*p,T=(x<0?-1:1)*Ts(bs(0,w*w*b-k*k)),_=(k*x-v*T)/b,E=(-k*v-x*T)/b,S=(k*x+v*T)/b,C=(-k*v+x*T)/b,A=_-m,L=E-y,M=S-m,N=C-y;return A*A+L*L>M*M+N*N&&(_=S,E=C),{cx:_,cy:E,x01:-h,y01:-u,x11:_*(i/w-1),y11:E*(i/w-1)}}function Zs(){var t=Ps,e=$s,n=ms(0),r=null,i=Bs,a=Fs,s=Ws,o=null,l=Os(c);function c(){var c,h,u,d=+t.apply(this,arguments),p=+e.apply(this,arguments),g=i.apply(this,arguments)-Ss,f=a.apply(this,arguments)-Ss,m=ys(f-g),y=f>g;if(o||(o=c=l()),p<d&&(h=p,p=d,d=h),p>_s)if(m>Cs-_s)o.moveTo(p*xs(g),p*ks(g)),o.arc(0,0,p,g,f,!y),d>_s&&(o.moveTo(d*xs(f),d*ks(f)),o.arc(0,0,d,f,g,y));else{var v,x,b=g,w=f,k=g,T=f,_=m,E=m,S=s.apply(this,arguments)/2,C=S>_s&&(r?+r.apply(this,arguments):Ts(d*d+p*p)),A=ws(ys(p-d)/2,+n.apply(this,arguments)),L=A,M=A;if(C>_s){var N=As(C/d*ks(S)),I=As(C/p*ks(S));(_-=2*N)>_s?(k+=N*=y?1:-1,T-=N):(_=0,k=T=(g+f)/2),(E-=2*I)>_s?(b+=I*=y?1:-1,w-=I):(E=0,b=w=(g+f)/2)}var R=p*xs(b),D=p*ks(b),O=d*xs(T),P=d*ks(T);if(A>_s){var $,B=p*xs(w),F=p*ks(w),W=d*xs(k),z=d*ks(k);if(m<Es)if($=function(t,e,n,r,i,a,s,o){var l=n-t,c=r-e,h=s-i,u=o-a,d=u*l-h*c;if(!(d*d<_s))return[t+(d=(h*(e-a)-u*(t-i))/d)*l,e+d*c]}(R,D,W,z,B,F,O,P)){var Z=R-$[0],Y=D-$[1],U=B-$[0],G=F-$[1],V=1/ks(((u=(Z*U+Y*G)/(Ts(Z*Z+Y*Y)*Ts(U*U+G*G)))>1?0:u<-1?Es:Math.acos(u))/2),q=Ts($[0]*$[0]+$[1]*$[1]);L=ws(A,(d-q)/(V-1)),M=ws(A,(p-q)/(V+1))}else L=M=0}E>_s?M>_s?(v=zs(W,z,R,D,p,M,y),x=zs(B,F,O,P,p,M,y),o.moveTo(v.cx+v.x01,v.cy+v.y01),M<A?o.arc(v.cx,v.cy,M,vs(v.y01,v.x01),vs(x.y01,x.x01),!y):(o.arc(v.cx,v.cy,M,vs(v.y01,v.x01),vs(v.y11,v.x11),!y),o.arc(0,0,p,vs(v.cy+v.y11,v.cx+v.x11),vs(x.cy+x.y11,x.cx+x.x11),!y),o.arc(x.cx,x.cy,M,vs(x.y11,x.x11),vs(x.y01,x.x01),!y))):(o.moveTo(R,D),o.arc(0,0,p,b,w,!y)):o.moveTo(R,D),d>_s&&_>_s?L>_s?(v=zs(O,P,B,F,d,-L,y),x=zs(R,D,W,z,d,-L,y),o.lineTo(v.cx+v.x01,v.cy+v.y01),L<A?o.arc(v.cx,v.cy,L,vs(v.y01,v.x01),vs(x.y01,x.x01),!y):(o.arc(v.cx,v.cy,L,vs(v.y01,v.x01),vs(v.y11,v.x11),!y),o.arc(0,0,d,vs(v.cy+v.y11,v.cx+v.x11),vs(x.cy+x.y11,x.cx+x.x11),y),o.arc(x.cx,x.cy,L,vs(x.y11,x.x11),vs(x.y01,x.x01),!y))):o.arc(0,0,d,T,k,y):o.lineTo(O,P)}else o.moveTo(0,0);if(o.closePath(),c)return o=null,c+""||null}return c.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Es/2;return[xs(r)*n,ks(r)*n]},c.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),c):t},c.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:ms(+t),c):e},c.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:ms(+t),c):n},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:ms(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:ms(+t),c):i},c.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:ms(+t),c):a},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:ms(+t),c):s},c.context=function(t){return arguments.length?(o=null==t?null:t,c):o},c}function Ys(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function Us(t){this._context=t}function Gs(t){return new Us(t)}function Vs(t){return t[0]}function qs(t){return t[1]}function js(t,e){var n=ms(!0),r=null,i=Gs,a=null,s=Os(o);function o(o){var l,c,h,u=(o=Ys(o)).length,d=!1;for(null==r&&(a=i(h=s())),l=0;l<=u;++l)!(l<u&&n(c=o[l],l,o))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+t(c,l,o),+e(c,l,o));if(h)return a=null,h+""||null}return t="function"==typeof t?t:void 0===t?Vs:ms(t),e="function"==typeof e?e:void 0===e?qs:ms(e),o.x=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),o):t},o.y=function(t){return arguments.length?(e="function"==typeof t?t:ms(+t),o):e},o.defined=function(t){return arguments.length?(n="function"==typeof t?t:ms(!!t),o):n},o.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),o):i},o.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),o):r},o}function Hs(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function Xs(t){return t}function Ks(){var t=Xs,e=Hs,n=null,r=ms(0),i=ms(Cs),a=ms(0);function s(s){var o,l,c,h,u,d=(s=Ys(s)).length,p=0,g=new Array(d),f=new Array(d),m=+r.apply(this,arguments),y=Math.min(Cs,Math.max(-Cs,i.apply(this,arguments)-m)),v=Math.min(Math.abs(y)/d,a.apply(this,arguments)),x=v*(y<0?-1:1);for(o=0;o<d;++o)(u=f[g[o]=o]=+t(s[o],o,s))>0&&(p+=u);for(null!=e?g.sort((function(t,n){return e(f[t],f[n])})):null!=n&&g.sort((function(t,e){return n(s[t],s[e])})),o=0,c=p?(y-d*x)/p:0;o<d;++o,m=h)l=g[o],h=m+((u=f[l])>0?u*c:0)+x,f[l]={data:s[l],index:o,value:u,startAngle:m,endAngle:h,padAngle:v};return f}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:ms(+t),s):r},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:ms(+t),s):i},s.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:ms(+t),s):a},s}function Qs(){}function Js(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function to(t){this._context=t}function eo(t){return new to(t)}function no(t){this._context=t}function ro(t){return new no(t)}function io(t){this._context=t}function ao(t){return new io(t)}Ds.prototype,Array.prototype.slice,Us.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},to.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Js(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Js(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},no.prototype={areaStart:Qs,areaEnd:Qs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Js(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},io.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Js(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class so{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function oo(t){return new so(t,!0)}function lo(t){return new so(t,!1)}function co(t,e){this._basis=new to(t),this._beta=e}co.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],s=t[n]-i,o=e[n]-a,l=-1;++l<=n;)r=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+r*s),this._beta*e[l]+(1-this._beta)*(a+r*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const ho=function t(e){function n(t){return 1===e?new to(t):new co(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function uo(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function po(t,e){this._context=t,this._k=(1-e)/6}po.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:uo(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:uo(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const go=function t(e){function n(t){return new po(t,e)}return n.tension=function(e){return t(+e)},n}(0);function fo(t,e){this._context=t,this._k=(1-e)/6}fo.prototype={areaStart:Qs,areaEnd:Qs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:uo(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const mo=function t(e){function n(t){return new fo(t,e)}return n.tension=function(e){return t(+e)},n}(0);function yo(t,e){this._context=t,this._k=(1-e)/6}yo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:uo(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const vo=function t(e){function n(t){return new yo(t,e)}return n.tension=function(e){return t(+e)},n}(0);function xo(t,e,n){var r=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>_s){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>_s){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*c+t._y1*t._l23_2a-n*t._l12_2a)/h}t._context.bezierCurveTo(r,i,a,s,t._x2,t._y2)}function bo(t,e){this._context=t,this._alpha=e}bo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:xo(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const wo=function t(e){function n(t){return e?new bo(t,e):new po(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ko(t,e){this._context=t,this._alpha=e}ko.prototype={areaStart:Qs,areaEnd:Qs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:xo(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const To=function t(e){function n(t){return e?new ko(t,e):new fo(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function _o(t,e){this._context=t,this._alpha=e}_o.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xo(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Eo=function t(e){function n(t){return e?new _o(t,e):new yo(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function So(t){this._context=t}function Co(t){return new So(t)}function Ao(t){return t<0?-1:1}function Lo(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),s=(n-t._y1)/(i||r<0&&-0),o=(a*i+s*r)/(r+i);return(Ao(a)+Ao(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function Mo(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function No(t,e,n){var r=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-r)/3;t._context.bezierCurveTo(r+o,i+o*e,a-o,s-o*n,a,s)}function Io(t){this._context=t}function Ro(t){this._context=new Do(t)}function Do(t){this._context=t}function Oo(t){return new Io(t)}function Po(t){return new Ro(t)}function $o(t){this._context=t}function Bo(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,a[e]=4,s[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,s[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,s[e]-=n*s[e-1];for(i[r-1]=s[r-1]/a[r-1],e=r-2;e>=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function Fo(t){return new $o(t)}function Wo(t,e){this._context=t,this._t=e}function zo(t){return new Wo(t,.5)}function Zo(t){return new Wo(t,0)}function Yo(t){return new Wo(t,1)}function Uo(t,e,n){this.k=t,this.x=e,this.y=n}So.prototype={areaStart:Qs,areaEnd:Qs,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Io.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:No(this,this._t0,Mo(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,No(this,Mo(this,n=Lo(this,t,e)),n);break;default:No(this,this._t0,n=Lo(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(Ro.prototype=Object.create(Io.prototype)).point=function(t,e){Io.prototype.point.call(this,e,t)},Do.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}},$o.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=Bo(t),i=Bo(e),a=0,s=1;s<n;++a,++s)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[s],e[s]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Wo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},Uo.prototype={constructor:Uo,scale:function(t){return 1===t?this:new Uo(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Uo(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},new Uo(1,0,0),Uo.prototype},4840:(t,e,n)=>{"use strict";n.d(e,{bK:()=>ve});var r=n(870),i=n(2402),a=0;const s=function(t){var e=++a;return(0,i.Z)(t)+e};var o=n(2002),l=n(7961),c=n(3836),h=Math.ceil,u=Math.max;var d=n(439),p=n(6770);const g=function(t,e,n){return n&&"number"!=typeof n&&(0,d.Z)(t,e,n)&&(e=n=void 0),t=(0,p.Z)(t),void 0===e?(e=t,t=0):e=(0,p.Z)(e),function(t,e,n,r){for(var i=-1,a=u(h((e-t)/(n||1)),0),s=Array(a);a--;)s[r?a:++i]=t,t+=n;return s}(t,e,n=void 0===n?t<e?1:-1:(0,p.Z)(n),void 0)};var f=n(5625);class m{constructor(){var t={};t._next=t._prev=t,this._sentinel=t}dequeue(){var t=this._sentinel,e=t._prev;if(e!==t)return y(e),e}enqueue(t){var e=this._sentinel;t._prev&&t._next&&y(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,v)),n=n._prev;return"["+t.join(", ")+"]"}}function y(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function v(t,e){if("_next"!==t&&"_prev"!==t)return e}var x=o.Z(1);function b(t,e,n,i,a){var s=a?[]:void 0;return r.Z(t.inEdges(i.v),(function(r){var i=t.edge(r),o=t.node(r.v);a&&s.push({v:r.v,w:r.w}),o.out-=i,w(e,n,o)})),r.Z(t.outEdges(i.v),(function(r){var i=t.edge(r),a=r.w,s=t.node(a);s.in-=i,w(e,n,s)})),t.removeNode(i.v),s}function w(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}function k(t){var e="greedy"===t.graph().acyclicer?function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new f.k,i=0,a=0;r.Z(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.Z(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,s=e(t),o=r+s;n.setEdge(t.v,t.w,o),a=Math.max(a,n.node(t.v).out+=s),i=Math.max(i,n.node(t.w).in+=s)}));var s=g(a+i+3).map((function(){return new m})),o=i+1;return r.Z(n.nodes(),(function(t){w(s,o,n.node(t))})),{graph:n,buckets:s,zeroIdx:o}}(t,e||x),i=function(t,e,n){for(var r,i=[],a=e[e.length-1],s=e[0];t.nodeCount();){for(;r=s.dequeue();)b(t,e,n,r);for(;r=a.dequeue();)b(t,e,n,r);if(t.nodeCount())for(var o=e.length-2;o>0;--o)if(r=e[o].dequeue()){i=i.concat(b(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return l.Z(c.Z(i,(function(e){return t.outEdges(e.v,e.w)})))}(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.Z(t.nodes(),(function a(s){Object.prototype.hasOwnProperty.call(i,s)||(i[s]=!0,n[s]=!0,r.Z(t.outEdges(s),(function(t){Object.prototype.hasOwnProperty.call(n,t.w)?e.push(t):a(t.w)})),delete n[s])})),e}(t);r.Z(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,s("rev"))}))}var T=n(7103),_=n(7993),E=n(1910);var S=n(3948),C=n(3626);const A=(L=function(t,e){return null==t?{}:function(t,e){return(0,_.Z)(t,e,(function(e,n){return(0,E.Z)(t,n)}))}(t,e)},(0,C.Z)((0,S.Z)(L,void 0,l.Z),L+""));var L,M=n(3688),N=n(8e3);const I=function(t,e){return t>e};var R=n(9203);const D=function(t){return t&&t.length?(0,N.Z)(t,R.Z,I):void 0};var O=n(935),P=n(4752),$=n(2693),B=n(506);const F=function(t,e){var n={};return e=(0,B.Z)(e,3),(0,$.Z)(t,(function(t,r,i){(0,P.Z)(n,r,e(t,r,i))})),n};var W=n(9360),z=n(3729),Z=n(3402),Y=n(6092);const U=function(){return Y.Z.Date.now()};function G(t,e,n,r){var i;do{i=s(r)}while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function V(t){var e=new f.k({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.Z(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.Z(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e}function q(t,e){var n,r,i=t.x,a=t.y,s=e.x-i,o=e.y-a,l=t.width/2,c=t.height/2;if(!s&&!o)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(o)*l>Math.abs(s)*c?(o<0&&(c=-c),n=c*s/o,r=c):(s<0&&(l=-l),n=l,r=l*o/s),{x:i+n,y:a+r}}function j(t){var e=c.Z(g(X(t)+1),(function(){return[]}));return r.Z(t.nodes(),(function(n){var r=t.node(n),i=r.rank;W.Z(i)||(e[i][r.order]=n)})),e}function H(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),G(t,"border",i,e)}function X(t){return D(c.Z(t.nodes(),(function(e){var n=t.node(e).rank;if(!W.Z(n))return n})))}function K(t,e){var n=U();try{return e()}finally{console.log(t+" time: "+(U()-n)+"ms")}}function Q(t,e){return e()}function J(t,e,n,r,i,a){var s={width:0,height:0,rank:a,borderType:e},o=i[e][a-1],l=G(t,"border",s,n);i[e][a]=l,t.setParent(l,r),o&&t.setEdge(o,l,{weight:1})}function tt(t){r.Z(t.nodes(),(function(e){et(t.node(e))})),r.Z(t.edges(),(function(e){et(t.edge(e))}))}function et(t){var e=t.width;t.width=t.height,t.height=e}function nt(t){t.y=-t.y}function rt(t){var e=t.x;t.x=t.y,t.y=e}var it=n(676);const at=function(t,e){return t&&t.length?(0,N.Z)(t,(0,B.Z)(e,2),it.Z):void 0};function st(t){var e={};r.Z(t.sources(),(function n(r){var i=t.node(r);if(Object.prototype.hasOwnProperty.call(e,r))return i.rank;e[r]=!0;var a=z.Z(c.Z(t.outEdges(r),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),i.rank=a}))}function ot(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}function lt(t){var e,n,r=new f.k({directed:!1}),i=t.nodes()[0],a=t.nodeCount();for(r.setNode(i,{});ct(r,t)<a;)e=ht(r,t),n=r.hasNode(e.v)?ot(t,e):-ot(t,e),ut(r,t,n);return r}function ct(t,e){return r.Z(t.nodes(),(function n(i){r.Z(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||ot(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function ht(t,e){return at(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return ot(e,n)}))}function ut(t,e,n){r.Z(t.nodes(),(function(t){e.node(t).rank+=n}))}var dt=n(6026),pt=n(9601);o.Z(1),o.Z(1),n(8448),n(6155),n(585),n(6378),(0,n(4193).Z)("length"),RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var gt="\\ud800-\\udfff",ft="["+gt+"]",mt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",yt="\\ud83c[\\udffb-\\udfff]",vt="[^"+gt+"]",xt="(?:\\ud83c[\\udde6-\\uddff]){2}",bt="[\\ud800-\\udbff][\\udc00-\\udfff]",wt="(?:"+mt+"|"+yt+")?",kt="[\\ufe0e\\ufe0f]?",Tt=kt+wt+"(?:\\u200d(?:"+[vt,xt,bt].join("|")+")"+kt+wt+")*",_t="(?:"+[vt+mt+"?",mt,xt,bt,ft].join("|")+")";RegExp(yt+"(?="+yt+")|"+_t+Tt,"g"),new Error;var Et=n(7771);function St(t,e,n){Et.Z(e)||(e=[e]);var i=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.Z(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);Ct(t,e,"post"===n,s,i,a)})),a}function Ct(t,e,n,i,a,s){Object.prototype.hasOwnProperty.call(i,e)||(i[e]=!0,n||s.push(e),r.Z(a(e),(function(e){Ct(t,e,n,i,a,s)})),n&&s.push(e))}function At(t){t=function(t){var e=(new f.k).setGraph(t.graph());return r.Z(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.Z(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e}(t),st(t);var e,n=lt(t);for(Nt(n),Lt(n,t);e=Rt(n);)Ot(n,t,e,Dt(n,t,e))}function Lt(t,e){var n=function(t,e){return St(t,e,"post")}(t,t.nodes());n=n.slice(0,n.length-1),r.Z(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=Mt(t,e,n)}(t,e,n)}))}function Mt(t,e,n){var i=t.node(n).parent,a=!0,s=e.edge(n,i),o=0;return s||(a=!1,s=e.edge(i,n)),o=s.weight,r.Z(e.nodeEdges(n),(function(r){var s,l,c=r.v===n,h=c?r.w:r.v;if(h!==i){var u=c===a,d=e.edge(r).weight;if(o+=u?d:-d,s=n,l=h,t.hasEdge(s,l)){var p=t.edge(n,h).cutvalue;o+=u?-p:p}}})),o}function Nt(t,e){arguments.length<2&&(e=t.nodes()[0]),It(t,{},1,e)}function It(t,e,n,i,a){var s=n,o=t.node(i);return e[i]=!0,r.Z(t.neighbors(i),(function(r){Object.prototype.hasOwnProperty.call(e,r)||(n=It(t,e,n,r,i))})),o.low=s,o.lim=n++,a?o.parent=a:delete o.parent,n}function Rt(t){return dt.Z(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function Dt(t,e,n){var r=n.v,i=n.w;e.hasEdge(r,i)||(r=n.w,i=n.v);var a=t.node(r),s=t.node(i),o=a,l=!1;a.lim>s.lim&&(o=s,l=!0);var c=pt.Z(e.edges(),(function(e){return l===Pt(0,t.node(e.v),o)&&l!==Pt(0,t.node(e.w),o)}));return at(c,(function(t){return ot(e,t)}))}function Ot(t,e,n,i){var a=n.v,s=n.w;t.removeEdge(a,s),t.setEdge(i.v,i.w,{}),Nt(t),Lt(t,e),function(t,e){var n=dt.Z(t.nodes(),(function(t){return!e.node(t).parent})),i=function(t,e){return St(t,e,"pre")}(t,n);i=i.slice(1),r.Z(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)}))}(t,e)}function Pt(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}function $t(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){At(t)}(t);break;case"tight-tree":!function(t){st(t),lt(t)}(t);break;case"longest-path":Bt(t)}}n(7556),At.initLowLimValues=Nt,At.initCutValues=Lt,At.calcCutValue=Mt,At.leaveEdge=Rt,At.enterEdge=Dt,At.exchangeEdges=Ot;var Bt=st;var Ft=n(4657),Wt=n(4283);function zt(t){var e=G(t,"root",{},"_root"),n=function(t){var e={};function n(i,a){var s=t.children(i);s&&s.length&&r.Z(s,(function(t){n(t,a+1)})),e[i]=a}return r.Z(t.children(),(function(t){n(t,1)})),e}(t),i=D(Ft.Z(n))-1,a=2*i+1;t.graph().nestingRoot=e,r.Z(t.edges(),(function(e){t.edge(e).minlen*=a}));var s=function(t){return Wt.Z(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.Z(t.children(),(function(r){Zt(t,e,a,s,i,n,r)})),t.graph().nodeRankFactor=a}function Zt(t,e,n,i,a,s,o){var l=t.children(o);if(l.length){var c=H(t,"_bt"),h=H(t,"_bb"),u=t.node(o);t.setParent(c,o),u.borderTop=c,t.setParent(h,o),u.borderBottom=h,r.Z(l,(function(r){Zt(t,e,n,i,a,s,r);var l=t.node(r),u=l.borderTop?l.borderTop:r,d=l.borderBottom?l.borderBottom:r,p=l.borderTop?i:2*i,g=u!==d?1:a-s[o]+1;t.setEdge(c,u,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,h,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(o)||t.setEdge(e,c,{weight:0,minlen:a+s[o]})}else o!==e&&t.setEdge(e,o,{weight:0,minlen:n})}var Yt=n(9943);const Ut=function(t){return(0,Yt.Z)(t,5)};var Gt=n(2954);const Vt=function(t,e){return function(t,e,n){for(var r=-1,i=t.length,a=e.length,s={};++r<i;){var o=r<a?e[r]:void 0;n(s,t[r],o)}return s}(t||[],e||[],Gt.Z)};var qt=n(5140),jt=n(7679),Ht=n(3317),Xt=n(1018);var Kt=n(1162),Qt=n(2714);const Jt=function(t,e){if(t!==e){var n=void 0!==t,r=null===t,i=t==t,a=(0,Qt.Z)(t),s=void 0!==e,o=null===e,l=e==e,c=(0,Qt.Z)(e);if(!o&&!c&&!a&&t>e||a&&s&&l&&!o&&!c||r&&s&&l||!n&&l||!i)return 1;if(!r&&!a&&!c&&t<e||c&&n&&i&&!r&&!a||o&&n&&i||!s&&i||!l)return-1}return 0},te=function(t,e,n){e=e.length?(0,jt.Z)(e,(function(t){return(0,Et.Z)(t)?function(e){return(0,Ht.Z)(e,1===t.length?t[0]:t)}:t})):[R.Z];var r=-1;return e=(0,jt.Z)(e,(0,Kt.Z)(B.Z)),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}((0,Xt.Z)(t,(function(t,n,i){return{criteria:(0,jt.Z)(e,(function(e){return e(t)})),index:++r,value:t}})),(function(t,e){return function(t,e,n){for(var r=-1,i=t.criteria,a=e.criteria,s=i.length,o=n.length;++r<s;){var l=Jt(i[r],a[r]);if(l)return r>=o?l:l*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}))},ee=(0,n(9581).Z)((function(t,e){if(null==t)return[];var n=e.length;return n>1&&(0,d.Z)(t,e[0],e[1])?e=[]:n>2&&(0,d.Z)(e[0],e[1],e[2])&&(e=[e[0]]),te(t,(0,qt.Z)(e,1),[])}));function ne(t,e){for(var n=0,r=1;r<e.length;++r)n+=re(t,e[r-1],e[r]);return n}function re(t,e,n){for(var i=Vt(n,c.Z(n,(function(t,e){return e}))),a=l.Z(c.Z(e,(function(e){return ee(c.Z(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")}))),s=1;s<n.length;)s<<=1;var o=2*s-1;s-=1;var h=c.Z(new Array(o),(function(){return 0})),u=0;return r.Z(a.forEach((function(t){var e=t.pos+s;h[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=h[e+1]),h[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}function ie(t,e){var n,i=function(t,e){var n={lhs:[],rhs:[]};return r.Z(t,(function(t){var e;e=t,Object.prototype.hasOwnProperty.call(e,"barycenter")?n.lhs.push(t):n.rhs.push(t)})),n}(t),a=i.lhs,s=ee(i.rhs,(function(t){return-t.i})),o=[],c=0,h=0,u=0;a.sort((n=!!e,function(t,e){return t.barycenter<e.barycenter?-1:t.barycenter>e.barycenter?1:n?e.i-t.i:t.i-e.i})),u=ae(o,s,u),r.Z(a,(function(t){u+=t.vs.length,o.push(t.vs),c+=t.barycenter*t.weight,h+=t.weight,u=ae(o,s,u)}));var d={vs:l.Z(o)};return h&&(d.barycenter=c/h,d.weight=h),d}function ae(t,e,n){for(var r;e.length&&(r=O.Z(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function se(t,e,n,i){var a=t.children(e),s=t.node(e),o=s?s.borderLeft:void 0,h=s?s.borderRight:void 0,u={};o&&(a=pt.Z(a,(function(t){return t!==o&&t!==h})));var d=function(t,e){return c.Z(e,(function(e){var n=t.inEdges(e);if(n.length){var r=Wt.Z(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}}))}(t,a);r.Z(d,(function(e){if(t.children(e.v).length){var r=se(t,e.v,n,i);u[e.v]=r,Object.prototype.hasOwnProperty.call(r,"barycenter")&&(a=e,s=r,W.Z(a.barycenter)?(a.barycenter=s.barycenter,a.weight=s.weight):(a.barycenter=(a.barycenter*a.weight+s.barycenter*s.weight)/(a.weight+s.weight),a.weight+=s.weight))}var a,s}));var p=function(t,e){var n={};return r.Z(t,(function(t,e){var r=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};W.Z(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)})),r.Z(e.edges(),(function(t){var e=n[t.v],r=n[t.w];W.Z(e)||W.Z(r)||(r.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,r,i,a;e.merged||(W.Z(e.barycenter)||W.Z(t.barycenter)||e.barycenter>=t.barycenter)&&(r=e,i=0,a=0,(n=t).weight&&(i+=n.barycenter*n.weight,a+=n.weight),r.weight&&(i+=r.barycenter*r.weight,a+=r.weight),n.vs=r.vs.concat(n.vs),n.barycenter=i/a,n.weight=a,n.i=Math.min(r.i,n.i),r.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var a=t.pop();e.push(a),r.Z(a.in.reverse(),n(a)),r.Z(a.out,i(a))}return c.Z(pt.Z(e,(function(t){return!t.merged})),(function(t){return A(t,["vs","i","barycenter","weight"])}))}(pt.Z(n,(function(t){return!t.indegree})))}(d,n);!function(t,e){r.Z(t,(function(t){t.vs=l.Z(t.vs.map((function(t){return e[t]?e[t].vs:t})))}))}(p,u);var g=ie(p,i);if(o&&(g.vs=l.Z([o,g.vs,h]),t.predecessors(o).length)){var f=t.node(t.predecessors(o)[0]),m=t.node(t.predecessors(h)[0]);Object.prototype.hasOwnProperty.call(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+f.order+m.order)/(g.weight+2),g.weight+=2}return g}function oe(t,e,n){return c.Z(e,(function(e){return function(t,e,n){var i=function(t){for(var e;t.hasNode(e=s("_root")););return e}(t),a=new f.k({compound:!0}).setGraph({root:i}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.Z(t.nodes(),(function(s){var o=t.node(s),l=t.parent(s);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(a.setNode(s),a.setParent(s,l||i),r.Z(t[n](s),(function(e){var n=e.v===s?e.w:e.v,r=a.edge(n,s),i=W.Z(r)?0:r.weight;a.setEdge(n,s,{weight:t.edge(e).weight+i})})),Object.prototype.hasOwnProperty.call(o,"minRank")&&a.setNode(s,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))})),a}(t,e,n)}))}function le(t,e){var n=new f.k;r.Z(t,(function(t){var i=t.graph().root,a=se(t,i,n,e);r.Z(a.vs,(function(e,n){t.node(e).order=n})),function(t,e,n){var i,a={};r.Z(n,(function(n){for(var r,s,o=t.parent(n);o;){if((r=t.parent(o))?(s=a[r],a[r]=o):(s=i,i=o),s&&s!==o)return void e.setEdge(s,o);o=r}}))}(t,n,a.vs)}))}function ce(t,e){r.Z(e,(function(e){r.Z(e,(function(e,n){t.node(e).order=n}))}))}var he=n(8882);const ue=function(t,e){return t&&(0,$.Z)(t,(0,he.Z)(e))};var de=n(5381),pe=n(7590);const ge=function(t,e){return null==t?t:(0,de.Z)(t,(0,he.Z)(e),pe.Z)};function fe(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function me(t,e,n){if(e>n){var r=e;e=n,n=r}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],n)}function ye(t){var e,n=j(t),i=T.Z(function(t,e){var n={};return Wt.Z(e,(function(e,i){var a=0,s=0,o=e.length,l=O.Z(i);return r.Z(i,(function(e,c){var h=function(t,e){if(t.node(e).dummy)return dt.Z(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),u=h?t.node(h).order:o;(h||e===l)&&(r.Z(i.slice(s,c+1),(function(e){r.Z(t.predecessors(e),(function(r){var i=t.node(r),s=i.order;!(s<a||u<s)||i.dummy&&t.node(e).dummy||fe(n,r,e)}))})),s=c+1,a=u)})),i})),n}(t,n),function(t,e){var n={};function i(e,i,a,s,o){var l;r.Z(g(i,a),(function(i){l=e[i],t.node(l).dummy&&r.Z(t.predecessors(l),(function(e){var r=t.node(e);r.dummy&&(r.order<s||r.order>o)&&fe(n,e,l)}))}))}return Wt.Z(e,(function(e,n){var a,s=-1,o=0;return r.Z(n,(function(r,l){if("border"===t.node(r).dummy){var c=t.predecessors(r);c.length&&(a=t.node(c[0]).order,i(n,o,l,s,a),o=l,s=a)}i(n,o,n.length,a,e.length)})),n})),n}(t,n)),a={};r.Z(["u","d"],(function(s){e="u"===s?n:Ft.Z(n).reverse(),r.Z(["l","r"],(function(n){"r"===n&&(e=c.Z(e,(function(t){return Ft.Z(t).reverse()})));var o=("u"===s?t.predecessors:t.successors).bind(t),l=function(t,e,n,i){var a={},s={},o={};return r.Z(e,(function(t){r.Z(t,(function(t,e){a[t]=t,s[t]=t,o[t]=e}))})),r.Z(e,(function(t){var e=-1;r.Z(t,(function(t){var r=i(t);if(r.length){r=ee(r,(function(t){return o[t]}));for(var l=(r.length-1)/2,c=Math.floor(l),h=Math.ceil(l);c<=h;++c){var u=r[c];s[t]===t&&e<o[u]&&!me(n,t,u)&&(s[u]=t,s[t]=a[t]=a[u],e=o[u])}}}))})),{root:a,align:s}}(0,e,i,o),h=function(t,e,n,i,a){var s={},o=function(t,e,n,i){var a=new f.k,s=t.graph(),o=function(t,e,n){return function(r,i,a){var s,o=r.node(i),l=r.node(a),c=0;if(c+=o.width/2,Object.prototype.hasOwnProperty.call(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":s=-o.width/2;break;case"r":s=o.width/2}if(s&&(c+=n?s:-s),s=0,c+=(o.dummy?e:t)/2,c+=(l.dummy?e:t)/2,c+=l.width/2,Object.prototype.hasOwnProperty.call(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":s=l.width/2;break;case"r":s=-l.width/2}return s&&(c+=n?s:-s),s=0,c}}(s.nodesep,s.edgesep,i);return r.Z(e,(function(e){var i;r.Z(e,(function(e){var r=n[e];if(a.setNode(r),i){var s=n[i],l=a.edge(s,r);a.setEdge(s,r,Math.max(o(t,e,i),l||0))}i=e}))})),a}(t,e,n,a),l=a?"borderLeft":"borderRight";function c(t,e){for(var n=o.nodes(),r=n.pop(),i={};r;)i[r]?t(r):(i[r]=!0,n.push(r),n=n.concat(e(r))),r=n.pop()}return c((function(t){s[t]=o.inEdges(t).reduce((function(t,e){return Math.max(t,s[e.v]+o.edge(e))}),0)}),o.predecessors.bind(o)),c((function(e){var n=o.outEdges(e).reduce((function(t,e){return Math.min(t,s[e.w]-o.edge(e))}),Number.POSITIVE_INFINITY),r=t.node(e);n!==Number.POSITIVE_INFINITY&&r.borderType!==l&&(s[e]=Math.max(s[e],n))}),o.successors.bind(o)),r.Z(i,(function(t){s[t]=s[n[t]]})),s}(t,e,l.root,l.align,"r"===n);"r"===n&&(h=F(h,(function(t){return-t}))),a[s+n]=h}))}));var s=function(t,e){return at(Ft.Z(e),(function(e){var n=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;return ge(e,(function(e,i){var a=function(t,e){return t.node(e).width}(t,i)/2;n=Math.max(e+a,n),r=Math.min(e-a,r)})),n-r}))}(t,a);return function(t,e){var n=Ft.Z(e),i=z.Z(n),a=D(n);r.Z(["u","d"],(function(n){r.Z(["l","r"],(function(r){var s,o=n+r,l=t[o];if(l!==e){var c=Ft.Z(l);(s="l"===r?i-z.Z(c):a-D(c))&&(t[o]=F(l,(function(t){return t+s})))}}))}))}(a,s),function(t,e){return F(t.ul,(function(n,r){if(e)return t[e.toLowerCase()][r];var i=ee(c.Z(t,r));return(i[1]+i[2])/2}))}(a,t.graph().align)}function ve(t,e){var n=e&&e.debugTiming?K:Q;n("layout",(()=>{var e=n(" buildLayoutGraph",(()=>function(t){var e=new f.k({multigraph:!0,compound:!0}),n=Ae(t.graph());return e.setGraph(T.Z({},be,Ce(n,xe),A(n,we))),r.Z(t.nodes(),(function(n){var r=Ae(t.node(n));e.setNode(n,M.Z(Ce(r,ke),Te)),e.setParent(n,t.parent(n))})),r.Z(t.edges(),(function(n){var r=Ae(t.edge(n));e.setEdge(n,T.Z({},Ee,Ce(r,_e),A(r,Se)))})),e}(t)));n(" runLayout",(()=>function(t,e){e(" makeSpaceForEdgeLabels",(()=>function(t){var e=t.graph();e.ranksep/=2,r.Z(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t))),e(" removeSelfEdges",(()=>function(t){r.Z(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t))),e(" acyclic",(()=>k(t))),e(" nestingGraph.run",(()=>zt(t))),e(" rank",(()=>$t(V(t)))),e(" injectEdgeLabelProxies",(()=>function(t){r.Z(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};G(t,"edge-proxy",i,"_ep")}}))}(t))),e(" removeEmptyRanks",(()=>function(t){var e=z.Z(c.Z(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.Z(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,a=t.graph().nodeRankFactor;r.Z(n,(function(e,n){W.Z(e)&&n%a!=0?--i:i&&r.Z(e,(function(e){t.node(e).rank+=i}))}))}(t))),e(" nestingGraph.cleanup",(()=>function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.Z(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}(t))),e(" normalizeRanks",(()=>function(t){var e=z.Z(c.Z(t.nodes(),(function(e){return t.node(e).rank})));r.Z(t.nodes(),(function(n){var r=t.node(n);Z.Z(r,"rank")&&(r.rank-=e)}))}(t))),e(" assignRankMinMax",(()=>function(t){var e=0;r.Z(t.nodes(),(function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=D(e,r.maxRank))})),t.graph().maxRank=e}(t))),e(" removeEdgeLabelProxies",(()=>function(t){r.Z(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t))),e(" normalize.run",(()=>function(t){t.graph().dummyChains=[],r.Z(t.edges(),(function(e){!function(t,e){var n=e.v,r=t.node(n).rank,i=e.w,a=t.node(i).rank,s=e.name,o=t.edge(e),l=o.labelRank;if(a!==r+1){t.removeEdge(e);var c,h,u=void 0;for(h=0,++r;r<a;++h,++r)o.points=[],c=G(t,"edge",u={width:0,height:0,edgeLabel:o,edgeObj:e,rank:r},"_d"),r===l&&(u.width=o.width,u.height=o.height,u.dummy="edge-label",u.labelpos=o.labelpos),t.setEdge(n,c,{weight:o.weight},s),0===h&&t.graph().dummyChains.push(c),n=c;t.setEdge(n,i,{weight:o.weight},s)}}(t,e)}))}(t))),e(" parentDummyChains",(()=>function(t){var e=function(t){var e={},n=0;return r.Z(t.children(),(function i(a){var s=n;r.Z(t.children(a),i),e[a]={low:s,lim:n++}})),e}(t);r.Z(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,a=function(t,e,n,r){var i,a,s=[],o=[],l=Math.min(e[n].low,e[r].low),c=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),s.push(i)}while(i&&(e[i].low>l||c>e[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)o.push(i);return{path:s.concat(o.reverse()),lca:a}}(t,e,i.v,i.w),s=a.path,o=a.lca,l=0,c=s[l],h=!0;n!==i.w;){if(r=t.node(n),h){for(;(c=s[l])!==o&&t.node(c).maxRank<r.rank;)l++;c===o&&(h=!1)}if(!h){for(;l<s.length-1&&t.node(c=s[l+1]).minRank<=r.rank;)l++;c=s[l]}t.setParent(n,c),n=t.successors(n)[0]}}))}(t))),e(" addBorderSegments",(()=>function(t){r.Z(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.Z(i,e),Object.prototype.hasOwnProperty.call(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,o=a.maxRank+1;s<o;++s)J(t,"borderLeft","_bl",n,a,s),J(t,"borderRight","_br",n,a,s)}}))}(t))),e(" order",(()=>function(t){var e=X(t),n=oe(t,g(1,e+1),"inEdges"),i=oe(t,g(e-1,-1,-1),"outEdges"),a=function(t){var e={},n=pt.Z(t.nodes(),(function(e){return!t.children(e).length})),i=D(c.Z(n,(function(e){return t.node(e).rank}))),a=c.Z(g(i+1),(function(){return[]})),s=ee(n,(function(e){return t.node(e).rank}));return r.Z(s,(function n(i){if(!Z.Z(e,i)){e[i]=!0;var s=t.node(i);a[s.rank].push(i),r.Z(t.successors(i),n)}})),a}(t);ce(t,a);for(var s,o=Number.POSITIVE_INFINITY,l=0,h=0;h<4;++l,++h){le(l%2?n:i,l%4>=2);var u=ne(t,a=j(t));u<o&&(h=0,s=Ut(a),o=u)}ce(t,s)}(t))),e(" insertSelfEdges",(()=>function(t){var e=j(t);r.Z(e,(function(e){var n=0;r.Z(e,(function(e,i){var a=t.node(e);a.order=i+n,r.Z(a.selfEdges,(function(e){G(t,"selfedge",{width:e.label.width,height:e.label.height,rank:a.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete a.selfEdges}))}))}(t))),e(" adjustCoordinateSystem",(()=>function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||tt(t)}(t))),e(" position",(()=>function(t){(function(t){var e=j(t),n=t.graph().ranksep,i=0;r.Z(e,(function(e){var a=D(c.Z(e,(function(e){return t.node(e).height})));r.Z(e,(function(e){t.node(e).y=i+a/2})),i+=a+n}))})(t=V(t)),ue(ye(t),(function(e,n){t.node(n).x=e}))}(t))),e(" positionSelfEdges",(()=>function(t){r.Z(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,s=n.x-i,o=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],n.label.x=n.x,n.label.y=n.y}}))}(t))),e(" removeBorderNodes",(()=>function(t){r.Z(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),r=t.node(n.borderTop),i=t.node(n.borderBottom),a=t.node(O.Z(n.borderLeft)),s=t.node(O.Z(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}})),r.Z(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t))),e(" normalize.undo",(()=>function(t){r.Z(t.graph().dummyChains,(function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)}))}(t))),e(" fixupEdgeLabelCoords",(()=>function(t){r.Z(t.edges(),(function(e){var n=t.edge(e);if(Object.prototype.hasOwnProperty.call(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t))),e(" undoCoordinateSystem",(()=>function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.Z(t.nodes(),(function(e){nt(t.node(e))})),r.Z(t.edges(),(function(e){var n=t.edge(e);r.Z(n.points,nt),Object.prototype.hasOwnProperty.call(n,"y")&&nt(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.Z(t.nodes(),(function(e){rt(t.node(e))})),r.Z(t.edges(),(function(e){var n=t.edge(e);r.Z(n.points,rt),Object.prototype.hasOwnProperty.call(n,"x")&&rt(n)}))}(t),tt(t))}(t))),e(" translateGraph",(()=>function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,s=t.graph(),o=s.marginx||0,l=s.marginy||0;function c(t){var r=t.x,s=t.y,o=t.width,l=t.height;e=Math.min(e,r-o/2),n=Math.max(n,r+o/2),i=Math.min(i,s-l/2),a=Math.max(a,s+l/2)}r.Z(t.nodes(),(function(e){c(t.node(e))})),r.Z(t.edges(),(function(e){var n=t.edge(e);Object.prototype.hasOwnProperty.call(n,"x")&&c(n)})),e-=o,i-=l,r.Z(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.Z(t.edges(),(function(n){var a=t.edge(n);r.Z(a.points,(function(t){t.x-=e,t.y-=i})),Object.prototype.hasOwnProperty.call(a,"x")&&(a.x-=e),Object.prototype.hasOwnProperty.call(a,"y")&&(a.y-=i)})),s.width=n-e+o,s.height=a-i+l}(t))),e(" assignNodeIntersects",(()=>function(t){r.Z(t.edges(),(function(e){var n,r,i=t.edge(e),a=t.node(e.v),s=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=s,r=a),i.points.unshift(q(a,n)),i.points.push(q(s,r))}))}(t))),e(" reversePoints",(()=>function(t){r.Z(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t))),e(" acyclic.undo",(()=>function(t){r.Z(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}(t)))}(e,n))),n(" updateInputGraph",(()=>function(t,e){r.Z(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.Z(t.edges(),(function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(r.x=i.x,r.y=i.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)))}))}var xe=["nodesep","edgesep","ranksep","marginx","marginy"],be={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},we=["acyclicer","ranker","rankdir","align"],ke=["width","height"],Te={width:0,height:0},_e=["minlen","weight","width","height","labeloffset"],Ee={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Se=["labelpos"];function Ce(t,e){return F(A(t,e),Number)}function Ae(t){var e={};return r.Z(t,(function(t,n){e[n.toLowerCase()]=t})),e}},7556:(t,e,n)=>{"use strict";n.d(e,{k:()=>b});var r=n(2002),i=n(3234),a=n(7179),s=n(9601),o=n(9697),l=n(870),c=n(9360),h=n(5140),u=n(9581),d=n(184),p=n(836);const g=(0,u.Z)((function(t){return(0,d.Z)((0,h.Z)(t,1,p.Z,!0))}));var f=n(4657),m=n(4283),y="\0",v="\0",x="";class b{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.Z(void 0),this._defaultEdgeLabelFn=r.Z(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[v]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return i.Z(t)||(t=r.Z(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return a.Z(this._nodes)}sources(){var t=this;return s.Z(this.nodes(),(function(e){return o.Z(t._in[e])}))}sinks(){var t=this;return s.Z(this.nodes(),(function(e){return o.Z(t._out[e])}))}setNodes(t,e){var n=arguments,r=this;return l.Z(t,(function(t){n.length>1?r.setNode(t,e):r.setNode(t)})),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=v,this._children[t]={},this._children[v][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=t=>this.removeEdge(this._edgeObjs[t]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],l.Z(this.children(t),(t=>{this.setParent(t)})),delete this._children[t]),l.Z(a.Z(this._in[t]),e),delete this._in[t],delete this._preds[t],l.Z(a.Z(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.Z(e))e=v;else{for(var n=e+="";!c.Z(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==v)return e}}children(t){if(c.Z(t)&&(t=v),this._isCompound){var e=this._children[t];if(e)return a.Z(e)}else{if(t===v)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return a.Z(e)}successors(t){var e=this._sucs[t];if(e)return a.Z(e)}neighbors(t){var e=this.predecessors(t);if(e)return g(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;l.Z(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),l.Z(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var r={};function i(t){var a=n.parent(t);return void 0===a||e.hasNode(a)?(r[t]=a,a):a in r?r[a]:i(a)}return this._isCompound&&l.Z(e.nodes(),(function(t){e.setParent(t,i(t))})),e}setDefaultEdgeLabel(t){return i.Z(t)||(t=r.Z(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return f.Z(this._edgeObjs)}setPath(t,e){var n=this,r=arguments;return m.Z(t,(function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i})),this}setEdge(){var t,e,n,r,i=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(r=arguments[1],i=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,c.Z(n)||(n=""+n);var s=T(this._isDirected,t,e,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,s))return i&&(this._edgeLabels[s]=r),this;if(!c.Z(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=i?r:this._defaultEdgeLabelFn(t,e,n);var o=function(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return r&&(o.name=r),o}(this._isDirected,t,e,n);return t=o.v,e=o.w,Object.freeze(o),this._edgeObjs[s]=o,w(this._preds[e],t),w(this._sucs[t],e),this._in[e][s]=o,this._out[t][s]=o,this._edgeCount++,this}edge(t,e,n){var r=1===arguments.length?_(this._isDirected,arguments[0]):T(this._isDirected,t,e,n);return this._edgeLabels[r]}hasEdge(t,e,n){var r=1===arguments.length?_(this._isDirected,arguments[0]):T(this._isDirected,t,e,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,n){var r=1===arguments.length?_(this._isDirected,arguments[0]):T(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],k(this._preds[e],t),k(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var n=this._in[t];if(n){var r=f.Z(n);return e?s.Z(r,(function(t){return t.v===e})):r}}outEdges(t,e){var n=this._out[t];if(n){var r=f.Z(n);return e?s.Z(r,(function(t){return t.w===e})):r}}nodeEdges(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}}function w(t,e){t[e]?t[e]++:t[e]=1}function k(t,e){--t[e]||delete t[e]}function T(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var s=i;i=a,a=s}return i+x+a+x+(c.Z(r)?y:r)}function _(t,e){return T(t,e.v,e.w,e.name)}b.prototype._nodeCount=0,b.prototype._edgeCount=0},5625:(t,e,n)=>{"use strict";n.d(e,{k:()=>r.k});var r=n(7556)},2424:(t,e,n)=>{"use strict";n.d(e,{Z:()=>nt});const{entries:r,setPrototypeOf:i,isFrozen:a,getPrototypeOf:s,getOwnPropertyDescriptor:o}=Object;let{freeze:l,seal:c,create:h}=Object,{apply:u,construct:d}="undefined"!=typeof Reflect&&Reflect;l||(l=function(t){return t}),c||(c=function(t){return t}),u||(u=function(t,e,n){return t.apply(e,n)}),d||(d=function(t,e){return new t(...e)});const p=A(Array.prototype.forEach),g=A(Array.prototype.lastIndexOf),f=A(Array.prototype.pop),m=A(Array.prototype.push),y=A(Array.prototype.splice),v=A(String.prototype.toLowerCase),x=A(String.prototype.toString),b=A(String.prototype.match),w=A(String.prototype.replace),k=A(String.prototype.indexOf),T=A(String.prototype.trim),_=A(Object.prototype.hasOwnProperty),E=A(RegExp.prototype.test),S=(C=TypeError,function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return d(C,e)});var C;function A(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return u(t,e,r)}}function L(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:v;i&&i(t,null);let r=e.length;for(;r--;){let i=e[r];if("string"==typeof i){const t=n(i);t!==i&&(a(e)||(e[r]=t),i=t)}t[i]=!0}return t}function M(t){for(let e=0;e<t.length;e++)_(t,e)||(t[e]=null);return t}function N(t){const e=h(null);for(const[n,i]of r(t))_(t,n)&&(Array.isArray(i)?e[n]=M(i):i&&"object"==typeof i&&i.constructor===Object?e[n]=N(i):e[n]=i);return e}function I(t,e){for(;null!==t;){const n=o(t,e);if(n){if(n.get)return A(n.get);if("function"==typeof n.value)return A(n.value)}t=s(t)}return function(){return null}}const R=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),D=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),O=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),P=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),$=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),B=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),F=l(["#text"]),W=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),z=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Z=l(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Y=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),U=c(/\{\{[\w\W]*|[\w\W]*\}\}/gm),G=c(/<%[\w\W]*|[\w\W]*%>/gm),V=c(/\$\{[\w\W]*/gm),q=c(/^data-[\-\w.\u00B7-\uFFFF]+$/),j=c(/^aria-[\-\w]+$/),H=c(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),X=c(/^(?:\w+script|data):/i),K=c(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Q=c(/^html$/i),J=c(/^[a-z][.\w]*(-[.\w]+)+$/i);var tt=Object.freeze({__proto__:null,ARIA_ATTR:j,ATTR_WHITESPACE:K,CUSTOM_ELEMENT:J,DATA_ATTR:q,DOCTYPE_NAME:Q,ERB_EXPR:G,IS_ALLOWED_URI:H,IS_SCRIPT_OR_DATA:X,MUSTACHE_EXPR:U,TMPLIT_EXPR:V});const et=function(){return"undefined"==typeof window?null:window};var nt=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:et();const n=e=>t(e);if(n.version="3.2.5",n.removed=[],!e||!e.document||9!==e.document.nodeType||!e.Element)return n.isSupported=!1,n;let{document:i}=e;const a=i,s=a.currentScript,{DocumentFragment:o,HTMLTemplateElement:c,Node:u,Element:d,NodeFilter:C,NamedNodeMap:A=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:M,DOMParser:U,trustedTypes:G}=e,V=d.prototype,q=I(V,"cloneNode"),j=I(V,"remove"),X=I(V,"nextSibling"),K=I(V,"childNodes"),J=I(V,"parentNode");if("function"==typeof c){const t=i.createElement("template");t.content&&t.content.ownerDocument&&(i=t.content.ownerDocument)}let nt,rt="";const{implementation:it,createNodeIterator:at,createDocumentFragment:st,getElementsByTagName:ot}=i,{importNode:lt}=a;let ct={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};n.isSupported="function"==typeof r&&"function"==typeof J&&it&&void 0!==it.createHTMLDocument;const{MUSTACHE_EXPR:ht,ERB_EXPR:ut,TMPLIT_EXPR:dt,DATA_ATTR:pt,ARIA_ATTR:gt,IS_SCRIPT_OR_DATA:ft,ATTR_WHITESPACE:mt,CUSTOM_ELEMENT:yt}=tt;let{IS_ALLOWED_URI:vt}=tt,xt=null;const bt=L({},[...R,...D,...O,...$,...F]);let wt=null;const kt=L({},[...W,...z,...Z,...Y]);let Tt=Object.seal(h(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),_t=null,Et=null,St=!0,Ct=!0,At=!1,Lt=!0,Mt=!1,Nt=!0,It=!1,Rt=!1,Dt=!1,Ot=!1,Pt=!1,$t=!1,Bt=!0,Ft=!1,Wt=!0,zt=!1,Zt={},Yt=null;const Ut=L({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Gt=null;const Vt=L({},["audio","video","img","source","image","track"]);let qt=null;const jt=L({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ht="http://www.w3.org/1998/Math/MathML",Xt="http://www.w3.org/2000/svg",Kt="http://www.w3.org/1999/xhtml";let Qt=Kt,Jt=!1,te=null;const ee=L({},[Ht,Xt,Kt],x);let ne=L({},["mi","mo","mn","ms","mtext"]),re=L({},["annotation-xml"]);const ie=L({},["title","style","font","a","script"]);let ae=null;const se=["application/xhtml+xml","text/html"];let oe=null,le=null;const ce=i.createElement("form"),he=function(t){return t instanceof RegExp||t instanceof Function},ue=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!le||le!==t){if(t&&"object"==typeof t||(t={}),t=N(t),ae=-1===se.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,oe="application/xhtml+xml"===ae?x:v,xt=_(t,"ALLOWED_TAGS")?L({},t.ALLOWED_TAGS,oe):bt,wt=_(t,"ALLOWED_ATTR")?L({},t.ALLOWED_ATTR,oe):kt,te=_(t,"ALLOWED_NAMESPACES")?L({},t.ALLOWED_NAMESPACES,x):ee,qt=_(t,"ADD_URI_SAFE_ATTR")?L(N(jt),t.ADD_URI_SAFE_ATTR,oe):jt,Gt=_(t,"ADD_DATA_URI_TAGS")?L(N(Vt),t.ADD_DATA_URI_TAGS,oe):Vt,Yt=_(t,"FORBID_CONTENTS")?L({},t.FORBID_CONTENTS,oe):Ut,_t=_(t,"FORBID_TAGS")?L({},t.FORBID_TAGS,oe):{},Et=_(t,"FORBID_ATTR")?L({},t.FORBID_ATTR,oe):{},Zt=!!_(t,"USE_PROFILES")&&t.USE_PROFILES,St=!1!==t.ALLOW_ARIA_ATTR,Ct=!1!==t.ALLOW_DATA_ATTR,At=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Lt=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Mt=t.SAFE_FOR_TEMPLATES||!1,Nt=!1!==t.SAFE_FOR_XML,It=t.WHOLE_DOCUMENT||!1,Ot=t.RETURN_DOM||!1,Pt=t.RETURN_DOM_FRAGMENT||!1,$t=t.RETURN_TRUSTED_TYPE||!1,Dt=t.FORCE_BODY||!1,Bt=!1!==t.SANITIZE_DOM,Ft=t.SANITIZE_NAMED_PROPS||!1,Wt=!1!==t.KEEP_CONTENT,zt=t.IN_PLACE||!1,vt=t.ALLOWED_URI_REGEXP||H,Qt=t.NAMESPACE||Kt,ne=t.MATHML_TEXT_INTEGRATION_POINTS||ne,re=t.HTML_INTEGRATION_POINTS||re,Tt=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&he(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Tt.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&he(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Tt.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Tt.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Mt&&(Ct=!1),Pt&&(Ot=!0),Zt&&(xt=L({},F),wt=[],!0===Zt.html&&(L(xt,R),L(wt,W)),!0===Zt.svg&&(L(xt,D),L(wt,z),L(wt,Y)),!0===Zt.svgFilters&&(L(xt,O),L(wt,z),L(wt,Y)),!0===Zt.mathMl&&(L(xt,$),L(wt,Z),L(wt,Y))),t.ADD_TAGS&&(xt===bt&&(xt=N(xt)),L(xt,t.ADD_TAGS,oe)),t.ADD_ATTR&&(wt===kt&&(wt=N(wt)),L(wt,t.ADD_ATTR,oe)),t.ADD_URI_SAFE_ATTR&&L(qt,t.ADD_URI_SAFE_ATTR,oe),t.FORBID_CONTENTS&&(Yt===Ut&&(Yt=N(Yt)),L(Yt,t.FORBID_CONTENTS,oe)),Wt&&(xt["#text"]=!0),It&&L(xt,["html","head","body"]),xt.table&&(L(xt,["tbody"]),delete _t.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');nt=t.TRUSTED_TYPES_POLICY,rt=nt.createHTML("")}else void 0===nt&&(nt=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let n=null;const r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));const i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+i+" could not be created."),null}}(G,s)),null!==nt&&"string"==typeof rt&&(rt=nt.createHTML(""));l&&l(t),le=t}},de=L({},[...D,...O,...P]),pe=L({},[...$,...B]),ge=function(t){m(n.removed,{element:t});try{J(t).removeChild(t)}catch(e){j(t)}},fe=function(t,e){try{m(n.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){m(n.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t)if(Ot||Pt)try{ge(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},me=function(t){let e=null,n=null;if(Dt)t="<remove></remove>"+t;else{const e=b(t,/^[\r\n\t ]+/);n=e&&e[0]}"application/xhtml+xml"===ae&&Qt===Kt&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");const r=nt?nt.createHTML(t):t;if(Qt===Kt)try{e=(new U).parseFromString(r,ae)}catch(t){}if(!e||!e.documentElement){e=it.createDocument(Qt,"template",null);try{e.documentElement.innerHTML=Jt?rt:r}catch(t){}}const a=e.body||e.documentElement;return t&&n&&a.insertBefore(i.createTextNode(n),a.childNodes[0]||null),Qt===Kt?ot.call(e,It?"html":"body")[0]:It?e.documentElement:a},ye=function(t){return at.call(t.ownerDocument||t,t,C.SHOW_ELEMENT|C.SHOW_COMMENT|C.SHOW_TEXT|C.SHOW_PROCESSING_INSTRUCTION|C.SHOW_CDATA_SECTION,null)},ve=function(t){return t instanceof M&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof A)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},xe=function(t){return"function"==typeof u&&t instanceof u};function be(t,e,r){p(t,(t=>{t.call(n,e,r,le)}))}const we=function(t){let e=null;if(be(ct.beforeSanitizeElements,t,null),ve(t))return ge(t),!0;const r=oe(t.nodeName);if(be(ct.uponSanitizeElement,t,{tagName:r,allowedTags:xt}),t.hasChildNodes()&&!xe(t.firstElementChild)&&E(/<[/\w!]/g,t.innerHTML)&&E(/<[/\w!]/g,t.textContent))return ge(t),!0;if(7===t.nodeType)return ge(t),!0;if(Nt&&8===t.nodeType&&E(/<[/\w]/g,t.data))return ge(t),!0;if(!xt[r]||_t[r]){if(!_t[r]&&Te(r)){if(Tt.tagNameCheck instanceof RegExp&&E(Tt.tagNameCheck,r))return!1;if(Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(r))return!1}if(Wt&&!Yt[r]){const e=J(t)||t.parentNode,n=K(t)||t.childNodes;if(n&&e)for(let r=n.length-1;r>=0;--r){const i=q(n[r],!0);i.__removalCount=(t.__removalCount||0)+1,e.insertBefore(i,X(t))}}return ge(t),!0}return t instanceof d&&!function(t){let e=J(t);e&&e.tagName||(e={namespaceURI:Qt,tagName:"template"});const n=v(t.tagName),r=v(e.tagName);return!!te[t.namespaceURI]&&(t.namespaceURI===Xt?e.namespaceURI===Kt?"svg"===n:e.namespaceURI===Ht?"svg"===n&&("annotation-xml"===r||ne[r]):Boolean(de[n]):t.namespaceURI===Ht?e.namespaceURI===Kt?"math"===n:e.namespaceURI===Xt?"math"===n&&re[r]:Boolean(pe[n]):t.namespaceURI===Kt?!(e.namespaceURI===Xt&&!re[r])&&!(e.namespaceURI===Ht&&!ne[r])&&!pe[n]&&(ie[n]||!de[n]):!("application/xhtml+xml"!==ae||!te[t.namespaceURI]))}(t)?(ge(t),!0):"noscript"!==r&&"noembed"!==r&&"noframes"!==r||!E(/<\/no(script|embed|frames)/i,t.innerHTML)?(Mt&&3===t.nodeType&&(e=t.textContent,p([ht,ut,dt],(t=>{e=w(e,t," ")})),t.textContent!==e&&(m(n.removed,{element:t.cloneNode()}),t.textContent=e)),be(ct.afterSanitizeElements,t,null),!1):(ge(t),!0)},ke=function(t,e,n){if(Bt&&("id"===e||"name"===e)&&(n in i||n in ce))return!1;if(Ct&&!Et[e]&&E(pt,e));else if(St&&E(gt,e));else if(!wt[e]||Et[e]){if(!(Te(t)&&(Tt.tagNameCheck instanceof RegExp&&E(Tt.tagNameCheck,t)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(t))&&(Tt.attributeNameCheck instanceof RegExp&&E(Tt.attributeNameCheck,e)||Tt.attributeNameCheck instanceof Function&&Tt.attributeNameCheck(e))||"is"===e&&Tt.allowCustomizedBuiltInElements&&(Tt.tagNameCheck instanceof RegExp&&E(Tt.tagNameCheck,n)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(n))))return!1}else if(qt[e]);else if(E(vt,w(n,mt,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==k(n,"data:")||!Gt[t])if(At&&!E(ft,w(n,mt,"")));else if(n)return!1;return!0},Te=function(t){return"annotation-xml"!==t&&b(t,yt)},_e=function(t){be(ct.beforeSanitizeAttributes,t,null);const{attributes:e}=t;if(!e||ve(t))return;const r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:wt,forceKeepAttr:void 0};let i=e.length;for(;i--;){const a=e[i],{name:s,namespaceURI:o,value:l}=a,c=oe(s);let h="value"===s?l:T(l);if(r.attrName=c,r.attrValue=h,r.keepAttr=!0,r.forceKeepAttr=void 0,be(ct.uponSanitizeAttribute,t,r),h=r.attrValue,!Ft||"id"!==c&&"name"!==c||(fe(s,t),h="user-content-"+h),Nt&&E(/((--!?|])>)|<\/(style|title)/i,h)){fe(s,t);continue}if(r.forceKeepAttr)continue;if(fe(s,t),!r.keepAttr)continue;if(!Lt&&E(/\/>/i,h)){fe(s,t);continue}Mt&&p([ht,ut,dt],(t=>{h=w(h,t," ")}));const u=oe(t.nodeName);if(ke(u,c,h)){if(nt&&"object"==typeof G&&"function"==typeof G.getAttributeType)if(o);else switch(G.getAttributeType(u,c)){case"TrustedHTML":h=nt.createHTML(h);break;case"TrustedScriptURL":h=nt.createScriptURL(h)}try{o?t.setAttributeNS(o,s,h):t.setAttribute(s,h),ve(t)?ge(t):f(n.removed)}catch(t){}}}be(ct.afterSanitizeAttributes,t,null)},Ee=function t(e){let n=null;const r=ye(e);for(be(ct.beforeSanitizeShadowDOM,e,null);n=r.nextNode();)be(ct.uponSanitizeShadowNode,n,null),we(n),_e(n),n.content instanceof o&&t(n.content);be(ct.afterSanitizeShadowDOM,e,null)};return n.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,i=null,s=null,l=null;if(Jt=!t,Jt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!xe(t)){if("function"!=typeof t.toString)throw S("toString is not a function");if("string"!=typeof(t=t.toString()))throw S("dirty is not a string, aborting")}if(!n.isSupported)return t;if(Rt||ue(e),n.removed=[],"string"==typeof t&&(zt=!1),zt){if(t.nodeName){const e=oe(t.nodeName);if(!xt[e]||_t[e])throw S("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof u)r=me("\x3c!----\x3e"),i=r.ownerDocument.importNode(t,!0),1===i.nodeType&&"BODY"===i.nodeName||"HTML"===i.nodeName?r=i:r.appendChild(i);else{if(!Ot&&!Mt&&!It&&-1===t.indexOf("<"))return nt&&$t?nt.createHTML(t):t;if(r=me(t),!r)return Ot?null:$t?rt:""}r&&Dt&&ge(r.firstChild);const c=ye(zt?t:r);for(;s=c.nextNode();)we(s),_e(s),s.content instanceof o&&Ee(s.content);if(zt)return t;if(Ot){if(Pt)for(l=st.call(r.ownerDocument);r.firstChild;)l.appendChild(r.firstChild);else l=r;return(wt.shadowroot||wt.shadowrootmode)&&(l=lt.call(a,l,!0)),l}let h=It?r.outerHTML:r.innerHTML;return It&&xt["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&E(Q,r.ownerDocument.doctype.name)&&(h="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+h),Mt&&p([ht,ut,dt],(t=>{h=w(h,t," ")})),nt&&$t?nt.createHTML(h):h},n.setConfig=function(){ue(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Rt=!0},n.clearConfig=function(){le=null,Rt=!1},n.isValidAttribute=function(t,e,n){le||ue({});const r=oe(t),i=oe(e);return ke(r,i,n)},n.addHook=function(t,e){"function"==typeof e&&m(ct[t],e)},n.removeHook=function(t,e){if(void 0!==e){const n=g(ct[t],e);return-1===n?void 0:y(ct[t],n,1)[0]}return f(ct[t])},n.removeHooks=function(t){ct[t]=[]},n.removeAllHooks=function(){ct={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},n}()},4549:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(5971),i=n(2142);const a=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new class{constructor(){this.type=i.w.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=i.w.ALL}is(t){return this.type===t}}}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.w.ALL,this}_ensureHSL(){const t=this.data,{h:e,s:n,l:i}=t;void 0===e&&(t.h=r.Z.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=r.Z.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=r.Z.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r:e,g:n,b:i}=t;void 0===e&&(t.r=r.Z.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=r.Z.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=r.Z.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,e=t.r;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"r")):e}get g(){const t=this.data,e=t.g;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"g")):e}get b(){const t=this.data,e=t.b;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"b")):e}get h(){const t=this.data,e=t.h;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"h")):e}get s(){const t=this.data,e=t.s;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"s")):e}get l(){const t=this.data,e=t.l;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(i.w.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(i.w.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(i.w.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(i.w.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(i.w.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(i.w.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},1767:(t,e,n)=>{"use strict";n.d(e,{Z:()=>f});var r=n(4549),i=n(2142);const a={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;const e=t.match(a.re);if(!e)return;const n=e[1],i=parseInt(n,16),s=n.length,o=s%4==0,l=s>4,c=l?1:17,h=l?8:4,u=o?0:-1,d=l?255:15;return r.Z.set({r:(i>>h*(u+3)&d)*c,g:(i>>h*(u+2)&d)*c,b:(i>>h*(u+1)&d)*c,a:o?(i&d)*c/255:1},t)},stringify:t=>{const{r:e,g:n,b:r,a}=t;return a<1?`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}${i.Q[Math.round(255*a)]}`:`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}`}},s=a;var o=n(5971);const l={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(l.hueRe);if(e){const[,t,n]=e;switch(n){case"grad":return o.Z.channel.clamp.h(.9*parseFloat(t));case"rad":return o.Z.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return o.Z.channel.clamp.h(360*parseFloat(t))}}return o.Z.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(104!==e&&72!==e)return;const n=t.match(l.re);if(!n)return;const[,i,a,s,c,h]=n;return r.Z.set({h:l._hue2deg(i),s:o.Z.channel.clamp.s(parseFloat(a)),l:o.Z.channel.clamp.l(parseFloat(s)),a:c?o.Z.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},t)},stringify:t=>{const{h:e,s:n,l:r,a:i}=t;return i<1?`hsla(${o.Z.lang.round(e)}, ${o.Z.lang.round(n)}%, ${o.Z.lang.round(r)}%, ${i})`:`hsl(${o.Z.lang.round(e)}, ${o.Z.lang.round(n)}%, ${o.Z.lang.round(r)}%)`}},c=l,h={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=h.colors[t];if(e)return s.parse(e)},stringify:t=>{const e=s.stringify(t);for(const t in h.colors)if(h.colors[t]===e)return t}},u=h,d={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(114!==e&&82!==e)return;const n=t.match(d.re);if(!n)return;const[,i,a,s,l,c,h,u,p]=n;return r.Z.set({r:o.Z.channel.clamp.r(a?2.55*parseFloat(i):parseFloat(i)),g:o.Z.channel.clamp.g(l?2.55*parseFloat(s):parseFloat(s)),b:o.Z.channel.clamp.b(h?2.55*parseFloat(c):parseFloat(c)),a:u?o.Z.channel.clamp.a(p?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`rgba(${o.Z.lang.round(e)}, ${o.Z.lang.round(n)}, ${o.Z.lang.round(r)}, ${o.Z.lang.round(i)})`:`rgb(${o.Z.lang.round(e)}, ${o.Z.lang.round(n)}, ${o.Z.lang.round(r)})`}},p=d,g={format:{keyword:h,hex:s,rgb:d,rgba:d,hsl:l,hsla:l},parse:t=>{if("string"!=typeof t)return t;const e=s.parse(t)||p.parse(t)||c.parse(t)||u.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(i.w.HSL)||void 0===t.data.r?c.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?p.stringify(t):s.stringify(t)},f=g},2142:(t,e,n)=>{"use strict";n.d(e,{Q:()=>i,w:()=>a});var r=n(5971);const i={};for(let t=0;t<=255;t++)i[t]=r.Z.unit.dec2hex(t);const a={ALL:0,RGB:1,HSL:2}},6174:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(5971),i=n(1767);const a=(t,e,n)=>{const a=i.Z.parse(t),s=a[e],o=r.Z.channel.clamp[e](s+n);return s!==o&&(a[e]=o),i.Z.stringify(a)}},3438:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(5971),i=n(1767);const a=(t,e)=>{const n=i.Z.parse(t);for(const t in e)n[t]=r.Z.channel.clamp[t](e[t]);return i.Z.stringify(n)}},9792:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(5971),i=n(1767);const a=(t,e)=>r.Z.lang.round(i.Z.parse(t)[e])},7201:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6174);const i=(t,e)=>(0,r.Z)(t,"l",-e)},6500:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(5971),i=n(1767);const a=t=>(t=>{const{r:e,g:n,b:a}=i.Z.parse(t),s=.2126*r.Z.channel.toLinear(e)+.7152*r.Z.channel.toLinear(n)+.0722*r.Z.channel.toLinear(a);return r.Z.lang.round(s)})(t)>=.5,s=t=>!a(t)},2281:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6174);const i=(t,e)=>(0,r.Z)(t,"l",e)},1117:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(5971),i=n(4549),a=n(1767),s=n(3438);const o=(t,e,n=0,o=1)=>{if("number"!=typeof t)return(0,s.Z)(t,{a:e});const l=i.Z.set({r:r.Z.channel.clamp.r(t),g:r.Z.channel.clamp.g(e),b:r.Z.channel.clamp.b(n),a:r.Z.channel.clamp.a(o)});return a.Z.stringify(l)}},5971:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const r={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},i)=>{if(!e)return 2.55*n;t/=360,e/=100;const a=(n/=100)<.5?n*(1+e):n+e-n*e,s=2*n-a;switch(i){case"r":return 255*r.hue2rgb(s,a,t+1/3);case"g":return 255*r.hue2rgb(s,a,t);case"b":return 255*r.hue2rgb(s,a,t-1/3)}},rgb2hsl:({r:t,g:e,b:n},r)=>{t/=255,e/=255,n/=255;const i=Math.max(t,e,n),a=Math.min(t,e,n),s=(i+a)/2;if("l"===r)return 100*s;if(i===a)return 0;const o=i-a;if("s"===r)return 100*(s>.5?o/(2-i-a):o/(i+a));switch(i){case t:return 60*((e-n)/o+(e<n?6:0));case e:return 60*((n-t)/o+2);case n:return 60*((t-e)/o+4);default:return-1}}},i={channel:r,lang:{clamp:(t,e,n)=>e>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},3548:(t,e,n)=>{"use strict";n.d(e,{Q:()=>Zr,T:()=>Yr});var r=n(2855),i=n(6097),a=n(2925),s=n(3437),o=n(6435),l=n(3836),c=n(9601);function h(t,e,n){return`${t.name}_${e}_${n}`}const u=1,d=4,p=5,g=7,f=8,m=9,y=10,v=11,x=12;class b{constructor(t){this.target=t}isEpsilon(){return!1}}class w extends b{constructor(t,e){super(t),this.tokenType=e}}class k extends b{constructor(t){super(t)}isEpsilon(){return!0}}class T extends b{constructor(t,e,n){super(t),this.rule=e,this.followState=n}isEpsilon(){return!0}}function _(t,e,n){return n instanceof o.oI?M(t,e,n.terminalType,n):n instanceof o.Sj?function(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),a=R(t,e,n,{type:u}),s=R(t,e,n,{type:u});return D(a,new T(i,r,s)),{left:a,right:s}}(t,e,n):n instanceof o.ue?function(t,e,n){const r=R(t,e,n,{type:u});A(t,r);const i=(0,l.Z)(n.definition,(n=>_(t,e,n)));return L(t,e,r,n,...i)}(t,e,n):n instanceof o.Wx?function(t,e,n){const r=R(t,e,n,{type:u});A(t,r);return function(t,e,n,r){const i=r.left;return I(i,r.right),t.decisionMap[h(e,"Option",n.idx)]=i,r}(t,e,n,L(t,e,r,n,E(t,e,n)))}(t,e,n):n instanceof o.hI?function(t,e,n){const r=R(t,e,n,{type:p});A(t,r);return C(t,e,n,L(t,e,r,n,E(t,e,n)))}(t,e,n):n instanceof o.pT?function(t,e,n){const r=R(t,e,n,{type:p});A(t,r);return C(t,e,n,L(t,e,r,n,E(t,e,n)),M(t,e,n.separator,n))}(t,e,n):n instanceof o.ej?function(t,e,n){const r=R(t,e,n,{type:d});A(t,r);return S(t,e,n,L(t,e,r,n,E(t,e,n)))}(t,e,n):n instanceof o.fK?function(t,e,n){const r=R(t,e,n,{type:d});A(t,r);return S(t,e,n,L(t,e,r,n,E(t,e,n)),M(t,e,n.separator,n))}(t,e,n):E(t,e,n)}function E(t,e,n){const r=(0,c.Z)((0,l.Z)(n.definition,(n=>_(t,e,n))),(t=>void 0!==t));return 1===r.length?r[0]:0===r.length?void 0:function(t,e){const n=e.length;for(let r=0;r<n-1;r++){const n=e[r];let i;1===n.left.transitions.length&&(i=n.left.transitions[0]);const a=i instanceof T,s=i,o=e[r+1].left;n.left.type===u&&n.right.type===u&&void 0!==i&&(a&&s.followState===n.right||i.target===n.right)?(a?s.followState=o:i.target=o,O(t,n.right)):I(n.right,o)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}(t,r)}function S(t,e,n,r,i){const a=r.left,s=r.right,o=R(t,e,n,{type:v});A(t,o);const l=R(t,e,n,{type:x});return a.loopback=o,l.loopback=o,t.decisionMap[h(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,I(s,o),void 0===i?(I(o,a),I(o,l)):(I(o,l),I(o,i.left),I(i.right,a)),{left:a,right:l}}function C(t,e,n,r,i){const a=r.left,s=r.right,o=R(t,e,n,{type:y});A(t,o);const l=R(t,e,n,{type:x}),c=R(t,e,n,{type:m});return o.loopback=c,l.loopback=c,I(o,a),I(o,l),I(s,c),void 0!==i?(I(c,l),I(c,i.left),I(i.right,a)):I(c,o),t.decisionMap[h(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:l}}function A(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function L(t,e,n,r,...i){const a=R(t,e,r,{type:f,start:n});n.end=a;for(const t of i)void 0!==t?(I(n,t.left),I(t.right,a)):I(n,a);const s={left:n,right:a};return t.decisionMap[h(e,function(t){if(t instanceof o.ue)return"Alternation";if(t instanceof o.Wx)return"Option";if(t instanceof o.hI)return"Repetition";if(t instanceof o.pT)return"RepetitionWithSeparator";if(t instanceof o.ej)return"RepetitionMandatory";if(t instanceof o.fK)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}(r),r.idx)]=n,s}function M(t,e,n,r){const i=R(t,e,r,{type:u}),a=R(t,e,r,{type:u});return D(i,new w(a,n)),{left:i,right:a}}function N(t,e,n){const r=t.ruleToStartState.get(e);I(r,n.left);const i=t.ruleToStopState.get(e);return I(n.right,i),{left:r,right:i}}function I(t,e){D(t,new k(e))}function R(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function D(t,e){0===t.transitions.length&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function O(t,e){t.states.splice(t.states.indexOf(e),1)}const P={};class ${constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(t){const e=B(t);e in this.map||(this.map[e]=this.configs.length,this.configs.push(t))}get elements(){return this.configs}get alts(){return(0,l.Z)(this.configs,(t=>t.alt))}get key(){let t="";for(const e in this.map)t+=e+":";return t}}function B(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map((t=>t.stateNumber.toString())).join("_")}`}var F=n(3729),W=n(6805),z=n(506),Z=n(184);const Y=function(t,e){return t&&t.length?(0,Z.Z)(t,(0,z.Z)(e,2)):[]};var U=n(7961),G=n(870),V=n(9697),q=n(4283);function j(t,e){const n={};return r=>{const i=r.toString();let a=n[i];return void 0!==a||(a={atnStartState:t,decision:e,states:{}},n[i]=a),a}}class H{constructor(){this.predicates=[]}is(t){return t>=this.predicates.length||this.predicates[t]}set(t,e){this.predicates[t]=e}toString(){let t="";const e=this.predicates.length;for(let n=0;n<e;n++)t+=!0===this.predicates[n]?"1":"0";return t}}const X=new H;class K extends o.dV{constructor(t){var e;super(),this.logging=null!==(e=null==t?void 0:t.logging)&&void 0!==e?e:t=>console.log(t)}initialize(t){this.atn=function(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};!function(t,e){const n=e.length;for(let r=0;r<n;r++){const n=e[r],i=R(t,n,void 0,{type:2}),a=R(t,n,void 0,{type:g});i.stop=a,t.ruleToStartState.set(n,i),t.ruleToStopState.set(n,a)}}(e,t);const n=t.length;for(let r=0;r<n;r++){const n=t[r],i=E(e,n,n);void 0!==i&&N(e,n,i)}return e}(t.rules),this.dfas=function(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=j(t.decisionStates[r],r);return n}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(t){const{prodOccurrence:e,rule:n,hasPredicates:r,dynamicTokensEnabled:i}=t,a=this.dfas,s=this.logging,c=h(n,"Alternation",e),u=this.atn.decisionMap[c].decision,d=(0,l.Z)((0,o.oC)({maxLookahead:1,occurrence:e,prodType:"Alternation",rule:n}),(t=>(0,l.Z)(t,(t=>t[0]))));if(Q(d,!1)&&!i){const t=(0,q.Z)(d,((t,e,n)=>((0,G.Z)(e,(e=>{e&&(t[e.tokenTypeIdx]=n,(0,G.Z)(e.categoryMatches,(e=>{t[e]=n})))})),t)),{});return r?function(e){var n;const r=this.LA(1),i=t[r.tokenTypeIdx];if(void 0!==e&&void 0!==i){const t=null===(n=e[i])||void 0===n?void 0:n.GATE;if(void 0!==t&&!1===t.call(this))return}return i}:function(){const e=this.LA(1);return t[e.tokenTypeIdx]}}return r?function(t){const e=new H,n=void 0===t?0:t.length;for(let r=0;r<n;r++){const n=null==t?void 0:t[r].GATE;e.set(r,void 0===n||n.call(this))}const r=J.call(this,a,u,e,s);return"number"==typeof r?r:void 0}:function(){const t=J.call(this,a,u,X,s);return"number"==typeof t?t:void 0}}buildLookaheadForOptional(t){const{prodOccurrence:e,rule:n,prodType:r,dynamicTokensEnabled:i}=t,a=this.dfas,s=this.logging,c=h(n,r,e),u=this.atn.decisionMap[c].decision,d=(0,l.Z)((0,o.oC)({maxLookahead:1,occurrence:e,prodType:r,rule:n}),(t=>(0,l.Z)(t,(t=>t[0]))));if(Q(d)&&d[0][0]&&!i){const t=d[0],e=(0,U.Z)(t);if(1===e.length&&(0,V.Z)(e[0].categoryMatches)){const t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{const t=(0,q.Z)(e,((t,e)=>(void 0!==e&&(t[e.tokenTypeIdx]=!0,(0,G.Z)(e.categoryMatches,(e=>{t[e]=!0}))),t)),{});return function(){const e=this.LA(1);return!0===t[e.tokenTypeIdx]}}}return function(){const t=J.call(this,a,u,X,s);return"object"!=typeof t&&0===t}}}function Q(t,e=!0){const n=new Set;for(const r of t){const t=new Set;for(const i of r){if(void 0===i){if(e)break;return!1}const r=[i.tokenTypeIdx].concat(i.categoryMatches);for(const e of r)if(n.has(e)){if(!t.has(e))return!1}else n.add(e),t.add(e)}}return!0}function J(t,e,n,r){const i=t[e](n);let a=i.start;return void 0===a&&(a=ot(i,at(function(t){const e=new $,n=t.transitions.length;for(let r=0;r<n;r++)lt({state:t.transitions[r].target,alt:r,stack:[]},e);return e}(i.atnStartState))),i.start=a),tt.apply(this,[i,a,n,r])}function tt(t,e,n,r){let i=e,a=1;const s=[];let o=this.LA(a++);for(;;){let e=(l=o,i.edges[l.tokenTypeIdx]);if(void 0===e&&(e=et.apply(this,[t,i,o,a,n,r])),e===P)return rt(s,i,o);if(!0===e.isAcceptState)return e.prediction;i=e,s.push(o),o=this.LA(a++)}var l}function et(t,e,n,r,i,a){const s=function(t,e,n){const r=new $,i=[];for(const a of t.elements){if(!1===n.is(a.alt))continue;if(a.state.type===g){i.push(a);continue}const t=a.state.transitions.length;for(let n=0;n<t;n++){const t=it(a.state.transitions[n],e);void 0!==t&&r.add({state:t,alt:a.alt,stack:a.stack})}}let a;if(0===i.length&&1===r.size&&(a=r),void 0===a){a=new $;for(const t of r.elements)lt(t,a)}if(i.length>0&&!function(t){for(const e of t.elements)if(e.state.type===g)return!0;return!1}(a))for(const t of i)a.add(t);return a}(e.configs,n,i);if(0===s.size)return st(t,e,n,P),P;let o=at(s);const l=function(t,e){let n;for(const r of t.elements)if(!0===e.is(r.alt))if(void 0===n)n=r.alt;else if(n!==r.alt)return;return n}(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(function(t){if(function(t){for(const e of t.elements)if(e.state.type!==g)return!1;return!0}(t))return!0;const e=function(t){const e=new Map;for(const n of t){const t=B(n,!1);let r=e.get(t);void 0===r&&(r={},e.set(t,r)),r[n.alt]=!0}return e}(t.elements);return function(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}(e)&&!function(t){for(const e of Array.from(t.values()))if(1===Object.keys(e).length)return!0;return!1}(e)}(s)){const e=(0,F.Z)(s.alts);o.isAcceptState=!0,o.prediction=e,o.configs.uniqueAlt=e,nt.apply(this,[t,r,s.alts,a])}return o=st(t,e,n,o),o}function nt(t,e,n,r){const i=[];for(let t=1;t<=e;t++)i.push(this.LA(t).tokenType);const a=t.atnStartState;r(function(t){const e=(0,l.Z)(t.prefixPath,(t=>(0,o.l$)(t))).join(", "),n=0===t.production.idx?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${function(t){if(t instanceof o.Sj)return"SUBRULE";if(t instanceof o.Wx)return"OPTION";if(t instanceof o.ue)return"OR";if(t instanceof o.ej)return"AT_LEAST_ONE";if(t instanceof o.fK)return"AT_LEAST_ONE_SEP";if(t instanceof o.pT)return"MANY_SEP";if(t instanceof o.hI)return"MANY";if(t instanceof o.oI)return"CONSUME";throw Error("non exhaustive match")}(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,\n<${e}> may appears as a prefix path in all these alternatives.\n`;return r+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",r}({topLevelRule:a.rule,ambiguityIndices:n,production:a.production,prefixPath:i}))}function rt(t,e,n){const r=(0,W.Z)(e.configs.elements,(t=>t.state.transitions));return{actualToken:n,possibleTokenTypes:Y(r.filter((t=>t instanceof w)).map((t=>t.tokenType)),(t=>t.tokenTypeIdx)),tokenPath:t}}function it(t,e){if(t instanceof w&&(0,o.ol)(e,t.tokenType))return t.target}function at(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function st(t,e,n,r){return r=ot(t,r),e.edges[n.tokenTypeIdx]=r,r}function ot(t,e){if(e===P)return e;const n=e.configs.key,r=t.states[n];return void 0!==r?r:(e.configs.finalize(),t.states[n]=e,e)}function lt(t,e){const n=t.state;if(n.type===g){if(t.stack.length>0){const n=[...t.stack];lt({state:n.pop(),alt:t.alt,stack:n},e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const r=ct(t,n.transitions[i]);void 0!==r&&lt(r,e)}}function ct(t,e){if(e instanceof k)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof T){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}var ht,ut,dt,pt,gt,ft,mt,yt,vt,xt,bt,wt,kt,Tt,_t,Et,St,Ct,At,Lt,Mt,Nt,It,Rt,Dt,Ot,Pt,$t,Bt,Ft,Wt,zt,Zt,Yt,Ut,Gt,Vt,qt,jt,Ht,Xt,Kt,Qt,Jt,te,ee,ne,re,ie,ae,se,oe,le,ce,he,ue,de,pe,ge,fe,me,ye,ve,xe,be,we,ke,Te,_e,Ee,Se,Ce,Ae,Le,Me,Ne,Ie,Re,De,Oe,Pe=n(6747);!function(t){t.is=function(t){return"string"==typeof t}}(ht||(ht={})),function(t){t.is=function(t){return"string"==typeof t}}(ut||(ut={})),function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647,t.is=function(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}}(dt||(dt={})),function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647,t.is=function(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}}(pt||(pt={})),function(t){t.create=function(t,e){return t===Number.MAX_VALUE&&(t=pt.MAX_VALUE),e===Number.MAX_VALUE&&(e=pt.MAX_VALUE),{line:t,character:e}},t.is=function(t){let e=t;return Oe.objectLiteral(e)&&Oe.uinteger(e.line)&&Oe.uinteger(e.character)}}(gt||(gt={})),function(t){t.create=function(t,e,n,r){if(Oe.uinteger(t)&&Oe.uinteger(e)&&Oe.uinteger(n)&&Oe.uinteger(r))return{start:gt.create(t,e),end:gt.create(n,r)};if(gt.is(t)&&gt.is(e))return{start:t,end:e};throw new Error(`Range#create called with invalid arguments[${t}, ${e}, ${n}, ${r}]`)},t.is=function(t){let e=t;return Oe.objectLiteral(e)&&gt.is(e.start)&&gt.is(e.end)}}(ft||(ft={})),function(t){t.create=function(t,e){return{uri:t,range:e}},t.is=function(t){let e=t;return Oe.objectLiteral(e)&&ft.is(e.range)&&(Oe.string(e.uri)||Oe.undefined(e.uri))}}(mt||(mt={})),function(t){t.create=function(t,e,n,r){return{targetUri:t,targetRange:e,targetSelectionRange:n,originSelectionRange:r}},t.is=function(t){let e=t;return Oe.objectLiteral(e)&&ft.is(e.targetRange)&&Oe.string(e.targetUri)&&ft.is(e.targetSelectionRange)&&(ft.is(e.originSelectionRange)||Oe.undefined(e.originSelectionRange))}}(yt||(yt={})),function(t){t.create=function(t,e,n,r){return{red:t,green:e,blue:n,alpha:r}},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&Oe.numberRange(e.red,0,1)&&Oe.numberRange(e.green,0,1)&&Oe.numberRange(e.blue,0,1)&&Oe.numberRange(e.alpha,0,1)}}(vt||(vt={})),function(t){t.create=function(t,e){return{range:t,color:e}},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&ft.is(e.range)&&vt.is(e.color)}}(xt||(xt={})),function(t){t.create=function(t,e,n){return{label:t,textEdit:e,additionalTextEdits:n}},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&Oe.string(e.label)&&(Oe.undefined(e.textEdit)||Lt.is(e))&&(Oe.undefined(e.additionalTextEdits)||Oe.typedArray(e.additionalTextEdits,Lt.is))}}(bt||(bt={})),function(t){t.Comment="comment",t.Imports="imports",t.Region="region"}(wt||(wt={})),function(t){t.create=function(t,e,n,r,i,a){const s={startLine:t,endLine:e};return Oe.defined(n)&&(s.startCharacter=n),Oe.defined(r)&&(s.endCharacter=r),Oe.defined(i)&&(s.kind=i),Oe.defined(a)&&(s.collapsedText=a),s},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&Oe.uinteger(e.startLine)&&Oe.uinteger(e.startLine)&&(Oe.undefined(e.startCharacter)||Oe.uinteger(e.startCharacter))&&(Oe.undefined(e.endCharacter)||Oe.uinteger(e.endCharacter))&&(Oe.undefined(e.kind)||Oe.string(e.kind))}}(kt||(kt={})),function(t){t.create=function(t,e){return{location:t,message:e}},t.is=function(t){let e=t;return Oe.defined(e)&&mt.is(e.location)&&Oe.string(e.message)}}(Tt||(Tt={})),function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4}(_t||(_t={})),function(t){t.Unnecessary=1,t.Deprecated=2}(Et||(Et={})),function(t){t.is=function(t){const e=t;return Oe.objectLiteral(e)&&Oe.string(e.href)}}(St||(St={})),function(t){t.create=function(t,e,n,r,i,a){let s={range:t,message:e};return Oe.defined(n)&&(s.severity=n),Oe.defined(r)&&(s.code=r),Oe.defined(i)&&(s.source=i),Oe.defined(a)&&(s.relatedInformation=a),s},t.is=function(t){var e;let n=t;return Oe.defined(n)&&ft.is(n.range)&&Oe.string(n.message)&&(Oe.number(n.severity)||Oe.undefined(n.severity))&&(Oe.integer(n.code)||Oe.string(n.code)||Oe.undefined(n.code))&&(Oe.undefined(n.codeDescription)||Oe.string(null===(e=n.codeDescription)||void 0===e?void 0:e.href))&&(Oe.string(n.source)||Oe.undefined(n.source))&&(Oe.undefined(n.relatedInformation)||Oe.typedArray(n.relatedInformation,Tt.is))}}(Ct||(Ct={})),function(t){t.create=function(t,e,...n){let r={title:t,command:e};return Oe.defined(n)&&n.length>0&&(r.arguments=n),r},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.string(e.title)&&Oe.string(e.command)}}(At||(At={})),function(t){t.replace=function(t,e){return{range:t,newText:e}},t.insert=function(t,e){return{range:{start:t,end:t},newText:e}},t.del=function(t){return{range:t,newText:""}},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&Oe.string(e.newText)&&ft.is(e.range)}}(Lt||(Lt={})),function(t){t.create=function(t,e,n){const r={label:t};return void 0!==e&&(r.needsConfirmation=e),void 0!==n&&(r.description=n),r},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&Oe.string(e.label)&&(Oe.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(Oe.string(e.description)||void 0===e.description)}}(Mt||(Mt={})),function(t){t.is=function(t){const e=t;return Oe.string(e)}}(Nt||(Nt={})),function(t){t.replace=function(t,e,n){return{range:t,newText:e,annotationId:n}},t.insert=function(t,e,n){return{range:{start:t,end:t},newText:e,annotationId:n}},t.del=function(t,e){return{range:t,newText:"",annotationId:e}},t.is=function(t){const e=t;return Lt.is(e)&&(Mt.is(e.annotationId)||Nt.is(e.annotationId))}}(It||(It={})),function(t){t.create=function(t,e){return{textDocument:t,edits:e}},t.is=function(t){let e=t;return Oe.defined(e)&&Wt.is(e.textDocument)&&Array.isArray(e.edits)}}(Rt||(Rt={})),function(t){t.create=function(t,e,n){let r={kind:"create",uri:t};return void 0===e||void 0===e.overwrite&&void 0===e.ignoreIfExists||(r.options=e),void 0!==n&&(r.annotationId=n),r},t.is=function(t){let e=t;return e&&"create"===e.kind&&Oe.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||Oe.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||Oe.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||Nt.is(e.annotationId))}}(Dt||(Dt={})),function(t){t.create=function(t,e,n,r){let i={kind:"rename",oldUri:t,newUri:e};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},t.is=function(t){let e=t;return e&&"rename"===e.kind&&Oe.string(e.oldUri)&&Oe.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||Oe.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||Oe.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||Nt.is(e.annotationId))}}(Ot||(Ot={})),function(t){t.create=function(t,e,n){let r={kind:"delete",uri:t};return void 0===e||void 0===e.recursive&&void 0===e.ignoreIfNotExists||(r.options=e),void 0!==n&&(r.annotationId=n),r},t.is=function(t){let e=t;return e&&"delete"===e.kind&&Oe.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||Oe.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||Oe.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||Nt.is(e.annotationId))}}(Pt||(Pt={})),function(t){t.is=function(t){let e=t;return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every((t=>Oe.string(t.kind)?Dt.is(t)||Ot.is(t)||Pt.is(t):Rt.is(t))))}}($t||($t={})),function(t){t.create=function(t){return{uri:t}},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.string(e.uri)}}(Bt||(Bt={})),function(t){t.create=function(t,e){return{uri:t,version:e}},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.string(e.uri)&&Oe.integer(e.version)}}(Ft||(Ft={})),function(t){t.create=function(t,e){return{uri:t,version:e}},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.string(e.uri)&&(null===e.version||Oe.integer(e.version))}}(Wt||(Wt={})),function(t){t.create=function(t,e,n,r){return{uri:t,languageId:e,version:n,text:r}},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.string(e.uri)&&Oe.string(e.languageId)&&Oe.integer(e.version)&&Oe.string(e.text)}}(zt||(zt={})),function(t){t.PlainText="plaintext",t.Markdown="markdown",t.is=function(e){const n=e;return n===t.PlainText||n===t.Markdown}}(Zt||(Zt={})),function(t){t.is=function(t){const e=t;return Oe.objectLiteral(t)&&Zt.is(e.kind)&&Oe.string(e.value)}}(Yt||(Yt={})),function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25}(Ut||(Ut={})),function(t){t.PlainText=1,t.Snippet=2}(Gt||(Gt={})),function(t){t.Deprecated=1}(Vt||(Vt={})),function(t){t.create=function(t,e,n){return{newText:t,insert:e,replace:n}},t.is=function(t){const e=t;return e&&Oe.string(e.newText)&&ft.is(e.insert)&&ft.is(e.replace)}}(qt||(qt={})),function(t){t.asIs=1,t.adjustIndentation=2}(jt||(jt={})),function(t){t.is=function(t){const e=t;return e&&(Oe.string(e.detail)||void 0===e.detail)&&(Oe.string(e.description)||void 0===e.description)}}(Ht||(Ht={})),function(t){t.create=function(t){return{label:t}}}(Xt||(Xt={})),function(t){t.create=function(t,e){return{items:t||[],isIncomplete:!!e}}}(Kt||(Kt={})),function(t){t.fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},t.is=function(t){const e=t;return Oe.string(e)||Oe.objectLiteral(e)&&Oe.string(e.language)&&Oe.string(e.value)}}(Qt||(Qt={})),function(t){t.is=function(t){let e=t;return!!e&&Oe.objectLiteral(e)&&(Yt.is(e.contents)||Qt.is(e.contents)||Oe.typedArray(e.contents,Qt.is))&&(void 0===t.range||ft.is(t.range))}}(Jt||(Jt={})),function(t){t.create=function(t,e){return e?{label:t,documentation:e}:{label:t}}}(te||(te={})),function(t){t.create=function(t,e,...n){let r={label:t};return Oe.defined(e)&&(r.documentation=e),Oe.defined(n)?r.parameters=n:r.parameters=[],r}}(ee||(ee={})),function(t){t.Text=1,t.Read=2,t.Write=3}(ne||(ne={})),function(t){t.create=function(t,e){let n={range:t};return Oe.number(e)&&(n.kind=e),n}}(re||(re={})),function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26}(ie||(ie={})),function(t){t.Deprecated=1}(ae||(ae={})),function(t){t.create=function(t,e,n,r,i){let a={name:t,kind:e,location:{uri:r,range:n}};return i&&(a.containerName=i),a}}(se||(se={})),function(t){t.create=function(t,e,n,r){return void 0!==r?{name:t,kind:e,location:{uri:n,range:r}}:{name:t,kind:e,location:{uri:n}}}}(oe||(oe={})),function(t){t.create=function(t,e,n,r,i,a){let s={name:t,detail:e,kind:n,range:r,selectionRange:i};return void 0!==a&&(s.children=a),s},t.is=function(t){let e=t;return e&&Oe.string(e.name)&&Oe.number(e.kind)&&ft.is(e.range)&&ft.is(e.selectionRange)&&(void 0===e.detail||Oe.string(e.detail))&&(void 0===e.deprecated||Oe.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}}(le||(le={})),function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"}(ce||(ce={})),function(t){t.Invoked=1,t.Automatic=2}(he||(he={})),function(t){t.create=function(t,e,n){let r={diagnostics:t};return null!=e&&(r.only=e),null!=n&&(r.triggerKind=n),r},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.typedArray(e.diagnostics,Ct.is)&&(void 0===e.only||Oe.typedArray(e.only,Oe.string))&&(void 0===e.triggerKind||e.triggerKind===he.Invoked||e.triggerKind===he.Automatic)}}(ue||(ue={})),function(t){t.create=function(t,e,n){let r={title:t},i=!0;return"string"==typeof e?(i=!1,r.kind=e):At.is(e)?r.command=e:r.edit=e,i&&void 0!==n&&(r.kind=n),r},t.is=function(t){let e=t;return e&&Oe.string(e.title)&&(void 0===e.diagnostics||Oe.typedArray(e.diagnostics,Ct.is))&&(void 0===e.kind||Oe.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||At.is(e.command))&&(void 0===e.isPreferred||Oe.boolean(e.isPreferred))&&(void 0===e.edit||$t.is(e.edit))}}(de||(de={})),function(t){t.create=function(t,e){let n={range:t};return Oe.defined(e)&&(n.data=e),n},t.is=function(t){let e=t;return Oe.defined(e)&&ft.is(e.range)&&(Oe.undefined(e.command)||At.is(e.command))}}(pe||(pe={})),function(t){t.create=function(t,e){return{tabSize:t,insertSpaces:e}},t.is=function(t){let e=t;return Oe.defined(e)&&Oe.uinteger(e.tabSize)&&Oe.boolean(e.insertSpaces)}}(ge||(ge={})),function(t){t.create=function(t,e,n){return{range:t,target:e,data:n}},t.is=function(t){let e=t;return Oe.defined(e)&&ft.is(e.range)&&(Oe.undefined(e.target)||Oe.string(e.target))}}(fe||(fe={})),function(t){t.create=function(t,e){return{range:t,parent:e}},t.is=function(e){let n=e;return Oe.objectLiteral(n)&&ft.is(n.range)&&(void 0===n.parent||t.is(n.parent))}}(me||(me={})),function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"}(ye||(ye={})),function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"}(ve||(ve={})),function(t){t.is=function(t){const e=t;return Oe.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}}(xe||(xe={})),function(t){t.create=function(t,e){return{range:t,text:e}},t.is=function(t){const e=t;return null!=e&&ft.is(e.range)&&Oe.string(e.text)}}(be||(be={})),function(t){t.create=function(t,e,n){return{range:t,variableName:e,caseSensitiveLookup:n}},t.is=function(t){const e=t;return null!=e&&ft.is(e.range)&&Oe.boolean(e.caseSensitiveLookup)&&(Oe.string(e.variableName)||void 0===e.variableName)}}(we||(we={})),function(t){t.create=function(t,e){return{range:t,expression:e}},t.is=function(t){const e=t;return null!=e&&ft.is(e.range)&&(Oe.string(e.expression)||void 0===e.expression)}}(ke||(ke={})),function(t){t.create=function(t,e){return{frameId:t,stoppedLocation:e}},t.is=function(t){const e=t;return Oe.defined(e)&&ft.is(t.stoppedLocation)}}(Te||(Te={})),function(t){t.Type=1,t.Parameter=2,t.is=function(t){return 1===t||2===t}}(_e||(_e={})),function(t){t.create=function(t){return{value:t}},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&(void 0===e.tooltip||Oe.string(e.tooltip)||Yt.is(e.tooltip))&&(void 0===e.location||mt.is(e.location))&&(void 0===e.command||At.is(e.command))}}(Ee||(Ee={})),function(t){t.create=function(t,e,n){const r={position:t,label:e};return void 0!==n&&(r.kind=n),r},t.is=function(t){const e=t;return Oe.objectLiteral(e)&&gt.is(e.position)&&(Oe.string(e.label)||Oe.typedArray(e.label,Ee.is))&&(void 0===e.kind||_e.is(e.kind))&&void 0===e.textEdits||Oe.typedArray(e.textEdits,Lt.is)&&(void 0===e.tooltip||Oe.string(e.tooltip)||Yt.is(e.tooltip))&&(void 0===e.paddingLeft||Oe.boolean(e.paddingLeft))&&(void 0===e.paddingRight||Oe.boolean(e.paddingRight))}}(Se||(Se={})),function(t){t.createSnippet=function(t){return{kind:"snippet",value:t}}}(Ce||(Ce={})),function(t){t.create=function(t,e,n,r){return{insertText:t,filterText:e,range:n,command:r}}}(Ae||(Ae={})),function(t){t.create=function(t){return{items:t}}}(Le||(Le={})),function(t){t.Invoked=0,t.Automatic=1}(Me||(Me={})),function(t){t.create=function(t,e){return{range:t,text:e}}}(Ne||(Ne={})),function(t){t.create=function(t,e){return{triggerKind:t,selectedCompletionInfo:e}}}(Ie||(Ie={})),function(t){t.is=function(t){const e=t;return Oe.objectLiteral(e)&&ut.is(e.uri)&&Oe.string(e.name)}}(Re||(Re={})),function(t){function e(t,n){if(t.length<=1)return t;const r=t.length/2|0,i=t.slice(0,r),a=t.slice(r);e(i,n),e(a,n);let s=0,o=0,l=0;for(;s<i.length&&o<a.length;){let e=n(i[s],a[o]);t[l++]=e<=0?i[s++]:a[o++]}for(;s<i.length;)t[l++]=i[s++];for(;o<a.length;)t[l++]=a[o++];return t}t.create=function(t,e,n,r){return new $e(t,e,n,r)},t.is=function(t){let e=t;return!!(Oe.defined(e)&&Oe.string(e.uri)&&(Oe.undefined(e.languageId)||Oe.string(e.languageId))&&Oe.uinteger(e.lineCount)&&Oe.func(e.getText)&&Oe.func(e.positionAt)&&Oe.func(e.offsetAt))},t.applyEdits=function(t,n){let r=t.getText(),i=e(n,((t,e)=>{let n=t.range.start.line-e.range.start.line;return 0===n?t.range.start.character-e.range.start.character:n})),a=r.length;for(let e=i.length-1;e>=0;e--){let n=i[e],s=t.offsetAt(n.range.start),o=t.offsetAt(n.range.end);if(!(o<=a))throw new Error("Overlapping edit");r=r.substring(0,s)+n.newText+r.substring(o,r.length),a=s}return r}}(De||(De={}));class $e{constructor(t,e,n,r){this._uri=t,this._languageId=e,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let e=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(e,n)}return this._content}update(t,e){this._content=t.text,this._version=e,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let t=[],e=this._content,n=!0;for(let r=0;r<e.length;r++){n&&(t.push(r),n=!1);let i=e.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<e.length&&"\n"===e.charAt(r+1)&&r++}n&&e.length>0&&t.push(e.length),this._lineOffsets=t}return this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let e=this.getLineOffsets(),n=0,r=e.length;if(0===r)return gt.create(0,t);for(;n<r;){let i=Math.floor((n+r)/2);e[i]>t?r=i:n=i+1}let i=n-1;return gt.create(i,t-e[i])}offsetAt(t){let e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;let n=e[t.line],r=t.line+1<e.length?e[t.line+1]:this._content.length;return Math.max(Math.min(n+t.character,r),n)}get lineCount(){return this.getLineOffsets().length}}!function(t){const e=Object.prototype.toString;t.defined=function(t){return void 0!==t},t.undefined=function(t){return void 0===t},t.boolean=function(t){return!0===t||!1===t},t.string=function(t){return"[object String]"===e.call(t)},t.number=function(t){return"[object Number]"===e.call(t)},t.numberRange=function(t,n,r){return"[object Number]"===e.call(t)&&n<=t&&t<=r},t.integer=function(t){return"[object Number]"===e.call(t)&&-2147483648<=t&&t<=2147483647},t.uinteger=function(t){return"[object Number]"===e.call(t)&&0<=t&&t<=2147483647},t.func=function(t){return"[object Function]"===e.call(t)},t.objectLiteral=function(t){return null!==t&&"object"==typeof t},t.typedArray=function(t,e){return Array.isArray(t)&&t.every(e)}}(Oe||(Oe={}));class Be{constructor(){this.nodeStack=[]}get current(){var t;return null!==(t=this.nodeStack[this.nodeStack.length-1])&&void 0!==t?t:this.rootNode}buildRootNode(t){return this.rootNode=new Ye(t),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(t){const e=new ze;return e.grammarSource=t,e.root=this.rootNode,this.current.content.push(e),this.nodeStack.push(e),e}buildLeafNode(t,e){const n=new We(t.startOffset,t.image.length,(0,r.sp)(t),t.tokenType,!e);return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),n}removeNode(t){const e=t.container;if(e){const n=e.content.indexOf(t);n>=0&&e.content.splice(n,1)}}addHiddenNodes(t){const e=[];for(const n of t){const t=new We(n.startOffset,n.image.length,(0,r.sp)(n),n.tokenType,!0);t.root=this.rootNode,e.push(t)}let n=this.current,i=!1;if(n.content.length>0)n.content.push(...e);else{for(;n.container;){const t=n.container.content.indexOf(n);if(t>0){n.container.content.splice(t,0,...e),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...e)}}construct(t){const e=this.current;"string"==typeof t.$type&&(this.current.astNode=t),t.$cstNode=e;const n=this.nodeStack.pop();0===(null==n?void 0:n.content.length)&&this.removeNode(n)}}class Fe{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var t,e;const n="string"==typeof(null===(t=this._astNode)||void 0===t?void 0:t.$type)?this._astNode:null===(e=this.container)||void 0===e?void 0:e.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(t){this._astNode=t}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class We extends Fe{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(t,e,n,r,i=!1){super(),this._hidden=i,this._offset=t,this._tokenType=r,this._length=e,this._range=n}}class ze extends Fe{constructor(){super(...arguments),this.content=new Ze(this)}get children(){return this.content}get offset(){var t,e;return null!==(e=null===(t=this.firstNonHiddenNode)||void 0===t?void 0:t.offset)&&void 0!==e?e:0}get length(){return this.end-this.offset}get end(){var t,e;return null!==(e=null===(t=this.lastNonHiddenNode)||void 0===t?void 0:t.end)&&void 0!==e?e:0}get range(){const t=this.firstNonHiddenNode,e=this.lastNonHiddenNode;if(t&&e){if(void 0===this._rangeCache){const{range:n}=t,{range:r}=e;this._rangeCache={start:n.start,end:r.end.line<n.start.line?n.start:r.end}}return this._rangeCache}return{start:gt.create(0,0),end:gt.create(0,0)}}get firstNonHiddenNode(){for(const t of this.content)if(!t.hidden)return t;return this.content[0]}get lastNonHiddenNode(){for(let t=this.content.length-1;t>=0;t--){const e=this.content[t];if(!e.hidden)return e}return this.content[this.content.length-1]}}class Ze extends Array{constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,Ze.prototype)}push(...t){return this.addParents(t),super.push(...t)}unshift(...t){return this.addParents(t),super.unshift(...t)}splice(t,e,...n){return this.addParents(n),super.splice(t,e,...n)}addParents(t){for(const e of t)e.container=this.parent}}class Ye extends ze{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(t){super(),this._text="",this._text=null!=t?t:""}}const Ue=Symbol("Datatype");function Ge(t){return t.$type===Ue}const Ve=t=>t.endsWith("")?t:t+"";class qe{constructor(t){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=t.parser.Lexer;const e=this.lexer.definition,n="production"===t.LanguageMetaData.mode;this.wrapper=new Je(e,Object.assign(Object.assign({},t.parser.ParserConfig),{skipValidations:n,errorMessageProvider:t.parser.ParserErrorMessageProvider}))}alternatives(t,e){this.wrapper.wrapOr(t,e)}optional(t,e){this.wrapper.wrapOption(t,e)}many(t,e){this.wrapper.wrapMany(t,e)}atLeastOne(t,e){this.wrapper.wrapAtLeastOne(t,e)}getRule(t){return this.allRules.get(t)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class je extends qe{get current(){return this.stack[this.stack.length-1]}constructor(t){super(t),this.nodeBuilder=new Be,this.stack=[],this.assignmentMap=new Map,this.linker=t.references.Linker,this.converter=t.parser.ValueConverter,this.astReflection=t.shared.AstReflection}rule(t,e){const n=this.computeRuleType(t),r=this.wrapper.DEFINE_RULE(Ve(t.name),this.startImplementation(n,e).bind(this));return this.allRules.set(t.name,r),t.entry&&(this.mainRule=r),r}computeRuleType(t){if(!t.fragment){if((0,i.UP)(t))return Ue;{const e=(0,i.$G)(t);return null!=e?e:t.name}}}parse(t,e={}){this.nodeBuilder.buildRootNode(t);const n=this.lexerResult=this.lexer.tokenize(t);this.wrapper.input=n.tokens;const r=e.rule?this.allRules.get(e.rule):this.mainRule;if(!r)throw new Error(e.rule?`No rule found with name '${e.rule}'`:"No main rule available.");const i=r.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:i,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(t,e){return n=>{const r=!this.isRecording()&&void 0!==t;if(r){const e={$type:t};this.stack.push(e),t===Ue&&(e.value="")}let i;try{i=e(n)}catch(t){i=void 0}return void 0===i&&r&&(i=this.construct()),i}}extractHiddenTokens(t){const e=this.lexerResult.hidden;if(!e.length)return[];const n=t.startOffset;for(let t=0;t<e.length;t++)if(e[t].startOffset>n)return e.splice(0,t);return e.splice(0,e.length)}consume(t,e,n){const r=this.wrapper.wrapConsume(t,e);if(!this.isRecording()&&this.isValidToken(r)){const t=this.extractHiddenTokens(r);this.nodeBuilder.addHiddenNodes(t);const e=this.nodeBuilder.buildLeafNode(r,n),{assignment:i,isCrossRef:a}=this.getAssignment(n),o=this.current;if(i){const t=(0,s.p1)(n)?r.image:this.converter.convert(r.image,e);this.assign(i.operator,i.feature,t,e,a)}else if(Ge(o)){let t=r.image;(0,s.p1)(n)||(t=this.converter.convert(t,e).toString()),o.value+=t}}}isValidToken(t){return!t.isInsertedInRecovery&&!isNaN(t.startOffset)&&"number"==typeof t.endOffset&&!isNaN(t.endOffset)}subrule(t,e,n,r,i){let a;this.isRecording()||n||(a=this.nodeBuilder.buildCompositeNode(r));const s=this.wrapper.wrapSubrule(t,e,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(s,r,a)}performSubruleAssignment(t,e,n){const{assignment:r,isCrossRef:i}=this.getAssignment(e);if(r)this.assign(r.operator,r.feature,t,n,i);else if(!r){const e=this.current;if(Ge(e))e.value+=t.toString();else if("object"==typeof t&&t){const n=this.assignWithoutOverride(t,e);this.stack.pop(),this.stack.push(n)}}}action(t,e){if(!this.isRecording()){let n=this.current;if(e.feature&&e.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(e).content.push(n.$cstNode);const r={$type:t};this.stack.push(r),this.assign(e.operator,e.feature,n,n.$cstNode,!1)}else n.$type=t}}construct(){if(this.isRecording())return;const t=this.current;return(0,Pe.b2)(t),this.nodeBuilder.construct(t),this.stack.pop(),Ge(t)?this.converter.convert(t.value,t.$cstNode):((0,Pe.a1)(this.astReflection,t),t)}getAssignment(t){if(!this.assignmentMap.has(t)){const e=(0,Pe.V_)(t,s.B7);this.assignmentMap.set(t,{assignment:e,isCrossRef:!!e&&(0,s.Ki)(e.terminal)})}return this.assignmentMap.get(t)}assign(t,e,n,r,i){const a=this.current;let s;switch(s=i&&"string"==typeof n?this.linker.buildReference(a,e,r,n):n,t){case"=":a[e]=s;break;case"?=":a[e]=!0;break;case"+=":Array.isArray(a[e])||(a[e]=[]),a[e].push(s)}}assignWithoutOverride(t,e){for(const[n,r]of Object.entries(e)){const e=t[n];void 0===e?t[n]=r:Array.isArray(e)&&Array.isArray(r)&&(r.push(...e),t[n]=r)}const n=t.$cstNode;return n&&(n.astNode=void 0,t.$cstNode=void 0),t}get definitionErrors(){return this.wrapper.definitionErrors}}class He{buildMismatchTokenMessage(t){return o.Hs.buildMismatchTokenMessage(t)}buildNotAllInputParsedMessage(t){return o.Hs.buildNotAllInputParsedMessage(t)}buildNoViableAltMessage(t){return o.Hs.buildNoViableAltMessage(t)}buildEarlyExitMessage(t){return o.Hs.buildEarlyExitMessage(t)}}class Xe extends He{buildMismatchTokenMessage({expected:t,actual:e}){return`Expecting ${t.LABEL?"`"+t.LABEL+"`":t.name.endsWith(":KW")?`keyword '${t.name.substring(0,t.name.length-3)}'`:`token of type '${t.name}'`} but found \`${e.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:t}){return`Expecting end of file but found \`${t.image}\`.`}}class Ke extends qe{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(t){this.resetState();const e=this.lexer.tokenize(t,{mode:"partial"});return this.tokens=e.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(t,e){const n=this.wrapper.DEFINE_RULE(Ve(t.name),this.startImplementation(e).bind(this));return this.allRules.set(t.name,n),t.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(t){return e=>{const n=this.keepStackSize();try{t(e)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const t=this.elementStack.length;return this.stackSize=t,t}resetStackSize(t){this.removeUnexpectedElements(),this.stackSize=t}consume(t,e,n){this.wrapper.wrapConsume(t,e),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(t,e,n,r,i){this.before(r),this.wrapper.wrapSubrule(t,e,i),this.after(r)}before(t){this.isRecording()||this.elementStack.push(t)}after(t){if(!this.isRecording()){const e=this.elementStack.lastIndexOf(t);e>=0&&this.elementStack.splice(e)}}get currIdx(){return this.wrapper.currIdx}}const Qe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Xe};class Je extends o.nu{constructor(t,e){const n=e&&"maxLookahead"in e;super(t,Object.assign(Object.assign(Object.assign({},Qe),{lookaheadStrategy:n?new o.dV({maxLookahead:e.maxLookahead}):new K({logging:e.skipValidations?()=>{}:void 0})}),e))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(t,e){return this.RULE(t,e)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(t,e){return this.consume(t,e)}wrapSubrule(t,e,n){return this.subrule(t,e,{ARGS:[n]})}wrapOr(t,e){this.or(t,e)}wrapOption(t,e){this.option(t,e)}wrapMany(t,e){this.many(t,e)}wrapAtLeastOne(t,e){this.atLeastOne(t,e)}}var tn=n(9267),en=n(1412);function nn(t,e,n){return function(t,e){const n=(0,i.VD)(e,!1),r=(0,en.Vw)(e.rules).filter(s.F9).filter((t=>n.has(t)));for(const e of r){const n=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(e,rn(n,e.definition))}}({parser:e,tokens:n,ruleNames:new Map},t),e}function rn(t,e,n=!1){let r;if((0,s.p1)(e))r=function(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}(t,e);else if((0,s.LG)(e))r=function(t,e){const n=(0,i.z$)(e);return()=>t.parser.action(n,e)}(t,e);else if((0,s.B7)(e))r=rn(t,e.terminal);else if((0,s.Ki)(e))r=on(t,e);else if((0,s.t3)(e))r=function(t,e){const n=e.rule.ref;if((0,s.F9)(n)){const r=t.subrule++,i=n.fragment,a=e.arguments.length>0?function(t,e){const n=e.map((t=>an(t.value)));return e=>{const r={};for(let i=0;i<n.length;i++){const a=t.parameters[i],s=n[i];r[a.name]=s(e)}return r}}(n,e.arguments):()=>({});return s=>t.parser.subrule(r,cn(t,n),i,e,a(s))}if((0,s.MS)(n)){const r=t.consume++,i=hn(t,n.name);return()=>t.parser.consume(r,i,e)}if(!n)throw new tn.h(e.$cstNode,`Undefined rule: ${e.rule.$refText}`);(0,tn.U)(n)}(t,e);else if((0,s.MZ)(e))r=function(t,e){if(1===e.elements.length)return rn(t,e.elements[0]);{const n=[];for(const r of e.elements){const e={ALT:rn(t,r,!0)},i=sn(r);i&&(e.GATE=an(i)),n.push(e)}const r=t.or++;return e=>t.parser.alternatives(r,n.map((t=>{const n={ALT:()=>t.ALT(e)},r=t.GATE;return r&&(n.GATE=()=>r(e)),n})))}}(t,e);else if((0,s.W1)(e))r=function(t,e){if(1===e.elements.length)return rn(t,e.elements[0]);const n=[];for(const r of e.elements){const e={ALT:rn(t,r,!0)},i=sn(r);i&&(e.GATE=an(i)),n.push(e)}const r=t.or++,i=(t,e)=>`uGroup_${t}_${e.getRuleStack().join("-")}`,a=ln(t,sn(e),(e=>t.parser.alternatives(r,n.map(((n,a)=>{const s={ALT:()=>!0},o=t.parser;s.ALT=()=>{if(n.ALT(e),!o.isRecording()){const t=i(r,o);o.unorderedGroups.get(t)||o.unorderedGroups.set(t,[]);const e=o.unorderedGroups.get(t);void 0===(null==e?void 0:e[a])&&(e[a]=!0)}};const l=n.GATE;return s.GATE=l?()=>l(e):()=>{const t=o.unorderedGroups.get(i(r,o));return!(null==t?void 0:t[a])},s})))),"*");return e=>{a(e),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}(t,e);else if((0,s.ty)(e))r=function(t,e){const n=e.elements.map((e=>rn(t,e)));return t=>n.forEach((e=>e(t)))}(t,e);else{if(!(0,s.rT)(e))throw new tn.h(e.$cstNode,`Unexpected element type: ${e.$type}`);{const n=t.consume++;r=()=>t.parser.consume(n,o.sd,e)}}return ln(t,n?void 0:sn(e),r,e.cardinality)}function an(t){if((0,s.F8)(t)){const e=an(t.left),n=an(t.right);return t=>e(t)||n(t)}if((0,s.TB)(t)){const e=an(t.left),n=an(t.right);return t=>e(t)&&n(t)}if((0,s.Ii)(t)){const e=an(t.value);return t=>!e(t)}if((0,s.yW)(t)){const e=t.parameter.ref.name;return t=>void 0!==t&&!0===t[e]}if((0,s.L)(t)){const e=Boolean(t.true);return()=>e}(0,tn.U)(t)}function sn(t){if((0,s.ty)(t))return t.guardCondition}function on(t,e,n=e.terminal){if(n){if((0,s.t3)(n)&&(0,s.F9)(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;return n=>t.parser.subrule(i,cn(t,r),!1,e,n)}if((0,s.t3)(n)&&(0,s.MS)(n.rule.ref)){const r=t.consume++,i=hn(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}if((0,s.p1)(n)){const r=t.consume++,i=hn(t,n.value);return()=>t.parser.consume(r,i,e)}throw new Error("Could not build cross reference parser")}{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const n=(0,i.ib)(e.type.ref),r=null==n?void 0:n.terminal;if(!r)throw new Error("Could not find name assignment for type: "+(0,i.z$)(e.type.ref));return on(t,e,r)}}function ln(t,e,n,r){const i=e&&an(e);if(!r){if(i){const e=t.or++;return r=>t.parser.alternatives(e,[{ALT:()=>n(r),GATE:()=>i(r)},{ALT:(0,o._o)(),GATE:()=>!i(r)}])}return n}if("*"===r){const e=t.many++;return r=>t.parser.many(e,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}if("+"===r){const e=t.many++;if(i){const r=t.or++;return a=>t.parser.alternatives(r,[{ALT:()=>t.parser.atLeastOne(e,{DEF:()=>n(a)}),GATE:()=>i(a)},{ALT:(0,o._o)(),GATE:()=>!i(a)}])}return r=>t.parser.atLeastOne(e,{DEF:()=>n(r)})}if("?"===r){const e=t.optional++;return r=>t.parser.optional(e,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}(0,tn.U)(r)}function cn(t,e){const n=function(t,e){if((0,s.F9)(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!(0,s.F9)(r);)((0,s.ty)(r)||(0,s.MZ)(r)||(0,s.W1)(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function hn(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}var un=n(7447),dn=n(1930),pn=n(3881),gn=n(28);let fn=0;const mn=Symbol("OperationCancelled");function yn(t){return t===mn}async function vn(t){if(t===pn.Ts.None)return;const e=performance.now();if(e-fn>=10&&(fn=e,await new Promise((t=>{"undefined"==typeof setImmediate?setTimeout(t,0):setImmediate(t)})),fn=performance.now()),t.isCancellationRequested)throw mn}class xn{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=e=>(t(e),this),this.reject=t=>(e(t),this)}))}}class bn{constructor(t,e,n,r){this._uri=t,this._languageId=e,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){const e=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(e,n)}return this._content}update(t,e){for(const e of t)if(bn.isIncremental(e)){const t=En(e.range),n=this.offsetAt(t.start),r=this.offsetAt(t.end);this._content=this._content.substring(0,n)+e.text+this._content.substring(r,this._content.length);const i=Math.max(t.start.line,0),a=Math.max(t.end.line,0);let s=this._lineOffsets;const o=Tn(e.text,!1,n);if(a-i===o.length)for(let t=0,e=o.length;t<e;t++)s[t+i+1]=o[t];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));const l=e.text.length-(r-n);if(0!==l)for(let t=i+1+o.length,e=s.length;t<e;t++)s[t]=s[t]+l}else{if(!bn.isFull(e))throw new Error("Unknown change event received");this._content=e.text,this._lineOffsets=void 0}this._version=e}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=Tn(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);const e=this.getLineOffsets();let n=0,r=e.length;if(0===r)return{line:0,character:t};for(;n<r;){const i=Math.floor((n+r)/2);e[i]>t?r=i:n=i+1}const i=n-1;return{line:i,character:(t=this.ensureBeforeEOL(t,e[i]))-e[i]}}offsetAt(t){const e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;const n=e[t.line];if(t.character<=0)return n;const r=t.line+1<e.length?e[t.line+1]:this._content.length,i=Math.min(n+t.character,r);return this.ensureBeforeEOL(i,n)}ensureBeforeEOL(t,e){for(;t>e&&_n(this._content.charCodeAt(t-1));)t--;return t}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){const e=t;return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(t){const e=t;return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}var wn;function kn(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);kn(r,e),kn(i,e);let a=0,s=0,o=0;for(;a<r.length&&s<i.length;){const n=e(r[a],i[s]);t[o++]=n<=0?r[a++]:i[s++]}for(;a<r.length;)t[o++]=r[a++];for(;s<i.length;)t[o++]=i[s++];return t}function Tn(t,e,n=0){const r=e?[n]:[];for(let e=0;e<t.length;e++){const i=t.charCodeAt(e);_n(i)&&(13===i&&e+1<t.length&&10===t.charCodeAt(e+1)&&e++,r.push(n+e+1))}return r}function _n(t){return 13===t||10===t}function En(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Sn(t){const e=En(t.range);return e!==t.range?{newText:t.newText,range:e}:t}!function(t){t.create=function(t,e,n,r){return new bn(t,e,n,r)},t.update=function(t,e,n){if(t instanceof bn)return t.update(e,n),t;throw new Error("TextDocument.update: document must be created by TextDocument.create")},t.applyEdits=function(t,e){const n=t.getText(),r=kn(e.map(Sn),((t,e)=>{const n=t.range.start.line-e.range.start.line;return 0===n?t.range.start.character-e.range.start.character:n}));let i=0;const a=[];for(const e of r){const r=t.offsetAt(e.range.start);if(r<i)throw new Error("Overlapping edit");r>i&&a.push(n.substring(i,r)),e.newText.length&&a.push(e.newText),i=t.offsetAt(e.range.end)}return a.push(n.substr(i)),a.join("")}}(wn||(wn={}));var Cn,An=n(6883);!function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"}(Cn||(Cn={}));class Ln{constructor(t){this.serviceRegistry=t.ServiceRegistry,this.textDocuments=t.workspace.TextDocuments,this.fileSystemProvider=t.workspace.FileSystemProvider}async fromUri(t,e=pn.Ts.None){const n=await this.fileSystemProvider.readFile(t);return this.createAsync(t,n,e)}fromTextDocument(t,e,n){return e=null!=e?e:An.o.parse(t.uri),pn.Ts.is(n)?this.createAsync(e,t,n):this.create(e,t,n)}fromString(t,e,n){return pn.Ts.is(n)?this.createAsync(e,t,n):this.create(e,t,n)}fromModel(t,e){return this.create(e,{$model:t})}create(t,e,n){if("string"==typeof e){const r=this.parse(t,e,n);return this.createLangiumDocument(r,t,void 0,e)}if("$model"in e){const n={value:e.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,t)}{const r=this.parse(t,e.getText(),n);return this.createLangiumDocument(r,t,e)}}async createAsync(t,e,n){if("string"==typeof e){const r=await this.parseAsync(t,e,n);return this.createLangiumDocument(r,t,void 0,e)}{const r=await this.parseAsync(t,e.getText(),n);return this.createLangiumDocument(r,t,e)}}createLangiumDocument(t,e,n,r){let i;if(n)i={parseResult:t,uri:e,state:Cn.Parsed,references:[],textDocument:n};else{const n=this.createTextDocumentGetter(e,r);i={parseResult:t,uri:e,state:Cn.Parsed,references:[],get textDocument(){return n()}}}return t.value.$document=i,i}async update(t,e){var n,r;const i=null===(n=t.parseResult.value.$cstNode)||void 0===n?void 0:n.root.fullText,a=null===(r=this.textDocuments)||void 0===r?void 0:r.get(t.uri.toString()),s=a?a.getText():await this.fileSystemProvider.readFile(t.uri);if(a)Object.defineProperty(t,"textDocument",{value:a});else{const e=this.createTextDocumentGetter(t.uri,s);Object.defineProperty(t,"textDocument",{get:e})}return i!==s&&(t.parseResult=await this.parseAsync(t.uri,s,e),t.parseResult.value.$document=t),t.state=Cn.Parsed,t}parse(t,e,n){return this.serviceRegistry.getServices(t).parser.LangiumParser.parse(e,n)}parseAsync(t,e,n){return this.serviceRegistry.getServices(t).parser.AsyncParser.parse(e,n)}createTextDocumentGetter(t,e){const n=this.serviceRegistry;let r;return()=>null!=r?r:r=wn.create(t.toString(),n.getServices(t).LanguageMetaData.languageId,0,null!=e?e:"")}}class Mn{constructor(t){this.documentMap=new Map,this.langiumDocumentFactory=t.workspace.LangiumDocumentFactory,this.serviceRegistry=t.ServiceRegistry}get all(){return(0,en.Vw)(this.documentMap.values())}addDocument(t){const e=t.uri.toString();if(this.documentMap.has(e))throw new Error(`A document with the URI '${e}' is already present.`);this.documentMap.set(e,t)}getDocument(t){const e=t.toString();return this.documentMap.get(e)}async getOrCreateDocument(t,e){let n=this.getDocument(t);return n||(n=await this.langiumDocumentFactory.fromUri(t,e),this.addDocument(n),n)}createDocument(t,e,n){if(n)return this.langiumDocumentFactory.fromString(e,t,n).then((t=>(this.addDocument(t),t)));{const n=this.langiumDocumentFactory.fromString(e,t);return this.addDocument(n),n}}hasDocument(t){return this.documentMap.has(t.toString())}invalidateDocument(t){const e=t.toString(),n=this.documentMap.get(e);return n&&(this.serviceRegistry.getServices(t).references.Linker.unlink(n),n.state=Cn.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(t){const e=t.toString(),n=this.documentMap.get(e);return n&&(n.state=Cn.Changed,this.documentMap.delete(e)),n}}const Nn=Symbol("ref_resolving");class In{constructor(t){this.reflection=t.shared.AstReflection,this.langiumDocuments=()=>t.shared.workspace.LangiumDocuments,this.scopeProvider=t.references.ScopeProvider,this.astNodeLocator=t.workspace.AstNodeLocator}async link(t,e=pn.Ts.None){for(const n of(0,Pe.Zc)(t.parseResult.value))await vn(e),(0,Pe.fy)(n).forEach((e=>this.doLink(e,t)))}doLink(t,e){var n;const r=t.reference;if(void 0===r._ref){r._ref=Nn;try{const e=this.getCandidate(t);if((0,gn.et)(e))r._ref=e;else if(r._nodeDescription=e,this.langiumDocuments().hasDocument(e.documentUri)){const n=this.loadAstNode(e);r._ref=null!=n?n:this.createLinkingError(t,e)}else r._ref=void 0}catch(e){console.error(`An error occurred while resolving reference to '${r.$refText}':`,e);const i=null!==(n=e.message)&&void 0!==n?n:String(e);r._ref=Object.assign(Object.assign({},t),{message:`An error occurred while resolving reference to '${r.$refText}': ${i}`})}e.references.push(r)}}unlink(t){for(const e of t.references)delete e._ref,delete e._nodeDescription;t.references=[]}getCandidate(t){const e=this.scopeProvider.getScope(t).getElement(t.reference.$refText);return null!=e?e:this.createLinkingError(t)}buildReference(t,e,n,r){const i=this,a={$refNode:n,$refText:r,get ref(){var n;if((0,gn.xA)(this._ref))return this._ref;if((0,gn.SI)(this._nodeDescription)){const n=i.loadAstNode(this._nodeDescription);this._ref=null!=n?n:i.createLinkingError({reference:a,container:t,property:e},this._nodeDescription)}else if(void 0===this._ref){this._ref=Nn;const r=(0,Pe.E$)(t).$document,s=i.getLinkedNode({reference:a,container:t,property:e});if(s.error&&r&&r.state<Cn.ComputedScopes)return this._ref=void 0;this._ref=null!==(n=s.node)&&void 0!==n?n:s.error,this._nodeDescription=s.descr,null==r||r.references.push(this)}else if(this._ref===Nn)throw new Error(`Cyclic reference resolution detected: ${i.astNodeLocator.getAstNodePath(t)}/${e} (symbol '${r}')`);return(0,gn.xA)(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return(0,gn.et)(this._ref)?this._ref:void 0}};return a}getLinkedNode(t){var e;try{const e=this.getCandidate(t);if((0,gn.et)(e))return{error:e};const n=this.loadAstNode(e);return n?{node:n,descr:e}:{descr:e,error:this.createLinkingError(t,e)}}catch(n){console.error(`An error occurred while resolving reference to '${t.reference.$refText}':`,n);const r=null!==(e=n.message)&&void 0!==e?e:String(n);return{error:Object.assign(Object.assign({},t),{message:`An error occurred while resolving reference to '${t.reference.$refText}': ${r}`})}}}loadAstNode(t){if(t.node)return t.node;const e=this.langiumDocuments().getDocument(t.documentUri);return e?this.astNodeLocator.getAstNode(e.parseResult.value,t.path):void 0}createLinkingError(t,e){const n=(0,Pe.E$)(t.container).$document;n&&n.state<Cn.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const r=this.reflection.getReferenceType(t);return Object.assign(Object.assign({},t),{message:`Could not resolve reference to ${r} named '${t.reference.$refText}'.`,targetDescription:e})}}class Rn{getName(t){if(function(t){return"string"==typeof t.name}(t))return t.name}getNameNode(t){return(0,i.vb)(t.$cstNode,"name")}}var Dn,On,Pn;!function(t){t.basename=An.c.basename,t.dirname=An.c.dirname,t.extname=An.c.extname,t.joinPath=An.c.joinPath,t.resolvePath=An.c.resolvePath,t.equals=function(t,e){return(null==t?void 0:t.toString())===(null==e?void 0:e.toString())},t.relative=function(t,e){const n="string"==typeof t?t:t.path,r="string"==typeof e?e:e.path,i=n.split("/").filter((t=>t.length>0)),a=r.split("/").filter((t=>t.length>0));let s=0;for(;s<i.length&&i[s]===a[s];s++);return"../".repeat(i.length-s)+a.slice(s).join("/")},t.normalize=function(t){return An.o.parse(t.toString()).toString()}}(Dn||(Dn={}));class $n{constructor(t){this.nameProvider=t.references.NameProvider,this.index=t.shared.workspace.IndexManager,this.nodeLocator=t.workspace.AstNodeLocator}findDeclaration(t){if(t){const e=(0,i.h7)(t),n=t.astNode;if(e&&n){const r=n[e.feature];if((0,gn.Yk)(r))return r.ref;if(Array.isArray(r))for(const e of r)if((0,gn.Yk)(e)&&e.$refNode&&e.$refNode.offset<=t.offset&&e.$refNode.end>=t.end)return e.ref}if(n){const e=this.nameProvider.getNameNode(n);if(e&&(e===t||(0,r.OB)(t,e)))return n}}}findDeclarationNode(t){const e=this.findDeclaration(t);if(null==e?void 0:e.$cstNode){const t=this.nameProvider.getNameNode(e);return null!=t?t:e.$cstNode}}findReferences(t,e){const n=[];if(e.includeDeclaration){const e=this.getReferenceToSelf(t);e&&n.push(e)}let r=this.index.findAllReferences(t,this.nodeLocator.getAstNodePath(t));return e.documentUri&&(r=r.filter((t=>Dn.equals(t.sourceUri,e.documentUri)))),n.push(...r),(0,en.Vw)(n)}getReferenceToSelf(t){const e=this.nameProvider.getNameNode(t);if(e){const n=(0,Pe.Me)(t),i=this.nodeLocator.getAstNodePath(t);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:(0,r.yn)(e),local:!0}}}}class Bn{constructor(t){if(this.map=new Map,t)for(const[e,n]of t)this.add(e,n)}get size(){return en.IH.sum((0,en.Vw)(this.map.values()).map((t=>t.length)))}clear(){this.map.clear()}delete(t,e){if(void 0===e)return this.map.delete(t);{const n=this.map.get(t);if(n){const r=n.indexOf(e);if(r>=0)return 1===n.length?this.map.delete(t):n.splice(r,1),!0}return!1}}get(t){var e;return null!==(e=this.map.get(t))&&void 0!==e?e:[]}has(t,e){if(void 0===e)return this.map.has(t);{const n=this.map.get(t);return!!n&&n.indexOf(e)>=0}}add(t,e){return this.map.has(t)?this.map.get(t).push(e):this.map.set(t,[e]),this}addAll(t,e){return this.map.has(t)?this.map.get(t).push(...e):this.map.set(t,Array.from(e)),this}forEach(t){this.map.forEach(((e,n)=>e.forEach((e=>t(e,n,this)))))}[Symbol.iterator](){return this.entries().iterator()}entries(){return(0,en.Vw)(this.map.entries()).flatMap((([t,e])=>e.map((e=>[t,e]))))}keys(){return(0,en.Vw)(this.map.keys())}values(){return(0,en.Vw)(this.map.values()).flat()}entriesGroupedByKey(){return(0,en.Vw)(this.map.entries())}}class Fn{get size(){return this.map.size}constructor(t){if(this.map=new Map,this.inverse=new Map,t)for(const[e,n]of t)this.set(e,n)}clear(){this.map.clear(),this.inverse.clear()}set(t,e){return this.map.set(t,e),this.inverse.set(e,t),this}get(t){return this.map.get(t)}getKey(t){return this.inverse.get(t)}delete(t){const e=this.map.get(t);return void 0!==e&&(this.map.delete(t),this.inverse.delete(e),!0)}}class Wn{constructor(t){this.nameProvider=t.references.NameProvider,this.descriptions=t.workspace.AstNodeDescriptionProvider}async computeExports(t,e=pn.Ts.None){return this.computeExportsForNode(t.parseResult.value,t,void 0,e)}async computeExportsForNode(t,e,n=Pe.sx,r=pn.Ts.None){const i=[];this.exportNode(t,i,e);for(const a of n(t))await vn(r),this.exportNode(a,i,e);return i}exportNode(t,e,n){const r=this.nameProvider.getName(t);r&&e.push(this.descriptions.createDescription(t,r,n))}async computeLocalScopes(t,e=pn.Ts.None){const n=t.parseResult.value,r=new Bn;for(const i of(0,Pe.VY)(n))await vn(e),this.processNode(i,t,r);return r}processNode(t,e,n){const r=t.$container;if(r){const i=this.nameProvider.getName(t);i&&n.add(r,this.descriptions.createDescription(t,i,e))}}}class zn{constructor(t,e,n){var r;this.elements=t,this.outerScope=e,this.caseInsensitive=null!==(r=null==n?void 0:n.caseInsensitive)&&void 0!==r&&r}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(t){return(this.caseInsensitive?this.elements.find((e=>e.name.toLowerCase()===t.toLowerCase())):this.elements.find((e=>e.name===t)))||(this.outerScope?this.outerScope.getElement(t):void 0)}}class Zn{constructor(t,e,n){var r;this.elements=new Map,this.caseInsensitive=null!==(r=null==n?void 0:n.caseInsensitive)&&void 0!==r&&r;for(const e of t){const t=this.caseInsensitive?e.name.toLowerCase():e.name;this.elements.set(t,e)}this.outerScope=e}getElement(t){const e=this.caseInsensitive?t.toLowerCase():t;return this.elements.get(e)||(this.outerScope?this.outerScope.getElement(t):void 0)}getAllElements(){let t=(0,en.Vw)(this.elements.values());return this.outerScope&&(t=t.concat(this.outerScope.getAllElements())),t}}class Yn{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(t){this.toDispose.push(t)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach((t=>t.dispose()))}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class Un extends Yn{constructor(){super(...arguments),this.cache=new Map}has(t){return this.throwIfDisposed(),this.cache.has(t)}set(t,e){this.throwIfDisposed(),this.cache.set(t,e)}get(t,e){if(this.throwIfDisposed(),this.cache.has(t))return this.cache.get(t);if(e){const n=e();return this.cache.set(t,n),n}}delete(t){return this.throwIfDisposed(),this.cache.delete(t)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Gn extends Yn{constructor(t){super(),this.cache=new Map,this.converter=null!=t?t:t=>t}has(t,e){return this.throwIfDisposed(),this.cacheForContext(t).has(e)}set(t,e,n){this.throwIfDisposed(),this.cacheForContext(t).set(e,n)}get(t,e,n){this.throwIfDisposed();const r=this.cacheForContext(t);if(r.has(e))return r.get(e);if(n){const t=n();return r.set(e,t),t}}delete(t,e){return this.throwIfDisposed(),this.cacheForContext(t).delete(e)}clear(t){if(this.throwIfDisposed(),t){const e=this.converter(t);this.cache.delete(e)}else this.cache.clear()}cacheForContext(t){const e=this.converter(t);let n=this.cache.get(e);return n||(n=new Map,this.cache.set(e,n)),n}}class Vn extends Un{constructor(t,e){super(),e?(this.toDispose.push(t.workspace.DocumentBuilder.onBuildPhase(e,(()=>{this.clear()}))),this.toDispose.push(t.workspace.DocumentBuilder.onUpdate(((t,e)=>{e.length>0&&this.clear()})))):this.toDispose.push(t.workspace.DocumentBuilder.onUpdate((()=>{this.clear()})))}}class qn{constructor(t){this.reflection=t.shared.AstReflection,this.nameProvider=t.references.NameProvider,this.descriptions=t.workspace.AstNodeDescriptionProvider,this.indexManager=t.shared.workspace.IndexManager,this.globalScopeCache=new Vn(t.shared)}getScope(t){const e=[],n=this.reflection.getReferenceType(t),r=(0,Pe.Me)(t.container).precomputedScopes;if(r){let i=t.container;do{const t=r.get(i);t.length>0&&e.push((0,en.Vw)(t).filter((t=>this.reflection.isSubtype(t.type,n)))),i=i.$container}while(i)}let i=this.getGlobalScope(n,t);for(let t=e.length-1;t>=0;t--)i=this.createScope(e[t],i);return i}createScope(t,e,n){return new zn((0,en.Vw)(t),e,n)}createScopeForNodes(t,e,n){const r=(0,en.Vw)(t).map((t=>{const e=this.nameProvider.getName(t);if(e)return this.descriptions.createDescription(t,e)})).nonNullable();return new zn(r,e,n)}getGlobalScope(t,e){return this.globalScopeCache.get(t,(()=>new Zn(this.indexManager.allElements(t))))}}function jn(t){return"object"==typeof t&&!!t&&("$ref"in t||"$error"in t)}class Hn{constructor(t){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=t.shared.workspace.LangiumDocuments,this.astNodeLocator=t.workspace.AstNodeLocator,this.nameProvider=t.references.NameProvider,this.commentProvider=t.documentation.CommentProvider}serialize(t,e){const n=null!=e?e:{},r=null==e?void 0:e.replacer,i=(t,e)=>this.replacer(t,e,n),a=r?(t,e)=>r(t,e,i):i;try{return this.currentDocument=(0,Pe.Me)(t),JSON.stringify(t,a,null==e?void 0:e.space)}finally{this.currentDocument=void 0}}deserialize(t,e){const n=null!=e?e:{},r=JSON.parse(t);return this.linkNode(r,r,n),r}replacer(t,e,{refText:n,sourceText:r,textRegions:i,comments:a,uriConverter:s}){var o,l,c,h;if(!this.ignoreProperties.has(t)){if((0,gn.Yk)(e)){const t=e.ref,r=n?e.$refText:void 0;if(t){const n=(0,Pe.Me)(t);let i="";return this.currentDocument&&this.currentDocument!==n&&(i=s?s(n.uri,e):n.uri.toString()),{$ref:`${i}#${this.astNodeLocator.getAstNodePath(t)}`,$refText:r}}return{$error:null!==(l=null===(o=e.error)||void 0===o?void 0:o.message)&&void 0!==l?l:"Could not resolve reference",$refText:r}}if((0,gn.xA)(e)){let n;if(i&&(n=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},e)),t&&!e.$document||!(null==n?void 0:n.$textRegion)||(n.$textRegion.documentURI=null===(c=this.currentDocument)||void 0===c?void 0:c.uri.toString())),r&&!t&&(null!=n||(n=Object.assign({},e)),n.$sourceText=null===(h=e.$cstNode)||void 0===h?void 0:h.text),a){null!=n||(n=Object.assign({},e));const t=this.commentProvider.getComment(e);t&&(n.$comment=t.replace(/\r/g,""))}return null!=n?n:e}return e}}addAstNodeRegionWithAssignmentsTo(t){const e=t=>({offset:t.offset,end:t.end,length:t.length,range:t.range});if(t.$cstNode){const n=(t.$textRegion=e(t.$cstNode)).assignments={};return Object.keys(t).filter((t=>!t.startsWith("$"))).forEach((r=>{const a=(0,i.EL)(t.$cstNode,r).map(e);0!==a.length&&(n[r]=a)})),t}}linkNode(t,e,n,r,i,a){for(const[r,i]of Object.entries(t))if(Array.isArray(i))for(let a=0;a<i.length;a++){const s=i[a];jn(s)?i[a]=this.reviveReference(t,r,e,s,n):(0,gn.xA)(s)&&this.linkNode(s,e,n,t,r,a)}else jn(i)?t[r]=this.reviveReference(t,r,e,i,n):(0,gn.xA)(i)&&this.linkNode(i,e,n,t,r);const s=t;s.$container=r,s.$containerProperty=i,s.$containerIndex=a}reviveReference(t,e,n,r,i){let a=r.$refText,s=r.$error;if(r.$ref){const t=this.getRefNode(n,r.$ref,i.uriConverter);if((0,gn.xA)(t))return a||(a=this.nameProvider.getName(t)),{$refText:null!=a?a:"",ref:t};s=t}if(s){const n={$refText:null!=a?a:""};return n.error={container:t,property:e,message:s,reference:n},n}}getRefNode(t,e,n){try{const r=e.indexOf("#");if(0===r){return this.astNodeLocator.getAstNode(t,e.substring(1))||"Could not resolve path: "+e}if(r<0){const t=n?n(e):An.o.parse(e),r=this.langiumDocuments.getDocument(t);return r?r.parseResult.value:"Could not find document for URI: "+e}const i=n?n(e.substring(0,r)):An.o.parse(e.substring(0,r)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+e;if(r===e.length-1)return a.parseResult.value;return this.astNodeLocator.getAstNode(a.parseResult.value,e.substring(r+1))||"Could not resolve URI: "+e}catch(t){return String(t)}}}class Xn{get map(){return this.fileExtensionMap}constructor(t){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=null==t?void 0:t.workspace.TextDocuments}register(t){const e=t.LanguageMetaData;for(const n of e.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${e.languageId}'.`),this.fileExtensionMap.set(n,t);this.languageIdMap.set(e.languageId,t),1===this.languageIdMap.size?this.singleton=t:this.singleton=void 0}getServices(t){var e,n;if(void 0!==this.singleton)return this.singleton;if(0===this.languageIdMap.size)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const r=null===(n=null===(e=this.textDocuments)||void 0===e?void 0:e.get(t))||void 0===n?void 0:n.languageId;if(void 0!==r){const t=this.languageIdMap.get(r);if(t)return t}const i=Dn.extname(t),a=this.fileExtensionMap.get(i);if(!a)throw r?new Error(`The service registry contains no services for the extension '${i}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${i}'.`);return a}hasServices(t){try{return this.getServices(t),!0}catch(t){return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Kn(t){return{code:t}}!function(t){t.all=["fast","slow","built-in"]}(On||(On={}));class Qn{constructor(t){this.entries=new Bn,this.entriesBefore=[],this.entriesAfter=[],this.reflection=t.shared.AstReflection}register(t,e=this,n="fast"){if("built-in"===n)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[r,i]of Object.entries(t)){const t=i;if(Array.isArray(t))for(const i of t){const t={check:this.wrapValidationException(i,e),category:n};this.addEntry(r,t)}else if("function"==typeof t){const i={check:this.wrapValidationException(t,e),category:n};this.addEntry(r,i)}else(0,tn.U)(t)}}wrapValidationException(t,e){return async(n,r,i)=>{await this.handleException((()=>t.call(e,n,r,i)),"An error occurred during validation",r,n)}}async handleException(t,e,n,r){try{await t()}catch(t){if(yn(t))throw t;console.error(`${e}:`,t),t instanceof Error&&t.stack&&console.error(t.stack),n("error",`${e}: ${t instanceof Error?t.message:String(t)}`,{node:r})}}addEntry(t,e){if("AstNode"!==t)for(const n of this.reflection.getAllSubTypes(t))this.entries.add(n,e);else this.entries.add("AstNode",e)}getChecks(t,e){let n=(0,en.Vw)(this.entries.get(t)).concat(this.entries.get("AstNode"));return e&&(n=n.filter((t=>e.includes(t.category)))),n.map((t=>t.check))}registerBeforeDocument(t,e=this){this.entriesBefore.push(this.wrapPreparationException(t,"An error occurred during set-up of the validation",e))}registerAfterDocument(t,e=this){this.entriesAfter.push(this.wrapPreparationException(t,"An error occurred during tear-down of the validation",e))}wrapPreparationException(t,e,n){return async(r,i,a,s)=>{await this.handleException((()=>t.call(n,r,i,a,s)),e,i,r)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class Jn{constructor(t){this.validationRegistry=t.validation.ValidationRegistry,this.metadata=t.LanguageMetaData}async validateDocument(t,e={},n=pn.Ts.None){const r=t.parseResult,i=[];if(await vn(n),!e.categories||e.categories.includes("built-in")){if(this.processLexingErrors(r,i,e),e.stopAfterLexingErrors&&i.some((t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.code)===Pn.LexingError})))return i;if(this.processParsingErrors(r,i,e),e.stopAfterParsingErrors&&i.some((t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.code)===Pn.ParsingError})))return i;if(this.processLinkingErrors(t,i,e),e.stopAfterLinkingErrors&&i.some((t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.code)===Pn.LinkingError})))return i}try{i.push(...await this.validateAst(r.value,e,n))}catch(t){if(yn(t))throw t;console.error("An error occurred during validation:",t)}return await vn(n),i}processLexingErrors(t,e,n){var r,i,a;const s=[...t.lexerErrors,...null!==(i=null===(r=t.lexerReport)||void 0===r?void 0:r.diagnostics)&&void 0!==i?i:[]];for(const t of s){const n=null!==(a=t.severity)&&void 0!==a?a:"error",r={severity:er(n),range:{start:{line:t.line-1,character:t.column-1},end:{line:t.line-1,character:t.column+t.length-1}},message:t.message,data:nr(n),source:this.getSource()};e.push(r)}}processParsingErrors(t,e,n){for(const n of t.parserErrors){let t;if(isNaN(n.token.startOffset)){if("previousToken"in n){const e=n.previousToken;if(isNaN(e.startOffset)){const e={line:0,character:0};t={start:e,end:e}}else{const n={line:e.endLine-1,character:e.endColumn};t={start:n,end:n}}}}else t=(0,r.sp)(n.token);if(t){const r={severity:er("error"),range:t,message:n.message,data:Kn(Pn.ParsingError),source:this.getSource()};e.push(r)}}}processLinkingErrors(t,e,n){for(const n of t.references){const t=n.error;if(t){const n={node:t.container,property:t.property,index:t.index,data:{code:Pn.LinkingError,containerType:t.container.$type,property:t.property,refText:t.reference.$refText}};e.push(this.toDiagnostic("error",t.message,n))}}}async validateAst(t,e,n=pn.Ts.None){const r=[],i=(t,e,n)=>{r.push(this.toDiagnostic(t,e,n))};return await this.validateAstBefore(t,e,i,n),await this.validateAstNodes(t,e,i,n),await this.validateAstAfter(t,e,i,n),r}async validateAstBefore(t,e,n,r=pn.Ts.None){var i;const a=this.validationRegistry.checksBefore;for(const s of a)await vn(r),await s(t,n,null!==(i=e.categories)&&void 0!==i?i:[],r)}async validateAstNodes(t,e,n,r=pn.Ts.None){await Promise.all((0,Pe.Zc)(t).map((async t=>{await vn(r);const i=this.validationRegistry.getChecks(t.$type,e.categories);for(const e of i)await e(t,n,r)})))}async validateAstAfter(t,e,n,r=pn.Ts.None){var i;const a=this.validationRegistry.checksAfter;for(const s of a)await vn(r),await s(t,n,null!==(i=e.categories)&&void 0!==i?i:[],r)}toDiagnostic(t,e,n){return{message:e,range:tr(n),severity:er(t),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function tr(t){if(t.range)return t.range;let e;return"string"==typeof t.property?e=(0,i.vb)(t.node.$cstNode,t.property,t.index):"string"==typeof t.keyword&&(e=(0,i.lA)(t.node.$cstNode,t.keyword,t.index)),null!=e||(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function er(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function nr(t){switch(t){case"error":return Kn(Pn.LexingError);case"warning":return Kn(Pn.LexingWarning);case"info":return Kn(Pn.LexingInfo);case"hint":return Kn(Pn.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}!function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"}(Pn||(Pn={}));class rr{constructor(t){this.astNodeLocator=t.workspace.AstNodeLocator,this.nameProvider=t.references.NameProvider}createDescription(t,e,n){const i=null!=n?n:(0,Pe.Me)(t);null!=e||(e=this.nameProvider.getName(t));const a=this.astNodeLocator.getAstNodePath(t);if(!e)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>{var e;return null!=s?s:s=(0,r.yn)(null!==(e=this.nameProvider.getNameNode(t))&&void 0!==e?e:t.$cstNode)};return{node:t,name:e,get nameSegment(){return o()},selectionSegment:(0,r.yn)(t.$cstNode),type:t.$type,documentUri:i.uri,path:a}}}class ir{constructor(t){this.nodeLocator=t.workspace.AstNodeLocator}async createDescriptions(t,e=pn.Ts.None){const n=[],r=t.parseResult.value;for(const t of(0,Pe.Zc)(r))await vn(e),(0,Pe.fy)(t).filter((t=>!(0,gn.et)(t))).forEach((t=>{const e=this.createDescription(t);e&&n.push(e)}));return n}createDescription(t){const e=t.reference.$nodeDescription,n=t.reference.$refNode;if(!e||!n)return;const i=(0,Pe.Me)(t.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(t.container),targetUri:e.documentUri,targetPath:e.path,segment:(0,r.yn)(n),local:Dn.equals(e.documentUri,i)}}}class ar{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(t){if(t.$container){const e=this.getAstNodePath(t.$container),n=this.getPathSegment(t);return e+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:t,$containerIndex:e}){if(!t)throw new Error("Missing '$containerProperty' in AST node.");return void 0!==e?t+this.indexSeparator+e:t}getAstNode(t,e){return e.split(this.segmentSeparator).reduce(((t,e)=>{if(!t||0===e.length)return t;const n=e.indexOf(this.indexSeparator);if(n>0){const r=e.substring(0,n),i=parseInt(e.substring(n+1)),a=t[r];return null==a?void 0:a[i]}return t[e]}),t)}}var sr,or=n(7135);class lr{constructor(t){this._ready=new xn,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new or.Emitter,this.serviceRegistry=t.ServiceRegistry}get ready(){return this._ready.promise}initialize(t){var e,n;this.workspaceConfig=null!==(n=null===(e=t.capabilities.workspace)||void 0===e?void 0:e.configuration)&&void 0!==n&&n}async initialized(t){if(this.workspaceConfig){if(t.register){const e=this.serviceRegistry.all;t.register({section:e.map((t=>this.toSectionName(t.LanguageMetaData.languageId)))})}if(t.fetchConfiguration){const e=this.serviceRegistry.all.map((t=>({section:this.toSectionName(t.LanguageMetaData.languageId)}))),n=await t.fetchConfiguration(e);e.forEach(((t,e)=>{this.updateSectionConfiguration(t.section,n[e])}))}}this._ready.resolve()}updateConfiguration(t){t.settings&&Object.keys(t.settings).forEach((e=>{const n=t.settings[e];this.updateSectionConfiguration(e,n),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:n})}))}updateSectionConfiguration(t,e){this.settings[t]=e}async getConfiguration(t,e){await this.ready;const n=this.toSectionName(t);if(this.settings[n])return this.settings[n][e]}toSectionName(t){return`${t}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}!function(t){t.create=function(t){return{dispose:async()=>await t()}}}(sr||(sr={}));class cr{constructor(t){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Bn,this.documentPhaseListeners=new Bn,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Cn.Changed,this.langiumDocuments=t.workspace.LangiumDocuments,this.langiumDocumentFactory=t.workspace.LangiumDocumentFactory,this.textDocuments=t.workspace.TextDocuments,this.indexManager=t.workspace.IndexManager,this.serviceRegistry=t.ServiceRegistry}async build(t,e={},n=pn.Ts.None){var r,i;for(const n of t){const t=n.uri.toString();if(n.state===Cn.Validated){if("boolean"==typeof e.validation&&e.validation)n.state=Cn.IndexedReferences,n.diagnostics=void 0,this.buildState.delete(t);else if("object"==typeof e.validation){const a=this.buildState.get(t),s=null===(r=null==a?void 0:a.result)||void 0===r?void 0:r.validationChecks;if(s){const r=(null!==(i=e.validation.categories)&&void 0!==i?i:On.all).filter((t=>!s.includes(t)));r.length>0&&(this.buildState.set(t,{completed:!1,options:{validation:Object.assign(Object.assign({},e.validation),{categories:r})},result:a.result}),n.state=Cn.IndexedReferences)}}}else this.buildState.delete(t)}this.currentState=Cn.Changed,await this.emitUpdate(t.map((t=>t.uri)),[]),await this.buildDocuments(t,e,n)}async update(t,e,n=pn.Ts.None){this.currentState=Cn.Changed;for(const t of e)this.langiumDocuments.deleteDocument(t),this.buildState.delete(t.toString()),this.indexManager.remove(t);for(const e of t){if(!this.langiumDocuments.invalidateDocument(e)){const t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e);t.state=Cn.Changed,this.langiumDocuments.addDocument(t)}this.buildState.delete(e.toString())}const r=(0,en.Vw)(t).concat(e).map((t=>t.toString())).toSet();this.langiumDocuments.all.filter((t=>!r.has(t.uri.toString())&&this.shouldRelink(t,r))).forEach((t=>{this.serviceRegistry.getServices(t.uri).references.Linker.unlink(t),t.state=Math.min(t.state,Cn.ComputedScopes),t.diagnostics=void 0})),await this.emitUpdate(t,e),await vn(n);const i=this.sortDocuments(this.langiumDocuments.all.filter((t=>{var e;return t.state<Cn.Linked||!(null===(e=this.buildState.get(t.uri.toString()))||void 0===e?void 0:e.completed)})).toArray());await this.buildDocuments(i,this.updateBuildOptions,n)}async emitUpdate(t,e){await Promise.all(this.updateListeners.map((n=>n(t,e))))}sortDocuments(t){let e=0,n=t.length-1;for(;e<n;){for(;e<t.length&&this.hasTextDocument(t[e]);)e++;for(;n>=0&&!this.hasTextDocument(t[n]);)n--;e<n&&([t[e],t[n]]=[t[n],t[e]])}return t}hasTextDocument(t){var e;return Boolean(null===(e=this.textDocuments)||void 0===e?void 0:e.get(t.uri))}shouldRelink(t,e){return!!t.references.some((t=>void 0!==t.error))||this.indexManager.isAffected(t,e)}onUpdate(t){return this.updateListeners.push(t),sr.create((()=>{const e=this.updateListeners.indexOf(t);e>=0&&this.updateListeners.splice(e,1)}))}async buildDocuments(t,e,n){this.prepareBuild(t,e),await this.runCancelable(t,Cn.Parsed,n,(t=>this.langiumDocumentFactory.update(t,n))),await this.runCancelable(t,Cn.IndexedContent,n,(t=>this.indexManager.updateContent(t,n))),await this.runCancelable(t,Cn.ComputedScopes,n,(async t=>{const e=this.serviceRegistry.getServices(t.uri).references.ScopeComputation;t.precomputedScopes=await e.computeLocalScopes(t,n)})),await this.runCancelable(t,Cn.Linked,n,(t=>this.serviceRegistry.getServices(t.uri).references.Linker.link(t,n))),await this.runCancelable(t,Cn.IndexedReferences,n,(t=>this.indexManager.updateReferences(t,n)));const r=t.filter((t=>this.shouldValidate(t)));await this.runCancelable(r,Cn.Validated,n,(t=>this.validate(t,n)));for(const e of t){const t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}}prepareBuild(t,e){for(const n of t){const t=n.uri.toString(),r=this.buildState.get(t);r&&!r.completed||this.buildState.set(t,{completed:!1,options:e,result:null==r?void 0:r.result})}}async runCancelable(t,e,n,r){const i=t.filter((t=>t.state<e));for(const t of i)await vn(n),await r(t),t.state=e,await this.notifyDocumentPhase(t,e,n);const a=t.filter((t=>t.state===e));await this.notifyBuildPhase(a,e,n),this.currentState=e}onBuildPhase(t,e){return this.buildPhaseListeners.add(t,e),sr.create((()=>{this.buildPhaseListeners.delete(t,e)}))}onDocumentPhase(t,e){return this.documentPhaseListeners.add(t,e),sr.create((()=>{this.documentPhaseListeners.delete(t,e)}))}waitUntil(t,e,n){let r;if(e&&"path"in e?r=e:n=e,null!=n||(n=pn.Ts.None),r){const e=this.langiumDocuments.getDocument(r);if(e&&e.state>t)return Promise.resolve(r)}return this.currentState>=t?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(mn):new Promise(((e,i)=>{const a=this.onBuildPhase(t,(()=>{if(a.dispose(),s.dispose(),r){const t=this.langiumDocuments.getDocument(r);e(null==t?void 0:t.uri)}else e(void 0)})),s=n.onCancellationRequested((()=>{a.dispose(),s.dispose(),i(mn)}))}))}async notifyDocumentPhase(t,e,n){const r=this.documentPhaseListeners.get(e).slice();for(const e of r)try{await e(t,n)}catch(t){if(!yn(t))throw t}}async notifyBuildPhase(t,e,n){if(0===t.length)return;const r=this.buildPhaseListeners.get(e).slice();for(const e of r)await vn(n),await e(t,n)}shouldValidate(t){return Boolean(this.getBuildOptions(t).validation)}async validate(t,e){var n,r;const i=this.serviceRegistry.getServices(t.uri).validation.DocumentValidator,a=this.getBuildOptions(t).validation,s="object"==typeof a?a:void 0,o=await i.validateDocument(t,s,e);t.diagnostics?t.diagnostics.push(...o):t.diagnostics=o;const l=this.buildState.get(t.uri.toString());if(l){null!==(n=l.result)&&void 0!==n||(l.result={});const t=null!==(r=null==s?void 0:s.categories)&&void 0!==r?r:On.all;l.result.validationChecks?l.result.validationChecks.push(...t):l.result.validationChecks=[...t]}}getBuildOptions(t){var e,n;return null!==(n=null===(e=this.buildState.get(t.uri.toString()))||void 0===e?void 0:e.options)&&void 0!==n?n:{}}}class hr{constructor(t){this.symbolIndex=new Map,this.symbolByTypeIndex=new Gn,this.referenceIndex=new Map,this.documents=t.workspace.LangiumDocuments,this.serviceRegistry=t.ServiceRegistry,this.astReflection=t.AstReflection}findAllReferences(t,e){const n=(0,Pe.Me)(t).uri,r=[];return this.referenceIndex.forEach((t=>{t.forEach((t=>{Dn.equals(t.targetUri,n)&&t.targetPath===e&&r.push(t)}))})),(0,en.Vw)(r)}allElements(t,e){let n=(0,en.Vw)(this.symbolIndex.keys());return e&&(n=n.filter((t=>!e||e.has(t)))),n.map((e=>this.getFileDescriptions(e,t))).flat()}getFileDescriptions(t,e){var n;if(!e)return null!==(n=this.symbolIndex.get(t))&&void 0!==n?n:[];const r=this.symbolByTypeIndex.get(t,e,(()=>{var n;return(null!==(n=this.symbolIndex.get(t))&&void 0!==n?n:[]).filter((t=>this.astReflection.isSubtype(t.type,e)))}));return r}remove(t){const e=t.toString();this.symbolIndex.delete(e),this.symbolByTypeIndex.clear(e),this.referenceIndex.delete(e)}async updateContent(t,e=pn.Ts.None){const n=this.serviceRegistry.getServices(t.uri),r=await n.references.ScopeComputation.computeExports(t,e),i=t.uri.toString();this.symbolIndex.set(i,r),this.symbolByTypeIndex.clear(i)}async updateReferences(t,e=pn.Ts.None){const n=this.serviceRegistry.getServices(t.uri),r=await n.workspace.ReferenceDescriptionProvider.createDescriptions(t,e);this.referenceIndex.set(t.uri.toString(),r)}isAffected(t,e){const n=this.referenceIndex.get(t.uri.toString());return!!n&&n.some((t=>!t.local&&e.has(t.targetUri.toString())))}}class ur{constructor(t){this.initialBuildOptions={},this._ready=new xn,this.serviceRegistry=t.ServiceRegistry,this.langiumDocuments=t.workspace.LangiumDocuments,this.documentBuilder=t.workspace.DocumentBuilder,this.fileSystemProvider=t.workspace.FileSystemProvider,this.mutex=t.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(t){var e;this.folders=null!==(e=t.workspaceFolders)&&void 0!==e?e:void 0}initialized(t){return this.mutex.write((t=>{var e;return this.initializeWorkspace(null!==(e=this.folders)&&void 0!==e?e:[],t)}))}async initializeWorkspace(t,e=pn.Ts.None){const n=await this.performStartup(t);await vn(e),await this.documentBuilder.build(n,this.initialBuildOptions,e)}async performStartup(t){const e=this.serviceRegistry.all.flatMap((t=>t.LanguageMetaData.fileExtensions)),n=[],r=t=>{n.push(t),this.langiumDocuments.hasDocument(t.uri)||this.langiumDocuments.addDocument(t)};return await this.loadAdditionalDocuments(t,r),await Promise.all(t.map((t=>[t,this.getRootFolder(t)])).map((async t=>this.traverseFolder(...t,e,r)))),this._ready.resolve(),n}loadAdditionalDocuments(t,e){return Promise.resolve()}getRootFolder(t){return An.o.parse(t.uri)}async traverseFolder(t,e,n,r){const i=await this.fileSystemProvider.readDirectory(e);await Promise.all(i.map((async e=>{if(this.includeEntry(t,e,n))if(e.isDirectory)await this.traverseFolder(t,e.uri,n,r);else if(e.isFile){const t=await this.langiumDocuments.getOrCreateDocument(e.uri);r(t)}})))}includeEntry(t,e,n){const r=Dn.basename(e.uri);if(r.startsWith("."))return!1;if(e.isDirectory)return"node_modules"!==r&&"out"!==r;if(e.isFile){const t=Dn.extname(e.uri);return n.includes(t)}return!1}}class dr{buildUnexpectedCharactersMessage(t,e,n,r,i){return o.ZW.buildUnexpectedCharactersMessage(t,e,n,r,i)}buildUnableToPopLexerModeMessage(t){return o.ZW.buildUnableToPopLexerModeMessage(t)}}const pr={mode:"full"};class gr{constructor(t){this.errorMessageProvider=t.parser.LexerErrorMessageProvider,this.tokenBuilder=t.parser.TokenBuilder;const e=this.tokenBuilder.buildTokens(t.Grammar,{caseInsensitive:t.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(e);const n=mr(e)?Object.values(e):e,r="production"===t.LanguageMetaData.mode;this.chevrotainLexer=new o.hW(n,{positionTracking:"full",skipValidations:r,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(t,e=pr){var n,r,i;const a=this.chevrotainLexer.tokenize(t);return{tokens:a.tokens,errors:a.errors,hidden:null!==(n=a.groups.hidden)&&void 0!==n?n:[],report:null===(i=(r=this.tokenBuilder).flushLexingReport)||void 0===i?void 0:i.call(r,t)}}toTokenTypeDictionary(t){if(mr(t))return t;const e=fr(t)?Object.values(t.modes).flat():t,n={};return e.forEach((t=>n[t.name]=t)),n}}function fr(t){return t&&"modes"in t&&"defaultMode"in t}function mr(t){return!function(t){return Array.isArray(t)&&(0===t.length||"name"in t[0])}(t)&&!fr(t)}function yr(t){let e="";return e="string"==typeof t?t:t.text,e.split(a.K0)}const vr=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,xr=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function br(t,e,n,r){const i=[];if(0===t.length){const t=gt.create(n,r),a=gt.create(n,r+e.length);i.push({type:"text",content:e,range:ft.create(t,a)})}else{let a=0;for(const s of t){const t=s.index,o=e.substring(a,t);o.length>0&&i.push({type:"text",content:e.substring(a,t),range:ft.create(gt.create(n,a+r),gt.create(n,t+r))});let l=o.length+1;const c=s[1];if(i.push({type:"inline-tag",content:c,range:ft.create(gt.create(n,a+l+r),gt.create(n,a+l+c.length+r))}),l+=c.length,4===s.length){l+=s[2].length;const t=s[3];i.push({type:"text",content:t,range:ft.create(gt.create(n,a+l+r),gt.create(n,a+l+t.length+r))})}else i.push({type:"text",content:"",range:ft.create(gt.create(n,a+l+r),gt.create(n,a+l+r))});a=t+s[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:ft.create(gt.create(n,a+r),gt.create(n,a+r+s.length))})}return i}const wr=/\S/,kr=/\s*$/;function Tr(t,e){const n=t.substring(e).match(wr);return n?e+n.index:t.length}function _r(t){const e=t.match(kr);if(e&&"number"==typeof e.index)return e.index}function Er(t,e){const n=t.tokens[t.index];return"tag"===n.type?Ar(t,!1):"text"===n.type||"inline-tag"===n.type?Sr(t):(function(t,e){if(e){const n=new Or("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}(n,e),void t.index++)}function Sr(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&"break"!==e.type&&"tag"!==e.type;)i.push(Cr(t)),r=e,e=t.tokens[t.index];return new Dr(i,ft.create(n.range.start,r.range.end))}function Cr(t){return"inline-tag"===t.tokens[t.index].type?Ar(t,!0):Lr(t)}function Ar(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if("text"===(null==i?void 0:i.type)){if(e){const i=Lr(t);return new Rr(r,new Dr([i],i.range),e,ft.create(n.range.start,i.range.end))}{const i=Sr(t);return new Rr(r,i,e,ft.create(n.range.start,i.range.end))}}{const t=n.range;return new Rr(r,new Dr([],t),e,t)}}function Lr(t){const e=t.tokens[t.index++];return new Or(e.content,e.range)}function Mr(t){if(!t)return Mr({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:Nr(e,!0),end:Nr(n,!1),line:Nr(r,!0)}}function Nr(t,e){if("string"==typeof t||"object"==typeof t){const n="string"==typeof t?(0,a.hr)(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}return t}class Ir{constructor(t,e){this.elements=t,this.range=e}getTag(t){return this.getAllTags().find((e=>e.name===t))}getTags(t){return this.getAllTags().filter((e=>e.name===t))}getAllTags(){return this.elements.filter((t=>"name"in t))}toString(){let t="";for(const e of this.elements)if(0===t.length)t=e.toString();else{const n=e.toString();t+=Pr(t)+n}return t.trim()}toMarkdown(t){let e="";for(const n of this.elements)if(0===e.length)e=n.toMarkdown(t);else{const r=n.toMarkdown(t);e+=Pr(e)+r}return e.trim()}}class Rr{constructor(t,e,n,r){this.name=t,this.content=e,this.inline=n,this.range=r}toString(){let t=`@${this.name}`;const e=this.content.toString();return 1===this.content.inlines.length?t=`${t} ${e}`:this.content.inlines.length>1&&(t=`${t}\n${e}`),this.inline?`{${t}}`:t}toMarkdown(t){var e,n;return null!==(n=null===(e=null==t?void 0:t.renderTag)||void 0===e?void 0:e.call(t,this))&&void 0!==n?n:this.toMarkdownDefault(t)}toMarkdownDefault(t){const e=this.content.toMarkdown(t);if(this.inline){const n=function(t,e,n){var r,i;if("linkplain"===t||"linkcode"===t||"link"===t){const a=e.indexOf(" ");let s=e;if(a>0){const t=Tr(e,a);s=e.substring(t),e=e.substring(0,a)}("linkcode"===t||"link"===t&&"code"===n.link)&&(s=`\`${s}\``);const o=null!==(i=null===(r=n.renderLink)||void 0===r?void 0:r.call(n,e,s))&&void 0!==i?i:function(t,e){try{return An.o.parse(t,!0),`[${e}](${t})`}catch(e){return t}}(e,s);return o}}(this.name,e,null!=t?t:{});if("string"==typeof n)return n}let n="";"italic"===(null==t?void 0:t.tag)||void 0===(null==t?void 0:t.tag)?n="*":"bold"===(null==t?void 0:t.tag)?n="**":"bold-italic"===(null==t?void 0:t.tag)&&(n="***");let r=`${n}@${this.name}${n}`;return 1===this.content.inlines.length?r=`${r} — ${e}`:this.content.inlines.length>1&&(r=`${r}\n${e}`),this.inline?`{${r}}`:r}}class Dr{constructor(t,e){this.inlines=t,this.range=e}toString(){let t="";for(let e=0;e<this.inlines.length;e++){const n=this.inlines[e],r=this.inlines[e+1];t+=n.toString(),r&&r.range.start.line>n.range.start.line&&(t+="\n")}return t}toMarkdown(t){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toMarkdown(t),i&&i.range.start.line>r.range.start.line&&(e+="\n")}return e}}class Or{constructor(t,e){this.text=t,this.range=e}toString(){return this.text}toMarkdown(){return this.text}}function Pr(t){return t.endsWith("\n")?"\n":"\n\n"}class $r{constructor(t){this.indexManager=t.shared.workspace.IndexManager,this.commentProvider=t.documentation.CommentProvider}getDocumentation(t){const e=this.commentProvider.getComment(t);if(e&&function(t,e){const n=Mr(void 0),r=yr(t);if(0===r.length)return!1;const i=r[0],a=r[r.length-1],s=n.start,o=n.end;return Boolean(null==s?void 0:s.exec(i))&&Boolean(null==o?void 0:o.exec(a))}(e))return function(t,e,n){let r,i;"string"==typeof t?(i=e,r=n):(i=t.range.start,r=e),i||(i=gt.create(0,0));const a=function(t){var e,n,r;const i=[];let a=t.position.line,s=t.position.character;for(let o=0;o<t.lines.length;o++){const l=0===o,c=o===t.lines.length-1;let h=t.lines[o],u=0;if(l&&t.options.start){const n=null===(e=t.options.start)||void 0===e?void 0:e.exec(h);n&&(u=n.index+n[0].length)}else{const e=null===(n=t.options.line)||void 0===n?void 0:n.exec(h);e&&(u=e.index+e[0].length)}if(c){const e=null===(r=t.options.end)||void 0===r?void 0:r.exec(h);e&&(h=h.substring(0,e.index))}if(h=h.substring(0,_r(h)),Tr(h,u)>=h.length){if(i.length>0){const t=gt.create(a,s);i.push({type:"break",content:"",range:ft.create(t,t)})}}else{vr.lastIndex=u;const t=vr.exec(h);if(t){const e=t[0],n=t[1],r=gt.create(a,s+u),o=gt.create(a,s+u+e.length);i.push({type:"tag",content:n,range:ft.create(r,o)}),u+=e.length,u=Tr(h,u)}if(u<h.length){const t=h.substring(u),e=Array.from(t.matchAll(xr));i.push(...br(e,t,a,s+u))}}a++,s=0}return i.length>0&&"break"===i[i.length-1].type?i.slice(0,-1):i}({lines:yr(t),position:i,options:Mr(r)});return function(t){var e,n,r,i;const a=gt.create(t.position.line,t.position.character);if(0===t.tokens.length)return new Ir([],ft.create(a,a));const s=[];for(;t.index<t.tokens.length;){const e=Er(t,s[s.length-1]);e&&s.push(e)}const o=null!==(n=null===(e=s[0])||void 0===e?void 0:e.range.start)&&void 0!==n?n:a,l=null!==(i=null===(r=s[s.length-1])||void 0===r?void 0:r.range.end)&&void 0!==i?i:a;return new Ir(s,ft.create(o,l))}({index:0,tokens:a,position:i})}(e).toMarkdown({renderLink:(e,n)=>this.documentationLinkRenderer(t,e,n),renderTag:e=>this.documentationTagRenderer(t,e)})}documentationLinkRenderer(t,e,n){var r;const i=null!==(r=this.findNameInPrecomputedScopes(t,e))&&void 0!==r?r:this.findNameInGlobalScope(t,e);if(i&&i.nameSegment){const t=i.nameSegment.range.start.line+1,e=i.nameSegment.range.start.character+1;return`[${n}](${i.documentUri.with({fragment:`L${t},${e}`}).toString()})`}}documentationTagRenderer(t,e){}findNameInPrecomputedScopes(t,e){const n=(0,Pe.Me)(t).precomputedScopes;if(!n)return;let r=t;do{const t=n.get(r).find((t=>t.name===e));if(t)return t;r=r.$container}while(r)}findNameInGlobalScope(t,e){return this.indexManager.allElements().find((t=>t.name===e))}}class Br{constructor(t){this.grammarConfig=()=>t.parser.GrammarConfig}getComment(t){var e;return function(t){return"string"==typeof t.$comment}(t)?t.$comment:null===(e=(0,r.LK)(t.$cstNode,this.grammarConfig().multilineCommentRules))||void 0===e?void 0:e.text}}class Fr{constructor(t){this.syncParser=t.parser.LangiumParser}parse(t,e){return Promise.resolve(this.syncParser.parse(t))}}class Wr{constructor(){this.previousTokenSource=new pn.AU,this.writeQueue=[],this.readQueue=[],this.done=!0}write(t){this.cancelWrite();const e=(fn=performance.now(),new pn.AU);return this.previousTokenSource=e,this.enqueue(this.writeQueue,t,e.token)}read(t){return this.enqueue(this.readQueue,t)}enqueue(t,e,n=pn.Ts.None){const r=new xn,i={action:e,deferred:r,cancellationToken:n};return t.push(i),this.performNextOperation(),r.promise}async performNextOperation(){if(!this.done)return;const t=[];if(this.writeQueue.length>0)t.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;t.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(t.map((async({action:t,deferred:e,cancellationToken:n})=>{try{const r=await Promise.resolve().then((()=>t(n)));e.resolve(r)}catch(t){yn(t)?e.resolve(void 0):e.reject(t)}}))),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class zr{constructor(t){this.grammarElementIdMap=new Fn,this.tokenTypeIdMap=new Fn,this.grammar=t.Grammar,this.lexer=t.parser.Lexer,this.linker=t.references.Linker}dehydrate(t){return{lexerErrors:t.lexerErrors,lexerReport:t.lexerReport?this.dehydrateLexerReport(t.lexerReport):void 0,parserErrors:t.parserErrors.map((t=>Object.assign(Object.assign({},t),{message:t.message}))),value:this.dehydrateAstNode(t.value,this.createDehyrationContext(t.value))}}dehydrateLexerReport(t){return t}createDehyrationContext(t){const e=new Map,n=new Map;for(const n of(0,Pe.Zc)(t))e.set(n,{});if(t.$cstNode)for(const e of(0,r._t)(t.$cstNode))n.set(e,{});return{astNodes:e,cstNodes:n}}dehydrateAstNode(t,e){const n=e.astNodes.get(t);n.$type=t.$type,n.$containerIndex=t.$containerIndex,n.$containerProperty=t.$containerProperty,void 0!==t.$cstNode&&(n.$cstNode=this.dehydrateCstNode(t.$cstNode,e));for(const[r,i]of Object.entries(t))if(!r.startsWith("$"))if(Array.isArray(i)){const t=[];n[r]=t;for(const n of i)(0,gn.xA)(n)?t.push(this.dehydrateAstNode(n,e)):(0,gn.Yk)(n)?t.push(this.dehydrateReference(n,e)):t.push(n)}else(0,gn.xA)(i)?n[r]=this.dehydrateAstNode(i,e):(0,gn.Yk)(i)?n[r]=this.dehydrateReference(i,e):void 0!==i&&(n[r]=i);return n}dehydrateReference(t,e){const n={};return n.$refText=t.$refText,t.$refNode&&(n.$refNode=e.cstNodes.get(t.$refNode)),n}dehydrateCstNode(t,e){const n=e.cstNodes.get(t);return(0,gn.U8)(t)?n.fullText=t.fullText:n.grammarSource=this.getGrammarElementId(t.grammarSource),n.hidden=t.hidden,n.astNode=e.astNodes.get(t.astNode),(0,gn.al)(t)?n.content=t.content.map((t=>this.dehydrateCstNode(t,e))):(0,gn.dm)(t)&&(n.tokenType=t.tokenType.name,n.offset=t.offset,n.length=t.length,n.startLine=t.range.start.line,n.startColumn=t.range.start.character,n.endLine=t.range.end.line,n.endColumn=t.range.end.character),n}hydrate(t){const e=t.value,n=this.createHydrationContext(e);return"$cstNode"in e&&this.hydrateCstNode(e.$cstNode,n),{lexerErrors:t.lexerErrors,lexerReport:t.lexerReport,parserErrors:t.parserErrors,value:this.hydrateAstNode(e,n)}}createHydrationContext(t){const e=new Map,n=new Map;for(const n of(0,Pe.Zc)(t))e.set(n,{});let i;if(t.$cstNode)for(const e of(0,r._t)(t.$cstNode)){let t;"fullText"in e?(t=new Ye(e.fullText),i=t):"content"in e?t=new ze:"tokenType"in e&&(t=this.hydrateCstLeafNode(e)),t&&(n.set(e,t),t.root=i)}return{astNodes:e,cstNodes:n}}hydrateAstNode(t,e){const n=e.astNodes.get(t);n.$type=t.$type,n.$containerIndex=t.$containerIndex,n.$containerProperty=t.$containerProperty,t.$cstNode&&(n.$cstNode=e.cstNodes.get(t.$cstNode));for(const[r,i]of Object.entries(t))if(!r.startsWith("$"))if(Array.isArray(i)){const t=[];n[r]=t;for(const a of i)(0,gn.xA)(a)?t.push(this.setParent(this.hydrateAstNode(a,e),n)):(0,gn.Yk)(a)?t.push(this.hydrateReference(a,n,r,e)):t.push(a)}else(0,gn.xA)(i)?n[r]=this.setParent(this.hydrateAstNode(i,e),n):(0,gn.Yk)(i)?n[r]=this.hydrateReference(i,n,r,e):void 0!==i&&(n[r]=i);return n}setParent(t,e){return t.$container=e,t}hydrateReference(t,e,n,r){return this.linker.buildReference(e,n,r.cstNodes.get(t.$refNode),t.$refText)}hydrateCstNode(t,e,n=0){const r=e.cstNodes.get(t);if("number"==typeof t.grammarSource&&(r.grammarSource=this.getGrammarElement(t.grammarSource)),r.astNode=e.astNodes.get(t.astNode),(0,gn.al)(r))for(const i of t.content){const t=this.hydrateCstNode(i,e,n++);r.content.push(t)}return r}hydrateCstLeafNode(t){const e=this.getTokenType(t.tokenType),n=t.offset,r=t.length,i=t.startLine,a=t.startColumn,s=t.endLine,o=t.endColumn,l=t.hidden;return new We(n,r,{start:{line:i,character:a},end:{line:s,character:o}},e,l)}getTokenType(t){return this.lexer.definition[t]}getGrammarElementId(t){if(t)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(t)}getGrammarElement(t){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(t)}createGrammarElementIdMap(){let t=0;for(const e of(0,Pe.Zc)(this.grammar))(0,s.zJ)(e)&&this.grammarElementIdMap.set(e,t++)}}function Zr(t){return{documentation:{CommentProvider:t=>new Br(t),DocumentationProvider:t=>new $r(t)},parser:{AsyncParser:t=>new Fr(t),GrammarConfig:t=>function(t){const e=[],n=t.Grammar;for(const t of n.rules)(0,s.MS)(t)&&(0,i.md)(t)&&(0,a.Rn)((0,i.s1)(t))&&e.push(t.name);return{multilineCommentRules:e,nameRegexp:r.uz}}(t),LangiumParser:t=>function(t){const e=function(t){const e=t.Grammar,n=t.parser.Lexer;return nn(e,new je(t),n.definition)}(t);return e.finalize(),e}(t),CompletionParser:t=>function(t){const e=t.Grammar,n=t.parser.Lexer,r=new Ke(t);return nn(e,r,n.definition),r.finalize(),r}(t),ValueConverter:()=>new dn.t,TokenBuilder:()=>new un.P,Lexer:t=>new gr(t),ParserErrorMessageProvider:()=>new Xe,LexerErrorMessageProvider:()=>new dr},workspace:{AstNodeLocator:()=>new ar,AstNodeDescriptionProvider:t=>new rr(t),ReferenceDescriptionProvider:t=>new ir(t)},references:{Linker:t=>new In(t),NameProvider:()=>new Rn,ScopeProvider:t=>new qn(t),ScopeComputation:t=>new Wn(t),References:t=>new $n(t)},serializer:{Hydrator:t=>new zr(t),JsonSerializer:t=>new Hn(t)},validation:{DocumentValidator:t=>new Jn(t),ValidationRegistry:t=>new Qn(t)},shared:()=>t.shared}}function Yr(t){return{ServiceRegistry:t=>new Xn(t),workspace:{LangiumDocuments:t=>new Mn(t),LangiumDocumentFactory:t=>new Ln(t),DocumentBuilder:t=>new cr(t),IndexManager:t=>new hr(t),WorkspaceManager:t=>new ur(t),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new Wr,ConfigurationProvider:t=>new lr(t)}}}},7072:(t,e,n)=>{"use strict";var r;function i(t,e,n,r,i,a,o,l,h){return s([t,e,n,r,i,a,o,l,h].reduce(c,{}))}n.d(e,{f3:()=>i}),function(t){t.merge=(t,e)=>c(c({},t),e)}(r||(r={}));const a=Symbol("isProxy");function s(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===a||l(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(l(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(e,n)=>n in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const o=Symbol();function l(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===o)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}if(e in n){const i=n[e];t[e]=o;try{t[e]="function"==typeof i?i(r):s(i,r)}catch(n){throw t[e]=n instanceof Error?n:void 0,n}return t[e]}}function c(t,e){if(e)for(const[n,r]of Object.entries(e))if(void 0!==r){const e=t[n];t[n]=null!==e&&null!==r&&"object"==typeof e&&"object"==typeof r?c(e,r):r}return t}},3437:(t,e,n)=>{"use strict";n.d(e,{B7:()=>K,Bf:()=>J,Bi:()=>ct,F8:()=>v,F9:()=>R,Ii:()=>C,Iy:()=>B,Ki:()=>et,L:()=>g,LG:()=>q,MS:()=>z,MZ:()=>H,Mp:()=>P,OG:()=>Tt,P9:()=>Y,QV:()=>_,SV:()=>St,S_:()=>k,Sg:()=>ut,TB:()=>m,V7:()=>ft,W1:()=>wt,X9:()=>yt,gf:()=>xt,p1:()=>ot,qm:()=>Et,rT:()=>rt,t3:()=>pt,ty:()=>at,yW:()=>N,zJ:()=>h});var r=n(28);const i="AbstractRule",a="AbstractType",s="Condition",o="TypeDefinition",l="ValueLiteral",c="AbstractElement";function h(t){return Ct.isInstance(t,c)}const u="ArrayLiteral",d="ArrayType",p="BooleanLiteral";function g(t){return Ct.isInstance(t,p)}const f="Conjunction";function m(t){return Ct.isInstance(t,f)}const y="Disjunction";function v(t){return Ct.isInstance(t,y)}const x="Grammar",b="GrammarImport",w="InferredType";function k(t){return Ct.isInstance(t,w)}const T="Interface";function _(t){return Ct.isInstance(t,T)}const E="NamedArgument",S="Negation";function C(t){return Ct.isInstance(t,S)}const A="NumberLiteral",L="Parameter",M="ParameterReference";function N(t){return Ct.isInstance(t,M)}const I="ParserRule";function R(t){return Ct.isInstance(t,I)}const D="ReferenceType",O="ReturnType";function P(t){return Ct.isInstance(t,O)}const $="SimpleType";function B(t){return Ct.isInstance(t,$)}const F="StringLiteral",W="TerminalRule";function z(t){return Ct.isInstance(t,W)}const Z="Type";function Y(t){return Ct.isInstance(t,Z)}const U="TypeAttribute",G="UnionType",V="Action";function q(t){return Ct.isInstance(t,V)}const j="Alternatives";function H(t){return Ct.isInstance(t,j)}const X="Assignment";function K(t){return Ct.isInstance(t,X)}const Q="CharacterRange";function J(t){return Ct.isInstance(t,Q)}const tt="CrossReference";function et(t){return Ct.isInstance(t,tt)}const nt="EndOfFile";function rt(t){return Ct.isInstance(t,nt)}const it="Group";function at(t){return Ct.isInstance(t,it)}const st="Keyword";function ot(t){return Ct.isInstance(t,st)}const lt="NegatedToken";function ct(t){return Ct.isInstance(t,lt)}const ht="RegexToken";function ut(t){return Ct.isInstance(t,ht)}const dt="RuleCall";function pt(t){return Ct.isInstance(t,dt)}const gt="TerminalAlternatives";function ft(t){return Ct.isInstance(t,gt)}const mt="TerminalGroup";function yt(t){return Ct.isInstance(t,mt)}const vt="TerminalRuleCall";function xt(t){return Ct.isInstance(t,vt)}const bt="UnorderedGroup";function wt(t){return Ct.isInstance(t,bt)}const kt="UntilToken";function Tt(t){return Ct.isInstance(t,kt)}const _t="Wildcard";function Et(t){return Ct.isInstance(t,_t)}class St extends r.$v{getAllTypes(){return[c,i,a,V,j,u,d,X,p,Q,s,f,tt,y,nt,x,b,it,w,T,st,E,lt,S,A,L,M,I,D,ht,O,dt,$,F,gt,mt,W,vt,Z,U,o,G,bt,kt,l,_t]}computeIsSubtype(t,e){switch(t){case V:case j:case X:case Q:case tt:case nt:case it:case st:case lt:case ht:case dt:case gt:case mt:case vt:case bt:case kt:case _t:return this.isSubtype(c,e);case u:case A:case F:return this.isSubtype(l,e);case d:case D:case $:case G:return this.isSubtype(o,e);case p:return this.isSubtype(s,e)||this.isSubtype(l,e);case f:case y:case S:case M:return this.isSubtype(s,e);case w:case T:case Z:return this.isSubtype(a,e);case I:return this.isSubtype(i,e)||this.isSubtype(a,e);case W:return this.isSubtype(i,e);default:return!1}}getReferenceType(t){const e=`${t.container.$type}:${t.property}`;switch(e){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return a;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return i;case"Grammar:usedGrammars":return x;case"NamedArgument:parameter":case"ParameterReference:parameter":return L;case"TerminalRuleCall:rule":return W;default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case c:return{name:c,properties:[{name:"cardinality"},{name:"lookahead"}]};case u:return{name:u,properties:[{name:"elements",defaultValue:[]}]};case d:return{name:d,properties:[{name:"elementType"}]};case p:return{name:p,properties:[{name:"true",defaultValue:!1}]};case f:return{name:f,properties:[{name:"left"},{name:"right"}]};case y:return{name:y,properties:[{name:"left"},{name:"right"}]};case x:return{name:x,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case b:return{name:b,properties:[{name:"path"}]};case w:return{name:w,properties:[{name:"name"}]};case T:return{name:T,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case E:return{name:E,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case S:return{name:S,properties:[{name:"value"}]};case A:return{name:A,properties:[{name:"value"}]};case L:return{name:L,properties:[{name:"name"}]};case M:return{name:M,properties:[{name:"parameter"}]};case I:return{name:I,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case D:return{name:D,properties:[{name:"referenceType"}]};case O:return{name:O,properties:[{name:"name"}]};case $:return{name:$,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case F:return{name:F,properties:[{name:"value"}]};case W:return{name:W,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Z:return{name:Z,properties:[{name:"name"},{name:"type"}]};case U:return{name:U,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case G:return{name:G,properties:[{name:"types",defaultValue:[]}]};case V:return{name:V,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case j:return{name:j,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case X:return{name:X,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Q:return{name:Q,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case tt:return{name:tt,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case nt:return{name:nt,properties:[{name:"cardinality"},{name:"lookahead"}]};case it:return{name:it,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case st:return{name:st,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case lt:return{name:lt,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case ht:return{name:ht,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case dt:return{name:dt,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case gt:return{name:gt,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case mt:return{name:mt,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case vt:return{name:vt,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case bt:return{name:bt,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case kt:return{name:kt,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case _t:return{name:_t,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:t,properties:[]}}}}const Ct=new St},7447:(t,e,n)=>{"use strict";n.d(e,{P:()=>c});var r=n(6435),i=n(3437),a=n(6747),s=n(6097),o=n(2925),l=n(1412);class c{constructor(){this.diagnostics=[]}buildTokens(t,e){const n=(0,l.Vw)((0,s.VD)(t,!1)),r=this.buildTerminalTokens(n),i=this.buildKeywordTokens(n,r,e);return r.forEach((t=>{const e=t.PATTERN;"object"==typeof e&&e&&"test"in e&&(0,o.cb)(e)?i.unshift(t):i.push(t)})),i}flushLexingReport(t){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const t=[...this.diagnostics];return this.diagnostics=[],t}buildTerminalTokens(t){return t.filter(i.MS).filter((t=>!t.fragment)).map((t=>this.buildTerminalToken(t))).toArray()}buildTerminalToken(t){const e=(0,s.s1)(t),n=this.requiresCustomPattern(e)?this.regexPatternFunction(e):e,i={name:t.name,PATTERN:n};return"function"==typeof n&&(i.LINE_BREAKS=!0),t.hidden&&(i.GROUP=(0,o.cb)(e)?r.hW.SKIPPED:"hidden"),i}requiresCustomPattern(t){return!!(t.flags.includes("u")||t.flags.includes("s")||t.source.includes("?<=")||t.source.includes("?<!"))}regexPatternFunction(t){const e=new RegExp(t,t.flags+"y");return(t,n)=>(e.lastIndex=n,e.exec(t))}buildKeywordTokens(t,e,n){return t.filter(i.F9).flatMap((t=>(0,a.VY)(t).filter(i.p1))).distinct((t=>t.value)).toArray().sort(((t,e)=>e.value.length-t.value.length)).map((t=>this.buildKeywordToken(t,e,Boolean(null==n?void 0:n.caseInsensitive))))}buildKeywordToken(t,e,n){const r=this.buildKeywordPattern(t,n),i={name:t.value,PATTERN:r,LONGER_ALT:this.findLongerAlt(t,e)};return"function"==typeof r&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(t,e){return e?new RegExp((0,o.cp)(t.value)):t.value}findLongerAlt(t,e){return e.reduce(((e,n)=>{const r=null==n?void 0:n.PATTERN;return(null==r?void 0:r.source)&&(0,o.XC)("^"+r.source+"$",t.value)&&e.push(n),e}),[])}}},1930:(t,e,n)=>{"use strict";n.d(e,{t:()=>s});var r,i=n(3437),a=n(6097);class s{convert(t,e){let n=e.grammarSource;if((0,i.Ki)(n)&&(n=(0,a.eN)(n)),(0,i.t3)(n)){const r=n.rule.ref;if(!r)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(r,t,e)}return t}runConverter(t,e,n){var i;switch(t.name.toUpperCase()){case"INT":return r.convertInt(e);case"STRING":return r.convertString(e);case"ID":return r.convertID(e)}switch(null===(i=(0,a.mJ)(t))||void 0===i?void 0:i.toLowerCase()){case"number":return r.convertNumber(e);case"boolean":return r.convertBoolean(e);case"bigint":return r.convertBigint(e);case"date":return r.convertDate(e);default:return e}}}!function(t){function e(t){switch(t){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return t}}t.convertString=function(t){let n="";for(let r=1;r<t.length-1;r++){const i=t.charAt(r);n+="\\"===i?e(t.charAt(++r)):i}return n},t.convertID=function(t){return"^"===t.charAt(0)?t.substring(1):t},t.convertInt=function(t){return parseInt(t)},t.convertBigint=function(t){return BigInt(t)},t.convertDate=function(t){return new Date(t)},t.convertNumber=function(t){return Number(t)},t.convertBoolean=function(t){return"true"===t.toLowerCase()}}(r||(r={}))},28:(t,e,n)=>{"use strict";function r(t){return"object"==typeof t&&null!==t&&"string"==typeof t.$type}function i(t){return"object"==typeof t&&null!==t&&"string"==typeof t.$refText}function a(t){return"object"==typeof t&&null!==t&&"string"==typeof t.name&&"string"==typeof t.type&&"string"==typeof t.path}function s(t){return"object"==typeof t&&null!==t&&r(t.container)&&i(t.reference)&&"string"==typeof t.message}n.d(e,{$v:()=>o,SI:()=>a,U8:()=>h,Yk:()=>i,al:()=>l,dm:()=>c,et:()=>s,xA:()=>r});class o{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(t,e){return r(t)&&this.isSubtype(t.$type,e)}isSubtype(t,e){if(t===e)return!0;let n=this.subtypes[t];n||(n=this.subtypes[t]={});const r=n[e];if(void 0!==r)return r;{const r=this.computeIsSubtype(t,e);return n[e]=r,r}}getAllSubTypes(t){const e=this.allSubtypes[t];if(e)return e;{const e=this.getAllTypes(),n=[];for(const r of e)this.isSubtype(r,t)&&n.push(r);return this.allSubtypes[t]=n,n}}}function l(t){return"object"==typeof t&&null!==t&&Array.isArray(t.content)}function c(t){return"object"==typeof t&&null!==t&&"object"==typeof t.tokenType}function h(t){return l(t)&&"string"==typeof t.fullText}},6747:(t,e,n)=>{"use strict";n.d(e,{E$:()=>c,Me:()=>l,VY:()=>u,V_:()=>o,Zc:()=>d,a1:()=>f,b2:()=>s,fy:()=>g,sx:()=>h});var r=n(28),i=n(1412),a=n(2855);function s(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach(((n,i)=>{(0,r.xA)(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)})):(0,r.xA)(n)&&(n.$container=t,n.$containerProperty=e))}function o(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function l(t){const e=c(t).$document;if(!e)throw new Error("AST node has no document.");return e}function c(t){for(;t.$container;)t=t.$container;return t}function h(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=null==e?void 0:e.range;return new i.i((()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0})),(e=>{for(;e.keyIndex<e.keys.length;){const i=e.keys[e.keyIndex];if(!i.startsWith("$")){const a=t[i];if((0,r.xA)(a)){if(e.keyIndex++,p(a,n))return{done:!1,value:a}}else if(Array.isArray(a)){for(;e.arrayIndex<a.length;){const t=a[e.arrayIndex++];if((0,r.xA)(t)&&p(t,n))return{done:!1,value:t}}e.arrayIndex=0}}e.keyIndex++}return i.Ry}))}function u(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new i.i8(t,(t=>h(t,e)))}function d(t,e){if(!t)throw new Error("Root node must be an AstNode.");return(null==e?void 0:e.range)&&!p(t,e.range)?new i.i8(t,(()=>[])):new i.i8(t,(t=>h(t,e)),{includeRoot:!0})}function p(t,e){var n;if(!e)return!0;const r=null===(n=t.$cstNode)||void 0===n?void 0:n.range;return!!r&&(0,a.Z2)(r,e)}function g(t){return new i.i((()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0})),(e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const i=t[n];if((0,r.Yk)(i))return e.keyIndex++,{done:!1,value:{reference:i,container:t,property:n}};if(Array.isArray(i)){for(;e.arrayIndex<i.length;){const a=e.arrayIndex++,s=i[a];if((0,r.Yk)(s))return{done:!1,value:{reference:s,container:t,property:n,index:a}}}e.arrayIndex=0}}e.keyIndex++}return i.Ry}))}function f(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const t of n.properties)void 0!==t.defaultValue&&void 0===r[t.name]&&(r[t.name]=m(t.defaultValue))}function m(t){return Array.isArray(t)?[...t.map(m)]:t}},2855:(t,e,n)=>{"use strict";n.d(e,{LK:()=>d,OB:()=>o,Z2:()=>h,_t:()=>s,sp:()=>l,uz:()=>u,yn:()=>c});var r,i=n(28),a=n(1412);function s(t){return new a.i8(t,(t=>(0,i.al)(t)?t.content:[]),{includeRoot:!0})}function o(t,e){for(;t.container;)if((t=t.container)===e)return!0;return!1}function l(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function c(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}function h(t,e){const n=function(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return r.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return r.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,i=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&i?r.Inside:n?r.OverlapBack:i?r.OverlapFront:r.Outside}(t,e);return n>r.After}!function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"}(r||(r={}));const u=/^[\w\p{L}]$/u;function d(t,e){if(t){const n=function(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const t=n.content[r];if(e||!t.hidden)return t}t=n}}(t,!0);if(n&&p(n,e))return n;if((0,i.U8)(t))for(let n=t.content.findIndex((t=>!t.hidden))-1;n>=0;n--){const r=t.content[n];if(p(r,e))return r}}}function p(t,e){return(0,i.dm)(t)&&e.includes(t.tokenType.name)}},9267:(t,e,n)=>{"use strict";n.d(e,{U:()=>i,h:()=>r});class r extends Error{constructor(t,e){super(t?`${e} at ${t.range.start.line}:${t.range.start.character}`:e)}}function i(t){throw new Error("Error! The input value was not handled.")}},6097:(t,e,n)=>{"use strict";n.d(e,{$G:()=>k,EL:()=>p,UP:()=>b,VD:()=>c,eN:()=>u,h7:()=>y,ib:()=>v,lA:()=>m,mJ:()=>_,md:()=>d,s1:()=>E,vb:()=>g,z$:()=>T});var r=n(9267),i=n(3437),a=n(28),s=n(6747),o=n(2855),l=n(2925);function c(t,e){const n=new Set,r=function(t){return t.rules.find((t=>i.F9(t)&&t.entry))}(t);if(!r)return new Set(t.rules);const a=[r].concat(function(t){return t.rules.filter((t=>i.MS(t)&&t.hidden))}(t));for(const t of a)h(t,n,e);const s=new Set;for(const e of t.rules)(n.has(e.name)||i.MS(e)&&e.hidden)&&s.add(e);return s}function h(t,e,n){e.add(t.name),(0,s.VY)(t).forEach((t=>{if(i.t3(t)||n&&i.gf(t)){const r=t.rule.ref;r&&!e.has(r.name)&&h(r,e,n)}}))}function u(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=v(t.type.ref);return null==e?void 0:e.terminal}}function d(t){return t.hidden&&!(0,l.cb)(E(t))}function p(t,e){return t&&e?f(t,e,t.astNode,!0):[]}function g(t,e,n){if(!t||!e)return;const r=f(t,e,t.astNode,!0);return 0!==r.length?r[n=void 0!==n?Math.max(0,Math.min(n,r.length-1)):0]:void 0}function f(t,e,n,r){if(!r){const n=(0,s.V_)(t.grammarSource,i.B7);if(n&&n.feature===e)return[t]}return(0,a.al)(t)&&t.astNode===n?t.content.flatMap((t=>f(t,e,n,!1))):[]}function m(t,e,n){if(!t)return;const r=function(t,e,n){if(t.astNode!==n)return[];if(i.p1(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=(0,o._t)(t).iterator();let a;const s=[];do{if(a=r.next(),!a.done){const t=a.value;t.astNode===n?i.p1(t.grammarSource)&&t.grammarSource.value===e&&s.push(t):r.prune()}}while(!a.done);return s}(t,e,null==t?void 0:t.astNode);return 0!==r.length?r[n=void 0!==n?Math.max(0,Math.min(n,r.length-1)):0]:void 0}function y(t){var e;const n=t.astNode;for(;n===(null===(e=t.container)||void 0===e?void 0:e.astNode);){const e=(0,s.V_)(t.grammarSource,i.B7);if(e)return e;t=t.container}}function v(t){let e=t;return i.S_(e)&&(i.LG(e.$container)?e=e.$container.$container:i.F9(e.$container)?e=e.$container:(0,r.U)(e.$container)),x(t,e,new Map)}function x(t,e,n){var r;function a(e,r){let a;return(0,s.V_)(e,i.B7)||(a=x(r,r,n)),n.set(t,a),a}if(n.has(t))return n.get(t);n.set(t,void 0);for(const o of(0,s.VY)(e)){if(i.B7(o)&&"name"===o.feature.toLowerCase())return n.set(t,o),o;if(i.t3(o)&&i.F9(o.rule.ref))return a(o,o.rule.ref);if(i.Iy(o)&&(null===(r=o.typeRef)||void 0===r?void 0:r.ref))return a(o,o.typeRef.ref)}}function b(t){return w(t,new Set)}function w(t,e){if(e.has(t))return!0;e.add(t);for(const n of(0,s.VY)(t))if(i.t3(n)){if(!n.rule.ref)return!1;if(i.F9(n.rule.ref)&&!w(n.rule.ref,e))return!1}else{if(i.B7(n))return!1;if(i.LG(n))return!1}return Boolean(t.definition)}function k(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(i.F9(e))return e.name;if(i.QV(e)||i.P9(e))return e.name}}}function T(t){var e;if(i.F9(t))return b(t)?t.name:null!==(e=k(t))&&void 0!==e?e:t.name;if(i.QV(t)||i.P9(t)||i.Mp(t))return t.name;if(i.LG(t)){const e=function(t){var e;return t.inferredType?t.inferredType.name:(null===(e=t.type)||void 0===e?void 0:e.ref)?T(t.type.ref):void 0}(t);if(e)return e}else if(i.S_(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function _(t){var e,n,r;return i.MS(t)?null!==(n=null===(e=t.type)||void 0===e?void 0:e.name)&&void 0!==n?n:"string":null!==(r=k(t))&&void 0!==r?r:t.name}function E(t){const e={s:!1,i:!1,u:!1},n=C(t.definition,e),r=Object.entries(e).filter((([,t])=>t)).map((([t])=>t)).join("");return new RegExp(n,r)}const S=/[\s\S]/.source;function C(t,e){if(i.V7(t))return L((o=t).elements.map((t=>C(t))).join("|"),{cardinality:o.cardinality,lookahead:o.lookahead});if(i.X9(t))return L((s=t).elements.map((t=>C(t))).join(""),{cardinality:s.cardinality,lookahead:s.lookahead});if(i.Bf(t))return(n=t).right?L(`[${A(n.left)}-${A(n.right)}]`,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1}):L(A(n.left),{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1});var n,r,a,s,o;if(i.gf(t)){const e=t.rule.ref;if(!e)throw new Error("Missing rule reference.");return L(C(e.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}if(i.Bi(t))return L(`(?!${C((a=t).terminal)})${S}*?`,{cardinality:a.cardinality,lookahead:a.lookahead});if(i.OG(t))return L(`${S}*?${C((r=t).terminal)}`,{cardinality:r.cardinality,lookahead:r.lookahead});if(i.Sg(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),L(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}if(i.qm(t))return L(S,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${null==t?void 0:t.$type}`)}function A(t){return(0,l.hr)(t.value)}function L(t,e){var n;return(!1!==e.wrap||e.lookahead)&&(t=`(${null!==(n=e.lookahead)&&void 0!==n?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}},2925:(t,e,n)=>{"use strict";n.d(e,{K0:()=>i,Rn:()=>l,XC:()=>p,cb:()=>h,cp:()=>d,hr:()=>u});var r=n(5055);const i=/\r?\n/gm,a=new r.O;class s extends r.e{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(t){this.multiline=!1,this.regex=t,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(t){t.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(t){const e=String.fromCharCode(t.value);if(this.multiline||"\n"!==e||(this.multiline=!0),t.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=u(e);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitSet(t){if(!this.multiline){const e=this.regex.substring(t.loc.begin,t.loc.end),n=new RegExp(e);this.multiline=Boolean("\n".match(n))}if(t.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const e=this.regex.substring(t.loc.begin,t.loc.end);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitChildren(t){"Group"===t.type&&t.quantifier||super.visitChildren(t)}}const o=new s;function l(t){try{return"string"==typeof t&&(t=new RegExp(t)),t=t.toString(),o.reset(t),o.visit(a.pattern(t)),o.multiline}catch(t){return!1}}const c="\f\n\r\t\v   \u2028\u2029 \ufeff".split("");function h(t){const e="string"==typeof t?new RegExp(t):t;return c.some((t=>e.test(t)))}function u(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(t){return Array.prototype.map.call(t,(t=>/\w/.test(t)?`[${t.toLowerCase()}${t.toUpperCase()}]`:u(t))).join("")}function p(t,e){const n=function(t){"string"==typeof t&&(t=new RegExp(t));const e=t,n=t.source;let r=0;return new RegExp(function t(){let i,a="";function s(t){a+=n.substr(r,t),r+=t}function o(t){a+="(?:"+n.substr(r,t)+"|$)",r+=t}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":o(3);break;case"x":o(4);break;case"u":e.unicode?"{"===n[r+2]?o(n.indexOf("}",r)-r+1):o(6):o(2);break;case"p":case"P":e.unicode?o(n.indexOf("}",r)-r+1):o(2);break;case"k":o(n.indexOf(">",r)-r+1);break;default:o(2)}break;case"[":i=/\[(?:\\.|.)*?\]/g,i.lastIndex=r,i=i.exec(n)||[],o(i[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":i=/\{\d+,?\d*\}/g,i.lastIndex=r,i=i.exec(n),i?s(i[0].length):o(1);break;case"(":if("?"===n[r+1])switch(n[r+2]){case":":a+="(?:",r+=3,a+=t()+"|$)";break;case"=":a+="(?=",r+=3,a+=t()+")";break;case"!":i=r,r+=3,t(),a+=n.substr(i,r-i);break;case"<":switch(n[r+3]){case"=":case"!":i=r,r+=4,t(),a+=n.substr(i,r-i);break;default:s(n.indexOf(">",r)-r+1),a+=t()+"|$)"}}else s(1),a+=t()+"|$)";break;case")":return++r,a;default:o(1)}return a}(),t.flags)}(t),r=e.match(n);return!!r&&r[0].length>0}},1412:(t,e,n)=>{"use strict";n.d(e,{Cl:()=>a,IH:()=>c,Ry:()=>s,Vw:()=>o,i:()=>r,i8:()=>l});class r{constructor(t,e){this.startFn=t,this.nextFn=e}iterator(){const t={state:this.startFn(),next:()=>this.nextFn(t.state),[Symbol.iterator]:()=>t};return t}[Symbol.iterator](){return this.iterator()}isEmpty(){const t=this.iterator();return Boolean(t.next().done)}count(){const t=this.iterator();let e=0,n=t.next();for(;!n.done;)e++,n=t.next();return e}toArray(){const t=[],e=this.iterator();let n;do{n=e.next(),void 0!==n.value&&t.push(n.value)}while(!n.done);return t}toSet(){return new Set(this)}toMap(t,e){const n=this.map((n=>[t?t(n):n,e?e(n):n]));return new Map(n)}toString(){return this.join()}concat(t){return new r((()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()})),(t=>{let e;if(!t.firstDone){do{if(e=this.nextFn(t.first),!e.done)return e}while(!e.done);t.firstDone=!0}do{if(e=t.iterator.next(),!e.done)return e}while(!e.done);return s}))}join(t=","){const e=this.iterator();let n,r="",i=!1;do{n=e.next(),n.done||(i&&(r+=t),r+="string"==typeof(a=n.value)?a:void 0===a?"undefined":"function"==typeof a.toString?a.toString():Object.prototype.toString.call(a)),i=!0}while(!n.done);var a;return r}indexOf(t,e=0){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(r>=e&&i.value===t)return r;i=n.next(),r++}return-1}every(t){const e=this.iterator();let n=e.next();for(;!n.done;){if(!t(n.value))return!1;n=e.next()}return!0}some(t){const e=this.iterator();let n=e.next();for(;!n.done;){if(t(n.value))return!0;n=e.next()}return!1}forEach(t){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)t(r.value,n),r=e.next(),n++}map(t){return new r(this.startFn,(e=>{const{done:n,value:r}=this.nextFn(e);return n?s:{done:!1,value:t(r)}}))}filter(t){return new r(this.startFn,(e=>{let n;do{if(n=this.nextFn(e),!n.done&&t(n.value))return n}while(!n.done);return s}))}nonNullable(){return this.filter((t=>null!=t))}reduce(t,e){const n=this.iterator();let r=e,i=n.next();for(;!i.done;)r=void 0===r?i.value:t(r,i.value),i=n.next();return r}reduceRight(t,e){return this.recursiveReduce(this.iterator(),t,e)}recursiveReduce(t,e,n){const r=t.next();if(r.done)return n;const i=this.recursiveReduce(t,e,n);return void 0===i?r.value:e(i,r.value)}find(t){const e=this.iterator();let n=e.next();for(;!n.done;){if(t(n.value))return n.value;n=e.next()}}findIndex(t){const e=this.iterator();let n=0,r=e.next();for(;!r.done;){if(t(r.value))return n;r=e.next(),n++}return-1}includes(t){const e=this.iterator();let n=e.next();for(;!n.done;){if(n.value===t)return!0;n=e.next()}return!1}flatMap(t){return new r((()=>({this:this.startFn()})),(e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}const{done:n,value:r}=this.nextFn(e.this);if(!n){const n=t(r);if(!i(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return s}))}flat(t){if(void 0===t&&(t=1),t<=0)return this;const e=t>1?this.flat(t-1):this;return new r((()=>({this:e.startFn()})),(t=>{do{if(t.iterator){const e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}const{done:n,value:r}=e.nextFn(t.this);if(!n){if(!i(r))return{done:!1,value:r};t.iterator=r[Symbol.iterator]()}}while(t.iterator);return s}))}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(t=1){return new r((()=>{const e=this.startFn();for(let n=0;n<t;n++)if(this.nextFn(e).done)return e;return e}),this.nextFn)}limit(t){return new r((()=>({size:0,state:this.startFn()})),(e=>(e.size++,e.size>t?s:this.nextFn(e.state))))}distinct(t){return new r((()=>({set:new Set,internalState:this.startFn()})),(e=>{let n;do{if(n=this.nextFn(e.internalState),!n.done){const r=t?t(n.value):n.value;if(!e.set.has(r))return e.set.add(r),n}}while(!n.done);return s}))}exclude(t,e){const n=new Set;for(const r of t){const t=e?e(r):r;n.add(t)}return this.filter((t=>{const r=e?e(t):t;return!n.has(r)}))}}function i(t){return!!t&&"function"==typeof t[Symbol.iterator]}const a=new r((()=>{}),(()=>s)),s=Object.freeze({done:!0,value:void 0});function o(...t){if(1===t.length){const e=t[0];if(e instanceof r)return e;if(i(e))return new r((()=>e[Symbol.iterator]()),(t=>t.next()));if("number"==typeof e.length)return new r((()=>({index:0})),(t=>t.index<e.length?{done:!1,value:e[t.index++]}:s))}return t.length>1?new r((()=>({collIndex:0,arrIndex:0})),(e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];i(n)?e.iterator=n[Symbol.iterator]():n&&"number"==typeof n.length&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return s})):a}class l extends r{constructor(t,e,n){super((()=>({iterators:(null==n?void 0:n.includeRoot)?[[t][Symbol.iterator]()]:[e(t)[Symbol.iterator]()],pruned:!1})),(t=>{for(t.pruned&&(t.iterators.pop(),t.pruned=!1);t.iterators.length>0;){const n=t.iterators[t.iterators.length-1].next();if(!n.done)return t.iterators.push(e(n.value)[Symbol.iterator]()),n;t.iterators.pop()}return s}))}iterator(){const t={state:this.startFn(),next:()=>this.nextFn(t.state),prune:()=>{t.state.pruned=!0},[Symbol.iterator]:()=>t};return t}}var c;!function(t){t.sum=function(t){return t.reduce(((t,e)=>t+e),0)},t.product=function(t){return t.reduce(((t,e)=>t*e),0)},t.min=function(t){return t.reduce(((t,e)=>Math.min(t,e)))},t.max=function(t){return t.reduce(((t,e)=>Math.max(t,e)))}}(c||(c={}))},5565:(t,e,n)=>{"use strict";n.d(e,{u:()=>i});class r{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const i={fileSystemProvider:()=>new r}},2536:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(9651);const i=function(t,e){for(var n=t.length;n--;)if((0,r.Z)(t[n][0],e))return n;return-1};var a=Array.prototype.splice;function s(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}s.prototype.clear=function(){this.__data__=[],this.size=0},s.prototype.delete=function(t){var e=this.__data__,n=i(e,t);return!(n<0||(n==e.length-1?e.pop():a.call(e,n,1),--this.size,0))},s.prototype.get=function(t){var e=this.__data__,n=i(e,t);return n<0?void 0:e[n][1]},s.prototype.has=function(t){return i(this.__data__,t)>-1},s.prototype.set=function(t,e){var n=this.__data__,r=i(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};const o=s},6183:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(2119),i=n(6092);const a=(0,r.Z)(i.Z,"Map")},520:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});const r=(0,n(2119).Z)(Object,"create");var i=Object.prototype.hasOwnProperty;var a=Object.prototype.hasOwnProperty;function s(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}s.prototype.clear=function(){this.__data__=r?r(null):{},this.size=0},s.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},s.prototype.get=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0},s.prototype.has=function(t){var e=this.__data__;return r?void 0!==e[t]:a.call(e,t)},s.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};const o=s;var l=n(2536),c=n(6183);const h=function(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map};function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}u.prototype.clear=function(){this.size=0,this.__data__={hash:new o,map:new(c.Z||l.Z),string:new o}},u.prototype.delete=function(t){var e=h(this,t).delete(t);return this.size-=e?1:0,e},u.prototype.get=function(t){return h(this,t).get(t)},u.prototype.has=function(t){return h(this,t).has(t)},u.prototype.set=function(t,e){var n=h(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};const d=u},3203:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(2119),i=n(6092);const a=(0,r.Z)(i.Z,"Set")},5084:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(520);function i(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r.Z;++e<n;)this.add(t[e])}i.prototype.add=i.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},i.prototype.has=function(t){return this.__data__.has(t)};const a=i},5365:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2536);var i=n(6183),a=n(520);function s(t){var e=this.__data__=new r.Z(t);this.size=e.size}s.prototype.clear=function(){this.__data__=new r.Z,this.size=0},s.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},s.prototype.get=function(t){return this.__data__.get(t)},s.prototype.has=function(t){return this.__data__.has(t)},s.prototype.set=function(t,e){var n=this.__data__;if(n instanceof r.Z){var s=n.__data__;if(!i.Z||s.length<199)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new a.Z(s)}return n.set(t,e),this.size=n.size,this};const o=s},7685:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=n(6092).Z.Symbol},4073:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=n(6092).Z.Uint8Array},6579:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},8774:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var s=t[n];e(s,n,t)&&(a[i++]=s)}return a}},9370:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(3152);const i=function(t,e){return!(null==t||!t.length)&&(0,r.Z)(t,e,0)>-1}},2783:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}},9001:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(4732),i=n(7771),a=n(6706),s=n(6009),o=n(7212),l=Object.prototype.hasOwnProperty;const c=function(t,e){var n=(0,i.Z)(t),c=!n&&(0,r.Z)(t),h=!n&&!c&&(0,a.Z)(t),u=!n&&!c&&!h&&(0,o.Z)(t),d=n||c||h||u,p=d?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],g=p.length;for(var f in t)!e&&!l.call(t,f)||d&&("length"==f||h&&("offset"==f||"parent"==f)||u&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||(0,s.Z)(f,g))||p.push(f);return p}},7679:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},8694:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},2338:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},2954:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(4752),i=n(9651),a=Object.prototype.hasOwnProperty;const s=function(t,e,n){var s=t[e];a.call(t,e)&&(0,i.Z)(s,n)&&(void 0!==n||e in t)||(0,r.Z)(t,e,n)}},4752:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(7904);const i=function(t,e,n){"__proto__"==e&&r.Z?(0,r.Z)(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},9943:(t,e,n)=>{"use strict";n.d(e,{Z:()=>F});var r=n(5365),i=n(6579),a=n(2954),s=n(1899),o=n(7179);var l=n(7590);var c=n(1050),h=n(7215),u=n(5695);var d=n(7502);var p=n(1808),g=n(4403),f=n(6155),m=Object.prototype.hasOwnProperty;var y=n(1884);var v=/\w*$/;var x=n(7685),b=x.Z?x.Z.prototype:void 0,w=b?b.valueOf:void 0;var k=n(2701);const T=function(t,e,n){var r,i,a,s=t.constructor;switch(e){case"[object ArrayBuffer]":return(0,y.Z)(t);case"[object Boolean]":case"[object Date]":return new s(+t);case"[object DataView]":return function(t,e){var n=e?(0,y.Z)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,k.Z)(t,n);case"[object Map]":case"[object Set]":return new s;case"[object Number]":case"[object String]":return new s(t);case"[object RegExp]":return(a=new(i=t).constructor(i.source,v.exec(i))).lastIndex=i.lastIndex,a;case"[object Symbol]":return r=t,w?Object(w.call(r)):{}}};var _=n(5418),E=n(7771),S=n(6706),C=n(8533);var A=n(1162),L=n(8351),M=L.Z&&L.Z.isMap;const N=M?(0,A.Z)(M):function(t){return(0,C.Z)(t)&&"[object Map]"==(0,f.Z)(t)};var I=n(7226);var R=L.Z&&L.Z.isSet;const D=R?(0,A.Z)(R):function(t){return(0,C.Z)(t)&&"[object Set]"==(0,f.Z)(t)};var O="[object Arguments]",P="[object Function]",$="[object Object]",B={};B[O]=B["[object Array]"]=B["[object ArrayBuffer]"]=B["[object DataView]"]=B["[object Boolean]"]=B["[object Date]"]=B["[object Float32Array]"]=B["[object Float64Array]"]=B["[object Int8Array]"]=B["[object Int16Array]"]=B["[object Int32Array]"]=B["[object Map]"]=B["[object Number]"]=B[$]=B["[object RegExp]"]=B["[object Set]"]=B["[object String]"]=B["[object Symbol]"]=B["[object Uint8Array]"]=B["[object Uint8ClampedArray]"]=B["[object Uint16Array]"]=B["[object Uint32Array]"]=!0,B["[object Error]"]=B[P]=B["[object WeakMap]"]=!1;const F=function t(e,n,y,v,x,b){var w,k=1&n,C=2&n,A=4&n;if(y&&(w=x?y(e,v,x,b):y(e)),void 0!==w)return w;if(!(0,I.Z)(e))return e;var L=(0,E.Z)(e);if(L){if(w=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&m.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(e),!k)return(0,h.Z)(e,w)}else{var M=(0,f.Z)(e),R=M==P||"[object GeneratorFunction]"==M;if((0,S.Z)(e))return(0,c.Z)(e,k);if(M==$||M==O||R&&!x){if(w=C||R?{}:(0,_.Z)(e),!k)return C?function(t,e){return(0,s.Z)(t,(0,d.Z)(t),e)}(e,function(t,e){return t&&(0,s.Z)(e,(0,l.Z)(e),t)}(w,e)):function(t,e){return(0,s.Z)(t,(0,u.Z)(t),e)}(e,function(t,e){return t&&(0,s.Z)(e,(0,o.Z)(e),t)}(w,e))}else{if(!B[M])return x?e:{};w=T(e,M,k)}}b||(b=new r.Z);var F=b.get(e);if(F)return F;b.set(e,w),D(e)?e.forEach((function(r){w.add(t(r,n,y,r,e,b))})):N(e)&&e.forEach((function(r,i){w.set(i,t(r,n,y,i,e,b))}));var W=A?C?g.Z:p.Z:C?l.Z:o.Z,z=L?void 0:W(e);return(0,i.Z)(z||e,(function(r,i){z&&(r=e[i=r]),(0,a.Z)(w,i,t(r,n,y,i,e,b))})),w}},8640:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(2693),i=n(585);const a=(s=r.Z,function(t,e){if(null==t)return t;if(!(0,i.Z)(t))return s(t,e);for(var n=t.length,r=-1,a=Object(t);++r<n&&!1!==e(a[r],r,a););return t});var s},8e3:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(2714);const i=function(t,e,n){for(var i=-1,a=t.length;++i<a;){var s=t[i],o=e(s);if(null!=o&&(void 0===l?o==o&&!(0,r.Z)(o):n(o,l)))var l=o,c=s}return c}},4749:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(8640);const i=function(t,e){var n=[];return(0,r.Z)(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1692:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}},5140:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(8694),i=n(7685),a=n(4732),s=n(7771),o=i.Z?i.Z.isConcatSpreadable:void 0;const l=function(t){return(0,s.Z)(t)||(0,a.Z)(t)||!!(o&&t&&t[o])},c=function t(e,n,i,a,s){var o=-1,c=e.length;for(i||(i=l),s||(s=[]);++o<c;){var h=e[o];n>0&&i(h)?n>1?t(h,n-1,i,a,s):(0,r.Z)(s,h):a||(s[s.length]=h)}return s}},5381:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e,n){for(var r=-1,i=Object(t),a=n(t),s=a.length;s--;){var o=a[++r];if(!1===e(i[o],o,i))break}return t}},2693:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(5381),i=n(7179);const a=function(t,e){return t&&(0,r.Z)(t,e,i.Z)}},3317:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(1036),i=n(2656);const a=function(t,e){for(var n=0,a=(e=(0,r.Z)(e,t)).length;null!=t&&n<a;)t=t[(0,i.Z)(e[n++])];return n&&n==a?t:void 0}},3327:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(8694),i=n(7771);const a=function(t,e,n){var a=e(t);return(0,i.Z)(t)?a:(0,r.Z)(a,n(t))}},4492:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(7685),i=n(9432),a=n(699),s=r.Z?r.Z.toStringTag:void 0;const o=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":s&&s in Object(t)?(0,i.Z)(t):(0,a.Z)(t)}},3152:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(1692);const i=function(t){return t!=t},a=function(t,e,n){return e==e?function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):(0,r.Z)(t,i,n)}},506:(t,e,n)=>{"use strict";n.d(e,{Z:()=>z});var r=n(5365),i=n(5084),a=n(2338),s=n(9548);const o=function(t,e,n,r,o,l){var c=1&n,h=t.length,u=e.length;if(h!=u&&!(c&&u>h))return!1;var d=l.get(t),p=l.get(e);if(d&&p)return d==e&&p==t;var g=-1,f=!0,m=2&n?new i.Z:void 0;for(l.set(t,e),l.set(e,t);++g<h;){var y=t[g],v=e[g];if(r)var x=c?r(v,y,g,e,t,l):r(y,v,g,t,e,l);if(void 0!==x){if(x)continue;f=!1;break}if(m){if(!(0,a.Z)(e,(function(t,e){if(!(0,s.Z)(m,e)&&(y===t||o(y,t,n,r,l)))return m.push(e)}))){f=!1;break}}else if(y!==v&&!o(y,v,n,r,l)){f=!1;break}}return l.delete(t),l.delete(e),f};var l=n(7685),c=n(4073),h=n(9651);const u=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n};var d=n(6545),p=l.Z?l.Z.prototype:void 0,g=p?p.valueOf:void 0;var f=n(1808),m=Object.prototype.hasOwnProperty;var y=n(6155),v=n(7771),x=n(6706),b=n(7212),w="[object Arguments]",k="[object Array]",T="[object Object]",_=Object.prototype.hasOwnProperty;const E=function(t,e,n,i,a,s){var l=(0,v.Z)(t),p=(0,v.Z)(e),E=l?k:(0,y.Z)(t),S=p?k:(0,y.Z)(e),C=(E=E==w?T:E)==T,A=(S=S==w?T:S)==T,L=E==S;if(L&&(0,x.Z)(t)){if(!(0,x.Z)(e))return!1;l=!0,C=!1}if(L&&!C)return s||(s=new r.Z),l||(0,b.Z)(t)?o(t,e,n,i,a,s):function(t,e,n,r,i,a,s){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!a(new c.Z(t),new c.Z(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,h.Z)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var l=u;case"[object Set]":var p=1&r;if(l||(l=d.Z),t.size!=e.size&&!p)return!1;var f=s.get(t);if(f)return f==e;r|=2,s.set(t,e);var m=o(l(t),l(e),r,i,a,s);return s.delete(t),m;case"[object Symbol]":if(g)return g.call(t)==g.call(e)}return!1}(t,e,E,n,i,a,s);if(!(1&n)){var M=C&&_.call(t,"__wrapped__"),N=A&&_.call(e,"__wrapped__");if(M||N){var I=M?t.value():t,R=N?e.value():e;return s||(s=new r.Z),a(I,R,n,i,s)}}return!!L&&(s||(s=new r.Z),function(t,e,n,r,i,a){var s=1&n,o=(0,f.Z)(t),l=o.length;if(l!=(0,f.Z)(e).length&&!s)return!1;for(var c=l;c--;){var h=o[c];if(!(s?h in e:m.call(e,h)))return!1}var u=a.get(t),d=a.get(e);if(u&&d)return u==e&&d==t;var p=!0;a.set(t,e),a.set(e,t);for(var g=s;++c<l;){var y=t[h=o[c]],v=e[h];if(r)var x=s?r(v,y,h,e,t,a):r(y,v,h,t,e,a);if(!(void 0===x?y===v||i(y,v,n,r,a):x)){p=!1;break}g||(g="constructor"==h)}if(p&&!g){var b=t.constructor,w=e.constructor;b==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof w&&w instanceof w||(p=!1)}return a.delete(t),a.delete(e),p}(t,e,n,i,a,s))};var S=n(8533);const C=function t(e,n,r,i,a){return e===n||(null==e||null==n||!(0,S.Z)(e)&&!(0,S.Z)(n)?e!=e&&n!=n:E(e,n,r,i,t,a))};var A=n(7226);const L=function(t){return t==t&&!(0,A.Z)(t)};var M=n(7179);const N=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}},I=function(t){var e=function(t){for(var e=(0,M.Z)(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,L(i)]}return e}(t);return 1==e.length&&e[0][2]?N(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,i){var a=n.length,s=a,o=!i;if(null==t)return!s;for(t=Object(t);a--;){var l=n[a];if(o&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++a<s;){var c=(l=n[a])[0],h=t[c],u=l[1];if(o&&l[2]){if(void 0===h&&!(c in t))return!1}else{var d=new r.Z;if(i)var p=i(h,u,c,t,e,d);if(!(void 0===p?C(u,h,3,i,d):p))return!1}}return!0}(n,t,e)}};var R=n(3317);var D=n(1910),O=n(9365),P=n(2656);const $=function(t,e){return(0,O.Z)(t)&&L(e)?N((0,P.Z)(t),e):function(n){var r=function(t,e,n){var r=null==t?void 0:(0,R.Z)(t,e);return void 0===r?n:r}(n,t);return void 0===r&&r===e?(0,D.Z)(n,t):C(e,r,3)}};var B=n(9203),F=n(4193);const W=function(t){return(0,O.Z)(t)?(0,F.Z)((0,P.Z)(t)):function(t){return function(e){return(0,R.Z)(e,t)}}(t)},z=function(t){return"function"==typeof t?t:null==t?B.Z:"object"==typeof t?(0,v.Z)(t)?$(t[0],t[1]):I(t):W(t)}},8448:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(2764);const i=(0,n(1851).Z)(Object.keys,Object);var a=Object.prototype.hasOwnProperty;const s=function(t){if(!(0,r.Z)(t))return i(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}},676:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return t<e}},1018:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(8640),i=n(585);const a=function(t,e){var n=-1,a=(0,i.Z)(t)?Array(t.length):[];return(0,r.Z)(t,(function(t,r,i){a[++n]=e(t,r,i)})),a}},7993:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(3317),i=n(2954),a=n(1036),s=n(6009),o=n(7226),l=n(2656);const c=function(t,e,n,r){if(!(0,o.Z)(t))return t;for(var c=-1,h=(e=(0,a.Z)(e,t)).length,u=h-1,d=t;null!=d&&++c<h;){var p=(0,l.Z)(e[c]),g=n;if("__proto__"===p||"constructor"===p||"prototype"===p)return t;if(c!=u){var f=d[p];void 0===(g=r?r(f,p,d):void 0)&&(g=(0,o.Z)(f)?f:(0,s.Z)(e[c+1])?[]:{})}(0,i.Z)(d,p,g),d=d[p]}return t},h=function(t,e,n){for(var i=-1,s=e.length,o={};++i<s;){var l=e[i],h=(0,r.Z)(t,l);n(h,l)&&c(o,(0,a.Z)(l,t),h)}return o}},4193:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(e){return null==e?void 0:e[t]}}},9581:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(9203),i=n(3948),a=n(3626);const s=function(t,e){return(0,a.Z)((0,i.Z)(t,e,r.Z),t+"")}},1162:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(e){return t(e)}}},184:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var r=n(5084),i=n(9370),a=n(2783),s=n(9548),o=n(3203),l=n(2054),c=n(6545);const h=o.Z&&1/(0,c.Z)(new o.Z([,-0]))[1]==1/0?function(t){return new o.Z(t)}:l.Z,u=function(t,e,n){var o=-1,l=i.Z,u=t.length,d=!0,p=[],g=p;if(n)d=!1,l=a.Z;else if(u>=200){var f=e?null:h(t);if(f)return(0,c.Z)(f);d=!1,l=s.Z,g=new r.Z}else g=e?[]:p;t:for(;++o<u;){var m=t[o],y=e?e(m):m;if(m=n||0!==m?m:0,d&&y==y){for(var v=g.length;v--;)if(g[v]===y)continue t;e&&g.push(y),p.push(m)}else l(g,y,n)||(g!==p&&g.push(y),p.push(m))}return p}},9548:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return t.has(e)}},8882:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(9203);const i=function(t){return"function"==typeof t?t:r.Z}},1036:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(7771),i=n(9365),a=n(2454),s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g;const l=(c=(0,a.Z)((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(s,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}),(function(t){return 500===h.size&&h.clear(),t})),h=c.cache,c);var c,h,u=n(2402);const d=function(t,e){return(0,r.Z)(t)?t:(0,i.Z)(t,e)?[t]:l((0,u.Z)(t))}},1884:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(4073);const i=function(t){var e=new t.constructor(t.byteLength);return new r.Z(e).set(new r.Z(t)),e}},1050:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(6092),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,a=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=a&&a.exports===i?r.Z.Buffer:void 0,o=s?s.allocUnsafe:void 0;const l=function(t,e){if(e)return t.slice();var n=t.length,r=o?o(n):new t.constructor(n);return t.copy(r),r}},2701:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(1884);const i=function(t,e){var n=e?(0,r.Z)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},7215:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},1899:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(2954),i=n(4752);const a=function(t,e,n,a){var s=!n;n||(n={});for(var o=-1,l=e.length;++o<l;){var c=e[o],h=a?a(n[c],t[c],c,n,t):void 0;void 0===h&&(h=t[c]),s?(0,i.Z)(n,c,h):(0,r.Z)(n,c,h)}return n}},9268:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(9581),i=n(439);const a=function(t){return(0,r.Z)((function(e,n){var r=-1,a=n.length,s=a>1?n[a-1]:void 0,o=a>2?n[2]:void 0;for(s=t.length>3&&"function"==typeof s?(a--,s):void 0,o&&(0,i.Z)(n[0],n[1],o)&&(s=a<3?void 0:s,a=1),e=Object(e);++r<a;){var l=n[r];l&&t(e,l,r,s)}return e}))}},7904:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(2119);const i=function(){try{var t=(0,r.Z)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},3413:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r="object"==typeof global&&global&&global.Object===Object&&global},1808:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(3327),i=n(5695),a=n(7179);const s=function(t){return(0,r.Z)(t,a.Z,i.Z)}},4403:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(3327),i=n(7502),a=n(7590);const s=function(t){return(0,r.Z)(t,a.Z,i.Z)}},2119:(t,e,n)=>{"use strict";n.d(e,{Z:()=>m});var r=n(3234);const i=n(6092).Z["__core-js_shared__"];var a,s=(a=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";var o=n(7226),l=n(19),c=/^\[object .+?Constructor\]$/,h=Function.prototype,u=Object.prototype,d=h.toString,p=u.hasOwnProperty,g=RegExp("^"+d.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const f=function(t){return!(!(0,o.Z)(t)||(e=t,s&&s in e))&&((0,r.Z)(t)?g:c).test((0,l.Z)(t));var e},m=function(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return f(n)?n:void 0}},2513:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=(0,n(1851).Z)(Object.getPrototypeOf,Object)},9432:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(7685),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,o=r.Z?r.Z.toStringTag:void 0;const l=function(t){var e=a.call(t,o),n=t[o];try{t[o]=void 0;var r=!0}catch(t){}var i=s.call(t);return r&&(e?t[o]=n:delete t[o]),i}},5695:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(8774),i=n(532),a=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols;const o=s?function(t){return null==t?[]:(t=Object(t),(0,r.Z)(s(t),(function(e){return a.call(t,e)})))}:i.Z},7502:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(8694),i=n(2513),a=n(5695),s=n(532);const o=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)(0,r.Z)(e,(0,a.Z)(t)),t=(0,i.Z)(t);return e}:s.Z},6155:(t,e,n)=>{"use strict";n.d(e,{Z:()=>T});var r=n(2119),i=n(6092);const a=(0,r.Z)(i.Z,"DataView");var s=n(6183);const o=(0,r.Z)(i.Z,"Promise");var l=n(3203);const c=(0,r.Z)(i.Z,"WeakMap");var h=n(4492),u=n(19),d="[object Map]",p="[object Promise]",g="[object Set]",f="[object WeakMap]",m="[object DataView]",y=(0,u.Z)(a),v=(0,u.Z)(s.Z),x=(0,u.Z)(o),b=(0,u.Z)(l.Z),w=(0,u.Z)(c),k=h.Z;(a&&k(new a(new ArrayBuffer(1)))!=m||s.Z&&k(new s.Z)!=d||o&&k(o.resolve())!=p||l.Z&&k(new l.Z)!=g||c&&k(new c)!=f)&&(k=function(t){var e=(0,h.Z)(t),n="[object Object]"==e?t.constructor:void 0,r=n?(0,u.Z)(n):"";if(r)switch(r){case y:return m;case v:return d;case x:return p;case b:return g;case w:return f}return e});const T=k},5196:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(1036),i=n(4732),a=n(7771),s=n(6009),o=n(1656),l=n(2656);const c=function(t,e,n){for(var c=-1,h=(e=(0,r.Z)(e,t)).length,u=!1;++c<h;){var d=(0,l.Z)(e[c]);if(!(u=null!=t&&n(t,d)))break;t=t[d]}return u||++c!=h?u:!!(h=null==t?0:t.length)&&(0,o.Z)(h)&&(0,s.Z)(d,h)&&((0,a.Z)(t)||(0,i.Z)(t))}},5418:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(7226),i=Object.create;const a=function(){function t(){}return function(e){if(!(0,r.Z)(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();var s=n(2513),o=n(2764);const l=function(t){return"function"!=typeof t.constructor||(0,o.Z)(t)?{}:a((0,s.Z)(t))}},6009:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=/^(?:0|[1-9]\d*)$/;const i=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&r.test(t))&&t>-1&&t%1==0&&t<e}},439:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(9651),i=n(585),a=n(6009),s=n(7226);const o=function(t,e,n){if(!(0,s.Z)(n))return!1;var o=typeof e;return!!("number"==o?(0,i.Z)(n)&&(0,a.Z)(e,n.length):"string"==o&&e in n)&&(0,r.Z)(n[e],t)}},9365:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(7771),i=n(2714),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;const o=function(t,e){if((0,r.Z)(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!(0,i.Z)(t))||s.test(t)||!a.test(t)||null!=e&&t in Object(e)}},2764:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Object.prototype;const i=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||r)}},8351:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3413),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,a=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=a&&a.exports===i&&r.Z.process;const o=function(){try{return a&&a.require&&a.require("util").types||s&&s.binding&&s.binding("util")}catch(t){}}()},699:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Object.prototype.toString;const i=function(t){return r.call(t)}},1851:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return function(n){return t(e(n))}}},3948:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Math.max;const i=function(t,e,n){return e=r(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,s=r(i.length-e,0),o=Array(s);++a<s;)o[a]=i[e+a];a=-1;for(var l=Array(e+1);++a<e;)l[a]=i[a];return l[e]=n(o),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,l)}}},6092:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(3413),i="object"==typeof self&&self&&self.Object===Object&&self;const a=r.Z||i||Function("return this")()},6545:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},3626:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(2002),i=n(7904),a=n(9203);const s=i.Z?function(t,e){return(0,i.Z)(t,"toString",{configurable:!0,enumerable:!1,value:(0,r.Z)(e),writable:!0})}:a.Z;var o=Date.now;const l=(c=s,h=0,u=0,function(){var t=o(),e=16-(t-u);if(u=t,e>0){if(++h>=800)return arguments[0]}else h=0;return c.apply(void 0,arguments)});var c,h,u},2656:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(2714);const i=function(t){if("string"==typeof t||(0,r.Z)(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},19:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Function.prototype.toString;const i=function(t){if(null!=t){try{return r.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},2346:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(9943);const i=function(t){return(0,r.Z)(t,4)}},2002:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(){return t}}},3688:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(9581),i=n(9651),a=n(439),s=n(7590),o=Object.prototype,l=o.hasOwnProperty;const c=(0,r.Z)((function(t,e){t=Object(t);var n=-1,r=e.length,c=r>2?e[2]:void 0;for(c&&(0,a.Z)(e[0],e[1],c)&&(r=1);++n<r;)for(var h=e[n],u=(0,s.Z)(h),d=-1,p=u.length;++d<p;){var g=u[d],f=t[g];(void 0===f||(0,i.Z)(f,o[g])&&!l.call(t,g))&&(t[g]=h[g])}return t}))},9651:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return t===e||t!=t&&e!=e}},9601:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(8774),i=n(4749),a=n(506),s=n(7771);const o=function(t,e){return((0,s.Z)(t)?r.Z:i.Z)(t,(0,a.Z)(e,3))}},6026:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(506),i=n(585),a=n(7179);var s=n(1692),o=n(4930),l=Math.max;const c=(h=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=null==n?0:(0,o.Z)(n);return a<0&&(a=l(i+a,0)),(0,s.Z)(t,(0,r.Z)(e,3),a)},function(t,e,n){var s=Object(t);if(!(0,i.Z)(t)){var o=(0,r.Z)(e,3);t=(0,a.Z)(t),e=function(t){return o(s[t],t,s)}}var l=h(t,e,n);return l>-1?s[o?t[l]:l]:void 0});var h},6805:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(5140),i=n(3836);const a=function(t,e){return(0,r.Z)((0,i.Z)(t,e),1)}},7961:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(5140);const i=function(t){return null!=t&&t.length?(0,r.Z)(t,1):[]}},870:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(6579),i=n(8640),a=n(8882),s=n(7771);const o=function(t,e){return((0,s.Z)(t)?r.Z:i.Z)(t,(0,a.Z)(e))}},3402:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=Object.prototype.hasOwnProperty;const i=function(t,e){return null!=t&&r.call(t,e)};var a=n(5196);const s=function(t,e){return null!=t&&(0,a.Z)(t,e,i)}},1910:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});const r=function(t,e){return null!=t&&e in Object(t)};var i=n(5196);const a=function(t,e){return null!=t&&(0,i.Z)(t,e,r)}},9203:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return t}},4732:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(4492),i=n(8533);const a=function(t){return(0,i.Z)(t)&&"[object Arguments]"==(0,r.Z)(t)};var s=Object.prototype,o=s.hasOwnProperty,l=s.propertyIsEnumerable;const c=a(function(){return arguments}())?a:function(t){return(0,i.Z)(t)&&o.call(t,"callee")&&!l.call(t,"callee")}},7771:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=Array.isArray},585:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(3234),i=n(1656);const a=function(t){return null!=t&&(0,i.Z)(t.length)&&!(0,r.Z)(t)}},836:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(585),i=n(8533);const a=function(t){return(0,i.Z)(t)&&(0,r.Z)(t)}},6706:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(6092);var i="object"==typeof exports&&exports&&!exports.nodeType&&exports,a=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=a&&a.exports===i?r.Z.Buffer:void 0;const o=(s?s.isBuffer:void 0)||function(){return!1}},9697:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(8448),i=n(6155),a=n(4732),s=n(7771),o=n(585),l=n(6706),c=n(2764),h=n(7212),u=Object.prototype.hasOwnProperty;const d=function(t){if(null==t)return!0;if((0,o.Z)(t)&&((0,s.Z)(t)||"string"==typeof t||"function"==typeof t.splice||(0,l.Z)(t)||(0,h.Z)(t)||(0,a.Z)(t)))return!t.length;var e=(0,i.Z)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,c.Z)(t))return!(0,r.Z)(t).length;for(var n in t)if(u.call(t,n))return!1;return!0}},3234:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(4492),i=n(7226);const a=function(t){if(!(0,i.Z)(t))return!1;var e=(0,r.Z)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1656:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7226:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},8533:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return null!=t&&"object"==typeof t}},6378:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(4492),i=n(7771),a=n(8533);const s=function(t){return"string"==typeof t||!(0,i.Z)(t)&&(0,a.Z)(t)&&"[object String]"==(0,r.Z)(t)}},2714:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(4492),i=n(8533);const a=function(t){return"symbol"==typeof t||(0,i.Z)(t)&&"[object Symbol]"==(0,r.Z)(t)}},7212:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(4492),i=n(1656),a=n(8533),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1;var o=n(1162),l=n(8351),c=l.Z&&l.Z.isTypedArray;const h=c?(0,o.Z)(c):function(t){return(0,a.Z)(t)&&(0,i.Z)(t.length)&&!!s[(0,r.Z)(t)]}},9360:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return void 0===t}},7179:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(9001),i=n(8448),a=n(585);const s=function(t){return(0,a.Z)(t)?(0,r.Z)(t):(0,i.Z)(t)}},7590:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(9001),i=n(7226),a=n(2764);var s=Object.prototype.hasOwnProperty;const o=function(t){if(!(0,i.Z)(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=(0,a.Z)(t),n=[];for(var r in t)("constructor"!=r||!e&&s.call(t,r))&&n.push(r);return n};var l=n(585);const c=function(t){return(0,l.Z)(t)?(0,r.Z)(t,!0):o(t)}},935:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},3836:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(7679),i=n(506),a=n(1018),s=n(7771);const o=function(t,e){return((0,s.Z)(t)?r.Z:a.Z)(t,(0,i.Z)(e,3))}},2454:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(520);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var s=t.apply(this,r);return n.cache=a.set(i,s)||a,s};return n.cache=new(i.Cache||r.Z),n}i.Cache=r.Z;const a=i},7103:(t,e,n)=>{"use strict";n.d(e,{Z:()=>I});var r=n(5365),i=n(4752),a=n(9651);const s=function(t,e,n){(void 0!==n&&!(0,a.Z)(t[e],n)||void 0===n&&!(e in t))&&(0,i.Z)(t,e,n)};var o=n(5381),l=n(1050),c=n(2701),h=n(7215),u=n(5418),d=n(4732),p=n(7771),g=n(836),f=n(6706),m=n(3234),y=n(7226),v=n(4492),x=n(2513),b=n(8533),w=Function.prototype,k=Object.prototype,T=w.toString,_=k.hasOwnProperty,E=T.call(Object);var S=n(7212);const C=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var A=n(1899),L=n(7590);const M=function(t,e,n,r,i,a,o){var w,k=C(t,n),M=C(e,n),N=o.get(M);if(N)s(t,n,N);else{var I=a?a(k,M,n+"",t,e,o):void 0,R=void 0===I;if(R){var D=(0,p.Z)(M),O=!D&&(0,f.Z)(M),P=!D&&!O&&(0,S.Z)(M);I=M,D||O||P?(0,p.Z)(k)?I=k:(0,g.Z)(k)?I=(0,h.Z)(k):O?(R=!1,I=(0,l.Z)(M,!0)):P?(R=!1,I=(0,c.Z)(M,!0)):I=[]:function(t){if(!(0,b.Z)(t)||"[object Object]"!=(0,v.Z)(t))return!1;var e=(0,x.Z)(t);if(null===e)return!0;var n=_.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&T.call(n)==E}(M)||(0,d.Z)(M)?(I=k,(0,d.Z)(k)?(w=k,I=(0,A.Z)(w,(0,L.Z)(w))):(0,y.Z)(k)&&!(0,m.Z)(k)||(I=(0,u.Z)(M))):R=!1}R&&(o.set(M,I),i(I,M,r,a,o),o.delete(M)),s(t,n,I)}},N=function t(e,n,i,a,l){e!==n&&(0,o.Z)(n,(function(o,c){if(l||(l=new r.Z),(0,y.Z)(o))M(e,n,c,i,t,a,l);else{var h=a?a(C(e,c),o,c+"",e,n,l):void 0;void 0===h&&(h=o),s(e,c,h)}}),L.Z)},I=(0,n(9268).Z)((function(t,e,n){N(t,e,n)}))},3729:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(8e3),i=n(676),a=n(9203);const s=function(t){return t&&t.length?(0,r.Z)(t,a.Z,i.Z):void 0}},2054:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(){}},4283:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});const r=function(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n};var i=n(8640),a=n(506);const s=function(t,e,n,r,i){return i(t,(function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)})),n};var o=n(7771);const l=function(t,e,n){var l=(0,o.Z)(t)?r:s,c=arguments.length<3;return l(t,(0,a.Z)(e,4),n,c,i.Z)}},532:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(){return[]}},6770:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=/\s/;var i=/^\s+/;const a=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&r.test(t.charAt(e)););return e}(t)+1).replace(i,""):t};var s=n(7226),o=n(2714),l=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,h=/^0o[0-7]+$/i,u=parseInt;const d=function(t){return t?Infinity===(t=function(t){if("number"==typeof t)return t;if((0,o.Z)(t))return NaN;if((0,s.Z)(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=(0,s.Z)(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=a(t);var n=c.test(t);return n||h.test(t)?u(t.slice(2),n?2:8):l.test(t)?NaN:+t}(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},4930:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6770);const i=function(t){var e=(0,r.Z)(t),n=e%1;return e==e?n?e-n:e:0}},2402:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(7685),i=n(7679),a=n(7771),s=n(2714),o=r.Z?r.Z.prototype:void 0,l=o?o.toString:void 0;const c=function t(e){if("string"==typeof e)return e;if((0,a.Z)(e))return(0,i.Z)(e,t)+"";if((0,s.Z)(e))return l?l.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n},h=function(t){return null==t?"":c(t)}},4657:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(7679);var i=n(7179);const a=function(t){return null==t?[]:function(t,e){return(0,r.Z)(e,(function(e){return t[e]}))}(t,(0,i.Z)(t))}},8545:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>dt});var r=n(6241),i=n(214),a=n(1957),s=n(7207),o=(n(7946),n(5430)),l=n(4082),c=n(2491),h=n(1387),u=n(4867),d=n(3108),p={L:"left",R:"right",T:"top",B:"bottom"},g={L:(0,l.eW)((t=>`${t},${t/2} 0,${t} 0,0`),"L"),R:(0,l.eW)((t=>`0,${t/2} ${t},0 ${t},${t}`),"R"),T:(0,l.eW)((t=>`0,0 ${t},0 ${t/2},${t}`),"T"),B:(0,l.eW)((t=>`${t/2},0 ${t},${t} 0,${t}`),"B")},f={L:(0,l.eW)(((t,e)=>t-e+2),"L"),R:(0,l.eW)(((t,e)=>t-2),"R"),T:(0,l.eW)(((t,e)=>t-e+2),"T"),B:(0,l.eW)(((t,e)=>t-2),"B")},m=(0,l.eW)((function(t){return v(t)?"L"===t?"R":"L":"T"===t?"B":"T"}),"getOppositeArchitectureDirection"),y=(0,l.eW)((function(t){return"L"===t||"R"===t||"T"===t||"B"===t}),"isArchitectureDirection"),v=(0,l.eW)((function(t){return"L"===t||"R"===t}),"isArchitectureDirectionX"),x=(0,l.eW)((function(t){return"T"===t||"B"===t}),"isArchitectureDirectionY"),b=(0,l.eW)((function(t,e){const n=v(t)&&x(e),r=x(t)&&v(e);return n||r}),"isArchitectureDirectionXY"),w=(0,l.eW)((function(t){const e=t[0],n=t[1],r=v(e)&&x(n),i=x(e)&&v(n);return r||i}),"isArchitecturePairXY"),k=(0,l.eW)((function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t}),"isValidArchitectureDirectionPair"),T=(0,l.eW)((function(t,e){const n=`${t}${e}`;return k(n)?n:void 0}),"getArchitectureDirectionPair"),_=(0,l.eW)((function([t,e],n){const r=n[0],i=n[1];return v(r)?x(i)?[t+("L"===r?-1:1),e+("T"===i?1:-1)]:[t+("L"===r?-1:1),e]:v(i)?[t+("L"===i?1:-1),e+("T"===r?1:-1)]:[t,e+("T"===r?1:-1)]}),"shiftPositionByArchitectureDirectionPair"),E=(0,l.eW)((function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]}),"getArchitectureDirectionXYFactors"),S=(0,l.eW)((function(t,e){return b(t,e)?"bend":v(t)?"horizontal":"vertical"}),"getArchitectureDirectionAlignment"),C=(0,l.eW)((function(t){return"service"===t.type}),"isArchitectureService"),A=(0,l.eW)((function(t){return"junction"===t.type}),"isArchitectureJunction"),L=(0,l.eW)((t=>t.data()),"edgeData"),M=(0,l.eW)((t=>t.data()),"nodeData"),N=l.vZ.architecture,I=new s.A((()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:N,dataStructures:void 0,elements:{}}))),R=(0,l.eW)((()=>{I.reset(),(0,l.ZH)()}),"clear"),D=(0,l.eW)((function({id:t,icon:e,in:n,title:r,iconText:i}){if(void 0!==I.records.registeredIds[t])throw new Error(`The service id [${t}] is already in use by another ${I.records.registeredIds[t]}`);if(void 0!==n){if(t===n)throw new Error(`The service [${t}] cannot be placed within itself`);if(void 0===I.records.registeredIds[n])throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===I.records.registeredIds[n])throw new Error(`The service [${t}]'s parent is not a group`)}I.records.registeredIds[t]="node",I.records.nodes[t]={id:t,type:"service",icon:e,iconText:i,title:r,edges:[],in:n}}),"addService"),O=(0,l.eW)((()=>Object.values(I.records.nodes).filter(C)),"getServices"),P=(0,l.eW)((function({id:t,in:e}){I.records.registeredIds[t]="node",I.records.nodes[t]={id:t,type:"junction",edges:[],in:e}}),"addJunction"),$=(0,l.eW)((()=>Object.values(I.records.nodes).filter(A)),"getJunctions"),B=(0,l.eW)((()=>Object.values(I.records.nodes)),"getNodes"),F=(0,l.eW)((t=>I.records.nodes[t]),"getNode"),W=(0,l.eW)((function({id:t,icon:e,in:n,title:r}){if(void 0!==I.records.registeredIds[t])throw new Error(`The group id [${t}] is already in use by another ${I.records.registeredIds[t]}`);if(void 0!==n){if(t===n)throw new Error(`The group [${t}] cannot be placed within itself`);if(void 0===I.records.registeredIds[n])throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===I.records.registeredIds[n])throw new Error(`The group [${t}]'s parent is not a group`)}I.records.registeredIds[t]="group",I.records.groups[t]={id:t,icon:e,title:r,in:n}}),"addGroup"),z=(0,l.eW)((()=>Object.values(I.records.groups)),"getGroups"),Z=(0,l.eW)((function({lhsId:t,rhsId:e,lhsDir:n,rhsDir:r,lhsInto:i,rhsInto:a,lhsGroup:s,rhsGroup:o,title:l}){if(!y(n))throw new Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`);if(!y(r))throw new Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`);if(void 0===I.records.nodes[t]&&void 0===I.records.groups[t])throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(void 0===I.records.nodes[e]&&void 0===I.records.groups[t])throw new Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);const c=I.records.nodes[t].in,h=I.records.nodes[e].in;if(s&&c&&h&&c==h)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(o&&c&&h&&c==h)throw new Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const u={lhsId:t,lhsDir:n,lhsInto:i,lhsGroup:s,rhsId:e,rhsDir:r,rhsInto:a,rhsGroup:o,title:l};I.records.edges.push(u),I.records.nodes[t]&&I.records.nodes[e]&&(I.records.nodes[t].edges.push(I.records.edges[I.records.edges.length-1]),I.records.nodes[e].edges.push(I.records.edges[I.records.edges.length-1]))}),"addEdge"),Y=(0,l.eW)((()=>I.records.edges),"getEdges"),U=(0,l.eW)((()=>{if(void 0===I.records.dataStructures){const t={},e=Object.entries(I.records.nodes).reduce(((e,[n,r])=>(e[n]=r.edges.reduce(((e,r)=>{const i=F(r.lhsId)?.in,a=F(r.rhsId)?.in;if(i&&a&&i!==a){const e=S(r.lhsDir,r.rhsDir);"bend"!==e&&(t[i]??={},t[i][a]=e,t[a]??={},t[a][i]=e)}if(r.lhsId===n){const t=T(r.lhsDir,r.rhsDir);t&&(e[t]=r.rhsId)}else{const t=T(r.rhsDir,r.lhsDir);t&&(e[t]=r.lhsId)}return e}),{}),e)),{}),n=Object.keys(e)[0],r={[n]:1},i=Object.keys(e).reduce(((t,e)=>e===n?t:{...t,[e]:1}),{}),a=(0,l.eW)((t=>{const n={[t]:[0,0]},a=[t];for(;a.length>0;){const t=a.shift();if(t){r[t]=1,delete i[t];const s=e[t],[o,l]=n[t];Object.entries(s).forEach((([t,e])=>{r[e]||(n[e]=_([o,l],t),a.push(e))}))}}return n}),"BFS"),s=[a(n)];for(;Object.keys(i).length>0;)s.push(a(Object.keys(i)[0]));I.records.dataStructures={adjList:e,spatialMaps:s,groupAlignments:t}}return I.records.dataStructures}),"getDataStructures"),G=(0,l.eW)(((t,e)=>{I.records.elements[t]=e}),"setElementForId"),V=(0,l.eW)((t=>I.records.elements[t]),"getElementById"),q={clear:R,setDiagramTitle:l.g2,getDiagramTitle:l.Kr,setAccTitle:l.GN,getAccTitle:l.eu,setAccDescription:l.U$,getAccDescription:l.Mx,addService:D,getServices:O,addJunction:P,getJunctions:$,getNodes:B,getNode:F,addGroup:W,getGroups:z,addEdge:Z,getEdges:Y,setElementForId:G,getElementById:V,getDataStructures:U};function j(t){const e=(0,l.nV)().architecture;return e?.[t]?e[t]:N[t]}(0,l.eW)(j,"getConfigField");var H=(0,l.eW)(((t,e)=>{(0,a.A)(t,e),t.groups.map(e.addGroup),t.services.map((t=>e.addService({...t,type:"service"}))),t.junctions.map((t=>e.addJunction({...t,type:"junction"}))),t.edges.map(e.addEdge)}),"populateDb"),X={parse:(0,l.eW)((async t=>{const e=await(0,c.Qc)("architecture",t);l.cM.debug(e),H(e,q)}),"parse")},K=(0,l.eW)((t=>`\n .edge {\n stroke-width: ${t.archEdgeWidth};\n stroke: ${t.archEdgeColor};\n fill: none;\n }\n\n .arrow {\n fill: ${t.archEdgeArrowColor};\n }\n\n .node-bkg {\n fill: none;\n stroke: ${t.archGroupBorderColor};\n stroke-width: ${t.archGroupBorderWidth};\n stroke-dasharray: 8;\n }\n .node-icon-text {\n display: flex; \n align-items: center;\n }\n \n .node-icon-text > div {\n color: #fff;\n margin: 1px;\n height: fit-content;\n text-align: center;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n }\n`),"getStyles"),Q=(0,l.eW)((t=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`),"wrapIcon"),J={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Q('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Q('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Q('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Q('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Q('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:r.cN,blank:{body:Q("")}}},tt=(0,l.eW)((async function(t,e){const n=j("padding"),r=j("iconSize"),a=r/2,s=r/6,o=s/2;await Promise.all(e.edges().map((async e=>{const{source:r,sourceDir:c,sourceArrow:h,sourceGroup:u,target:d,targetDir:p,targetArrow:m,targetGroup:y,label:k}=L(e);let{x:_,y:S}=e[0].sourceEndpoint();const{x:C,y:A}=e[0].midpoint();let{x:M,y:N}=e[0].targetEndpoint();const I=n+4;if(u&&(v(c)?_+="L"===c?-I:I:S+="T"===c?-I:I+18),y&&(v(p)?M+="L"===p?-I:I:N+="T"===p?-I:I+18),u||"junction"!==q.getNode(r)?.type||(v(c)?_+="L"===c?a:-a:S+="T"===c?a:-a),y||"junction"!==q.getNode(d)?.type||(v(p)?M+="L"===p?a:-a:N+="T"===p?a:-a),e[0]._private.rscratch){const e=t.insert("g");if(e.insert("path").attr("d",`M ${_},${S} L ${C},${A} L${M},${N} `).attr("class","edge"),h){const t=v(c)?f[c](_,s):_-o,n=x(c)?f[c](S,s):S-o;e.insert("polygon").attr("points",g[c](s)).attr("transform",`translate(${t},${n})`).attr("class","arrow")}if(m){const t=v(p)?f[p](M,s):M-o,n=x(p)?f[p](N,s):N-o;e.insert("polygon").attr("points",g[p](s)).attr("transform",`translate(${t},${n})`).attr("class","arrow")}if(k){const t=b(c,p)?"XY":v(c)?"X":"Y";let n=0;n="X"===t?Math.abs(_-M):"Y"===t?Math.abs(S-N)/1.5:Math.abs(_-M)/2;const r=e.append("g");if(await(0,i.rw)(r,k,{useHtmlLabels:!1,width:n,classes:"architecture-service-label"},(0,l.nV)()),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)r.attr("transform","translate("+C+", "+A+")");else if("Y"===t)r.attr("transform","translate("+C+", "+A+") rotate(-90)");else if("XY"===t){const t=T(c,p);if(t&&w(t)){const e=r.node().getBoundingClientRect(),[n,i]=E(t);r.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*n*i*45})`);const a=r.node().getBoundingClientRect();r.attr("transform",`\n translate(${C}, ${A-e.height/2})\n translate(${n*a.width/2}, ${i*a.height/2})\n rotate(${-1*n*i*45}, 0, ${e.height/2})\n `)}}}}})))}),"drawEdges"),et=(0,l.eW)((async function(t,e){const n=.75*j("padding"),a=j("fontSize"),s=j("iconSize")/2;await Promise.all(e.nodes().map((async e=>{const o=M(e);if("group"===o.type){const{h:c,w:h,x1:u,y1:d}=e.boundingBox();t.append("rect").attr("x",u+s).attr("y",d+s).attr("width",h).attr("height",c).attr("class","node-bkg");const p=t.append("g");let g=u,f=d;if(o.icon){const t=p.append("g");t.html(`<g>${await(0,r.s4)(o.icon,{height:n,width:n,fallbackPrefix:J.prefix})}</g>`),t.attr("transform","translate("+(g+s+1)+", "+(f+s+1)+")"),g+=n,f+=a/2-1-2}if(o.label){const t=p.append("g");await(0,i.rw)(t,o.label,{useHtmlLabels:!1,width:h,classes:"architecture-service-label"},(0,l.nV)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(g+s+4)+", "+(f+s+2)+")")}}})))}),"drawGroups"),nt=(0,l.eW)((async function(t,e,n){for(const a of n){const n=e.append("g"),s=j("iconSize");if(a.title){const t=n.append("g");await(0,i.rw)(t,a.title,{useHtmlLabels:!1,width:1.5*s,classes:"architecture-service-label"},(0,l.nV)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+s/2+", "+s+")")}const o=n.append("g");if(a.icon)o.html(`<g>${await(0,r.s4)(a.icon,{height:s,width:s,fallbackPrefix:J.prefix})}</g>`);else if(a.iconText){o.html(`<g>${await(0,r.s4)("blank",{height:s,width:s,fallbackPrefix:J.prefix})}</g>`);const t=o.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(a.iconText),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/e)};`)}else o.append("path").attr("class","node-bkg").attr("id","node-"+a.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`);n.attr("class","architecture-service");const{width:c,height:h}=n._groups[0][0].getBBox();a.width=c,a.height=h,t.setElementForId(a.id,n)}return 0}),"drawServices"),rt=(0,l.eW)((function(t,e,n){n.forEach((n=>{const r=e.append("g"),i=j("iconSize");r.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",i).attr("height",i),r.attr("class","architecture-junction");const{width:a,height:s}=r._groups[0][0].getBBox();r.width=a,r.height=s,t.setElementForId(n.id,r)}))}),"drawJunctions");function it(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:j("iconSize"),height:j("iconSize")},classes:"node-service"})}))}function at(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:j("iconSize"),height:j("iconSize")},classes:"node-junction"})}))}function st(t,e){e.nodes().map((e=>{const n=M(e);"group"!==n.type&&(n.x=e.position().x,n.y=e.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")"))}))}function ot(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})}))}function lt(t,e){t.forEach((t=>{const{lhsId:n,rhsId:r,lhsInto:i,lhsGroup:a,rhsInto:s,lhsDir:o,rhsDir:l,rhsGroup:c,title:h}=t,u=b(t.lhsDir,t.rhsDir)?"segments":"straight",d={id:`${n}-${r}`,label:h,source:n,sourceDir:o,sourceArrow:i,sourceGroup:a,sourceEndpoint:"L"===o?"0 50%":"R"===o?"100% 50%":"T"===o?"50% 0":"50% 100%",target:r,targetDir:l,targetArrow:s,targetGroup:c,targetEndpoint:"L"===l?"0 50%":"R"===l?"100% 50%":"T"===l?"50% 0":"50% 100%"};e.add({group:"edges",data:d,classes:u})}))}function ct(t,e,n){const r=(0,l.eW)(((t,e)=>Object.entries(t).reduce(((t,[r,i])=>{let a=0;const s=Object.entries(i);if(1===s.length)return t[r]=s[0][1],t;for(let i=0;i<s.length-1;i++)for(let o=i+1;o<s.length;o++){const[l,c]=s[i],[h,u]=s[o],d=n[l]?.[h];d===e||"default"===l||"default"===h?(t[r]??=[],t[r]=[...t[r],...c,...u]):(t[`${r}-${a++}`]=c,t[`${r}-${a++}`]=u)}return t}),{})),"flattenAlignments"),i=e.map((e=>{const n={},i={};return Object.entries(e).forEach((([e,[r,a]])=>{const s=t.getNode(e)?.in??"default";n[a]??={},n[a][s]??=[],n[a][s].push(e),i[r]??={},i[r][s]??=[],i[r][s].push(e)})),{horiz:Object.values(r(n,"horizontal")).filter((t=>t.length>1)),vert:Object.values(r(i,"vertical")).filter((t=>t.length>1))}})),[a,s]=i.reduce((([t,e],{horiz:n,vert:r})=>[[...t,...n],[...e,...r]]),[[],[]]);return{horizontal:a,vertical:s}}function ht(t){const e=[],n=(0,l.eW)((t=>`${t[0]},${t[1]}`),"posToStr"),r=(0,l.eW)((t=>t.split(",").map((t=>parseInt(t)))),"strToPos");return t.forEach((t=>{const i=Object.fromEntries(Object.entries(t).map((([t,e])=>[n(e),t]))),a=[n([0,0])],s={},o={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;a.length>0;){const t=a.shift();if(t){s[t]=1;const l=i[t];if(l){const c=r(t);Object.entries(o).forEach((([t,r])=>{const o=n([c[0]+r[0],c[1]+r[1]]),h=i[o];h&&!s[o]&&(a.push(o),e.push({[p[t]]:h,[p[m(t)]]:l,gap:1.5*j("iconSize")}))}))}}}})),e}function ut(t,e,n,r,i,{spatialMaps:a,groupAlignments:s}){return new Promise((o=>{const c=(0,d.Ys)("body").append("div").attr("id","cy").attr("style","display:none"),u=(0,h.Z)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${j("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${j("padding")}px`}}]});c.remove(),ot(n,u),it(t,u),at(e,u),lt(r,u);const p=ct(i,a,s),g=ht(a),f=u.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){const[e,n]=t.connectedNodes(),{parent:r}=M(e),{parent:i}=M(n);return r===i?1.5*j("iconSize"):.5*j("iconSize")},edgeElasticity(t){const[e,n]=t.connectedNodes(),{parent:r}=M(e),{parent:i}=M(n);return r===i?.45:.001},alignmentConstraint:p,relativePlacementConstraint:g});f.one("layoutstop",(()=>{function t(t,e,n,r){let i,a;const{x:s,y:o}=t,{x:l,y:c}=e;a=(r-o+(s-n)*(o-c)/(s-l))/Math.sqrt(1+Math.pow((o-c)/(s-l),2)),i=Math.sqrt(Math.pow(r-o,2)+Math.pow(n-s,2)-Math.pow(a,2)),i/=Math.sqrt(Math.pow(l-s,2)+Math.pow(c-o,2));let h=(l-s)*(r-o)-(c-o)*(n-s);switch(!0){case h>=0:h=1;break;case h<0:h=-1}let u=(l-s)*(n-s)+(c-o)*(r-o);switch(!0){case u>=0:u=1;break;case u<0:u=-1}return a=Math.abs(a)*h,i*=u,{distances:a,weights:i}}(0,l.eW)(t,"getSegmentWeights"),u.startBatch();for(const e of Object.values(u.edges()))if(e.data?.()){const{x:n,y:r}=e.source().position(),{x:i,y:a}=e.target().position();if(n!==i&&r!==a){const n=e.sourceEndpoint(),r=e.targetEndpoint(),{sourceDir:i}=L(e),[a,s]=x(i)?[n.x,r.y]:[r.x,n.y],{weights:o,distances:l}=t(n,r,a,s);e.style("segment-distances",l),e.style("segment-weights",o)}}u.endBatch(),f.run()})),f.run(),u.ready((t=>{l.cM.info("Ready",t),o(u)}))}))}(0,r.ef)([{name:J.prefix,icons:J}]),h.Z.use(u),(0,l.eW)(it,"addServices"),(0,l.eW)(at,"addJunctions"),(0,l.eW)(st,"positionNodes"),(0,l.eW)(ot,"addGroups"),(0,l.eW)(lt,"addEdges"),(0,l.eW)(ct,"getAlignments"),(0,l.eW)(ht,"getRelativeConstraints"),(0,l.eW)(ut,"layoutArchitecture");var dt={parser:X,db:q,renderer:{draw:(0,l.eW)((async(t,e,n,r)=>{const i=r.db,a=i.getServices(),s=i.getJunctions(),c=i.getGroups(),h=i.getEdges(),u=i.getDataStructures(),d=(0,o.P)(e),p=d.append("g");p.attr("class","architecture-edges");const g=d.append("g");g.attr("class","architecture-services");const f=d.append("g");f.attr("class","architecture-groups"),await nt(i,g,a),rt(i,g,s);const m=await ut(a,s,c,h,i,u);await tt(p,m),await et(f,m),st(i,m),(0,l.j7)(void 0,d,j("padding"),j("useMaxWidth"))}),"draw")},styles:K}},7724:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>ve});var r=n(5179),i=n(1426),a=n(214),s=n(7946),o=n(4082),l=n(2346),c=n(9792),h=n(1117),u=n(3108),d=n(5625),p=function(){var t=(0,o.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,7],n=[1,13],r=[1,14],i=[1,15],a=[1,19],s=[1,16],l=[1,17],c=[1,18],h=[8,30],u=[8,21,28,29,30,31,32,40,44,47],d=[1,23],p=[1,24],g=[8,15,16,21,28,29,30,31,32,40,44,47],f=[8,15,16,21,27,28,29,30,31,32,40,44,47],m=[1,49],y={trace:(0,o.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,o.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 4:r.getLogger().debug("Rule: separator (NL) ");break;case 5:r.getLogger().debug("Rule: separator (Space) ");break;case 6:r.getLogger().debug("Rule: separator (EOF) ");break;case 7:r.getLogger().debug("Rule: hierarchy: ",a[o-1]),r.setHierarchy(a[o-1]);break;case 8:r.getLogger().debug("Stop NL ");break;case 9:r.getLogger().debug("Stop EOF ");break;case 10:r.getLogger().debug("Stop NL2 ");break;case 11:r.getLogger().debug("Stop EOF2 ");break;case 12:r.getLogger().debug("Rule: statement: ",a[o]),"number"==typeof a[o].length?this.$=a[o]:this.$=[a[o]];break;case 13:r.getLogger().debug("Rule: statement #2: ",a[o-1]),this.$=[a[o-1]].concat(a[o]);break;case 14:r.getLogger().debug("Rule: link: ",a[o],t),this.$={edgeTypeStr:a[o],label:""};break;case 15:r.getLogger().debug("Rule: LABEL link: ",a[o-3],a[o-1],a[o]),this.$={edgeTypeStr:a[o],label:a[o-1]};break;case 18:const e=parseInt(a[o]),n=r.generateId();this.$={id:n,type:"space",label:"",width:e,children:[]};break;case 23:r.getLogger().debug("Rule: (nodeStatement link node) ",a[o-2],a[o-1],a[o]," typestr: ",a[o-1].edgeTypeStr);const i=r.edgeStrToEdgeData(a[o-1].edgeTypeStr);this.$=[{id:a[o-2].id,label:a[o-2].label,type:a[o-2].type,directions:a[o-2].directions},{id:a[o-2].id+"-"+a[o].id,start:a[o-2].id,end:a[o].id,label:a[o-1].label,type:"edge",directions:a[o].directions,arrowTypeEnd:i,arrowTypeStart:"arrow_open"},{id:a[o].id,label:a[o].label,type:r.typeStr2Type(a[o].typeStr),directions:a[o].directions}];break;case 24:r.getLogger().debug("Rule: nodeStatement (abc88 node size) ",a[o-1],a[o]),this.$={id:a[o-1].id,label:a[o-1].label,type:r.typeStr2Type(a[o-1].typeStr),directions:a[o-1].directions,widthInColumns:parseInt(a[o],10)};break;case 25:r.getLogger().debug("Rule: nodeStatement (node) ",a[o]),this.$={id:a[o].id,label:a[o].label,type:r.typeStr2Type(a[o].typeStr),directions:a[o].directions,widthInColumns:1};break;case 26:r.getLogger().debug("APA123",this?this:"na"),r.getLogger().debug("COLUMNS: ",a[o]),this.$={type:"column-setting",columns:"auto"===a[o]?-1:parseInt(a[o])};break;case 27:r.getLogger().debug("Rule: id-block statement : ",a[o-2],a[o-1]),r.generateId(),this.$={...a[o-2],type:"composite",children:a[o-1]};break;case 28:r.getLogger().debug("Rule: blockStatement : ",a[o-2],a[o-1],a[o]);const s=r.generateId();this.$={id:s,type:"composite",label:"",children:a[o-1]};break;case 29:r.getLogger().debug("Rule: node (NODE_ID separator): ",a[o]),this.$={id:a[o]};break;case 30:r.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",a[o-1],a[o]),this.$={id:a[o-1],label:a[o].label,typeStr:a[o].typeStr,directions:a[o].directions};break;case 31:r.getLogger().debug("Rule: dirList: ",a[o]),this.$=[a[o]];break;case 32:r.getLogger().debug("Rule: dirList: ",a[o-1],a[o]),this.$=[a[o-1]].concat(a[o]);break;case 33:r.getLogger().debug("Rule: nodeShapeNLabel: ",a[o-2],a[o-1],a[o]),this.$={typeStr:a[o-2]+a[o],label:a[o-1]};break;case 34:r.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",a[o-3],a[o-2]," #3:",a[o-1],a[o]),this.$={typeStr:a[o-3]+a[o],label:a[o-2],directions:a[o-1]};break;case 35:case 36:this.$={type:"classDef",id:a[o-1].trim(),css:a[o].trim()};break;case 37:this.$={type:"applyClass",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 38:this.$={type:"applyStyles",id:a[o-1].trim(),stylesStr:a[o].trim()}}}),"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:n,29:r,31:i,32:a,40:s,44:l,47:c},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:n,29:r,31:i,32:a,40:s,44:l,47:c}),t(u,[2,16],{14:22,15:d,16:p}),t(u,[2,17]),t(u,[2,18]),t(u,[2,19]),t(u,[2,20]),t(u,[2,21]),t(u,[2,22]),t(g,[2,25],{27:[1,25]}),t(u,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:n,29:r,31:i,32:a,40:s,44:l,47:c},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(f,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(g,[2,24]),{11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:n,29:r,31:i,32:a,40:s,44:l,47:c},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(f,[2,30]),{18:[1,43]},{18:[1,44]},t(g,[2,23]),{18:[1,45]},{30:[1,46]},t(u,[2,28]),t(u,[2,35]),t(u,[2,36]),t(u,[2,37]),t(u,[2,38]),{37:[1,47]},{34:48,35:m},{15:[1,50]},t(u,[2,27]),t(f,[2,33]),{39:[1,51]},{34:52,35:m,39:[2,31]},{32:[2,15]},t(f,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,o.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,o.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],s=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,o.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=s[w]&&s[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],s[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=s[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},v=function(){return{EOF:1,parseError:(0,o.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,o.eW)((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}),"setInput"),input:(0,o.eW)((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}),"input"),unput:(0,o.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,o.eW)((function(){return this._more=!0,this}),"more"),reject:(0,o.eW)((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})}),"reject"),less:(0,o.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,o.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,o.eW)((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,"")}),"upcomingInput"),showPosition:(0,o.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,o.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,o.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,o.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,o.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,o.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,o.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,o.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,o.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,o.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,o.eW)((function(t,e,n,r){switch(n){case 0:return 10;case 1:return t.getLogger().debug("Found space-block"),31;case 2:return t.getLogger().debug("Found nl-block"),31;case 3:return t.getLogger().debug("Found space-block"),29;case 4:t.getLogger().debug(".",e.yytext);break;case 5:t.getLogger().debug("_",e.yytext);break;case 6:return 5;case 7:return e.yytext=-1,28;case 8:return e.yytext=e.yytext.replace(/columns\s+/,""),t.getLogger().debug("COLUMNS (LEX)",e.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:t.getLogger().debug("LEX: POPPING STR:",e.yytext),this.popState();break;case 14:return t.getLogger().debug("LEX: STR end:",e.yytext),"STR";case 15:return e.yytext=e.yytext.replace(/space\:/,""),t.getLogger().debug("SPACE NUM (LEX)",e.yytext),21;case 16:return e.yytext="1",t.getLogger().debug("COLUMNS (LEX)",e.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),t.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),t.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),t.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),t.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),t.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),t.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),t.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),t.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),t.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),t.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),t.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),t.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return t.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return t.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return t.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return t.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return t.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return t.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return t.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return t.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),t.getLogger().debug("LEX ARR START"),38;case 75:return t.getLogger().debug("Lex: NODE_ID",e.yytext),32;case 76:return t.getLogger().debug("Lex: EOF",e.yytext),8;case 79:return"NODE_DESCR";case 81:t.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:t.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return t.getLogger().debug("LEX: NODE_DESCR:",e.yytext),"NODE_DESCR";case 84:t.getLogger().debug("LEX POPPING"),this.popState();break;case 85:t.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (right): dir:",e.yytext),"DIR";case 87:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (left):",e.yytext),"DIR";case 88:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (x):",e.yytext),"DIR";case 89:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (y):",e.yytext),"DIR";case 90:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (up):",e.yytext),"DIR";case 91:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (down):",e.yytext),"DIR";case 92:return e.yytext="]>",t.getLogger().debug("Lex (ARROW_DIR end):",e.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 94:case 95:case 96:return t.getLogger().debug("Lex: LINK",e.yytext),15;case 97:case 98:case 99:return t.getLogger().debug("Lex: START_LINK",e.yytext),this.pushState("LLABEL"),16;case 101:return t.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 103:case 104:return this.popState(),t.getLogger().debug("Lex: LINK",e.yytext),15;case 105:return t.getLogger().debug("Lex: COLON",e.yytext),e.yytext=e.yytext.slice(1),27}}),"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}}}();function x(){this.yy={}}return y.lexer=v,(0,o.eW)(x,"Parser"),x.prototype=y,y.Parser=x,new x}();p.parser=p;var g=p,f=new Map,m=[],y=new Map,v="color",x="fill",b=(0,o.nV)(),w=new Map,k=(0,o.eW)((t=>o.SY.sanitizeText(t,b)),"sanitizeText"),T=(0,o.eW)((function(t,e=""){let n=w.get(t);n||(n={id:t,styles:[],textStyles:[]},w.set(t,n)),null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(v).exec(t)){const t=e.replace(x,"bgFill").replace(v,x);n.textStyles.push(t)}n.styles.push(e)}))}),"addStyleClass"),_=(0,o.eW)((function(t,e=""){const n=f.get(t);null!=e&&(n.styles=e.split(","))}),"addStyle2Node"),E=(0,o.eW)((function(t,e){t.split(",").forEach((function(t){let n=f.get(t);if(void 0===n){const e=t.trim();n={id:e,type:"na",children:[]},f.set(e,n)}n.classes||(n.classes=[]),n.classes.push(e)}))}),"setCssClass"),S=(0,o.eW)(((t,e)=>{const n=t.flat(),r=[];for(const t of n)if(t.label&&(t.label=k(t.label)),"classDef"!==t.type)if("applyClass"!==t.type)if("applyStyles"!==t.type)if("column-setting"===t.type)e.columns=t.columns??-1;else if("edge"===t.type){const e=(y.get(t.id)??0)+1;y.set(t.id,e),t.id=e+"-"+t.id,m.push(t)}else{t.label||("composite"===t.type?t.label="":t.label=t.id);const e=f.get(t.id);if(void 0===e?f.set(t.id,t):("na"!==t.type&&(e.type=t.type),t.label!==t.id&&(e.label=t.label)),t.children&&S(t.children,t),"space"===t.type){const e=t.width??1;for(let n=0;n<e;n++){const e=(0,l.Z)(t);e.id=e.id+"-"+n,f.set(e.id,e),r.push(e)}}else void 0===e&&r.push(t)}else t?.stylesStr&&_(t.id,t?.stylesStr);else E(t.id,t?.styleClass??"");else T(t.id,t.css);e.children=r}),"populateBlockDatabase"),C=[],A={id:"root",type:"composite",children:[],columns:-1},L=(0,o.eW)((()=>{o.cM.debug("Clear called"),(0,o.ZH)(),A={id:"root",type:"composite",children:[],columns:-1},f=new Map([["root",A]]),C=[],w=new Map,m=[],y=new Map}),"clear");function M(t){switch(o.cM.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return o.cM.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function N(t){return o.cM.debug("typeStr2Type",t),"=="===t?"thick":"normal"}function I(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}(0,o.eW)(M,"typeStr2Type"),(0,o.eW)(N,"edgeTypeStr2Type"),(0,o.eW)(I,"edgeStrToEdgeData");var R=0,D=(0,o.eW)((()=>(R++,"id-"+Math.random().toString(36).substr(2,12)+"-"+R)),"generateId"),O=(0,o.eW)((t=>{A.children=t,S(t,A),C=A.children}),"setHierarchy"),P=(0,o.eW)((t=>{const e=f.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1}),"getColumns"),$=(0,o.eW)((()=>[...f.values()]),"getBlocksFlat"),B=(0,o.eW)((()=>C||[]),"getBlocks"),F=(0,o.eW)((()=>m),"getEdges"),W=(0,o.eW)((t=>f.get(t)),"getBlock"),z=(0,o.eW)((t=>{f.set(t.id,t)}),"setBlock"),Z=(0,o.eW)((()=>console),"getLogger"),Y=(0,o.eW)((function(){return w}),"getClasses"),U={getConfig:(0,o.eW)((()=>(0,o.iE)().block),"getConfig"),typeStr2Type:M,edgeTypeStr2Type:N,edgeStrToEdgeData:I,getLogger:Z,getBlocksFlat:$,getBlocks:B,getEdges:F,setHierarchy:O,getBlock:W,setBlock:z,getColumns:P,getClasses:Y,clear:L,generateId:D},G=(0,o.eW)(((t,e)=>{const n=c.Z,r=n(t,"r"),i=n(t,"g"),a=n(t,"b");return h.Z(r,i,a,e)}),"fade"),V=(0,o.eW)((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span,p {\n color: ${t.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${G(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${G(t.mainBkg,.5)};\n fill: ${G(t.clusterBkg,.5)};\n stroke: ${G(t.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span,p {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles"),q=(0,o.eW)(((t,e,n,r)=>{e.forEach((e=>{j[e](t,n,r)}))}),"insertMarkers"),j={extension:(0,o.eW)(((t,e,n)=>{o.cM.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),composition:(0,o.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),aggregation:(0,o.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),dependency:(0,o.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),lollipop:(0,o.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",n+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),point:(0,o.eW)(((t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),circle:(0,o.eW)(((t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),cross:(0,o.eW)(((t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),barb:(0,o.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb")},H=q,X=(0,o.nV)()?.block?.padding??8;function K(t,e){if(0===t||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);return t<0?{px:e,py:0}:1===t?{px:0,py:e}:{px:e%t,py:Math.floor(e/t)}}(0,o.eW)(K,"calculateBlockPosition");var Q=(0,o.eW)((t=>{let e=0,n=0;for(const r of t.children){const{width:i,height:a,x:s,y:l}=r.size??{width:0,height:0,x:0,y:0};o.cM.debug("getMaxChildSize abc95 child:",r.id,"width:",i,"height:",a,"x:",s,"y:",l,r.type),"space"!==r.type&&(i>e&&(e=i/(t.widthInColumns??1)),a>n&&(n=a))}return{width:e,height:n}}),"getMaxChildSize");function J(t,e,n=0,r=0){o.cM.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",n),t?.size?.width||(t.size={width:n,height:r,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(const n of t.children)J(n,e);const s=Q(t);i=s.width,a=s.height,o.cM.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(const e of t.children)e.size&&(o.cM.debug(`abc95 Setting size of children of ${t.id} id=${e.id} ${i} ${a} ${JSON.stringify(e.size)}`),e.size.width=i*(e.widthInColumns??1)+X*((e.widthInColumns??1)-1),e.size.height=a,e.size.x=0,e.size.y=0,o.cM.debug(`abc95 updating size of ${t.id} children child:${e.id} maxWidth:${i} maxHeight:${a}`));for(const n of t.children)J(n,e,i,a);const l=t.columns??-1;let c=0;for(const e of t.children)c+=e.widthInColumns??1;let h=t.children.length;l>0&&l<c&&(h=l);const u=Math.ceil(c/h);let d=h*(i+X)+X,p=u*(a+X)+X;if(d<n){o.cM.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${n} sieblingHeight ${r} width ${d}`),d=n,p=r;const e=(n-h*X-X)/h,s=(r-u*X-X)/u;o.cM.debug("Size indata abc88",t.id,"childWidth",e,"maxWidth",i),o.cM.debug("Size indata abc88",t.id,"childHeight",s,"maxHeight",a),o.cM.debug("Size indata abc88 xSize",h,"padding",X);for(const n of t.children)n.size&&(n.size.width=e,n.size.height=s,n.size.x=0,n.size.y=0)}if(o.cM.debug(`abc95 (finale calc) ${t.id} xSize ${h} ySize ${u} columns ${l}${t.children.length} width=${Math.max(d,t.size?.width||0)}`),d<(t?.size?.width||0)){d=t?.size?.width||0;const e=l>0?Math.min(t.children.length,l):t.children.length;if(e>0){const n=(d-e*X-X)/e;o.cM.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,n);for(const e of t.children)e.size&&(e.size.width=n)}}t.size={width:d,height:p,x:0,y:0}}o.cM.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function tt(t,e){o.cM.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const n=t.columns??-1;if(o.cM.debug("layoutBlocks columns abc95",t.id,"=>",n,t),t.children&&t.children.length>0){const r=t?.children[0]?.size?.width??0,i=t.children.length*r+(t.children.length-1)*X;o.cM.debug("widthOfChildren 88",i,"posX");let a=0;o.cM.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-X,l=0;for(const r of t.children){const i=t;if(!r.size)continue;const{width:c,height:h}=r.size,{px:u,py:d}=K(n,a);if(d!=l&&(l=d,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-X,o.cM.debug("New row in layout for block",t.id," and child ",r.id,l)),o.cM.debug(`abc89 layout blocks (child) id: ${r.id} Pos: ${a} (px, py) ${u},${d} (${i?.size?.x},${i?.size?.y}) parent: ${i.id} width: ${c}${X}`),i.size){const t=c/2;r.size.x=s+X+t,o.cM.debug(`abc91 layout blocks (calc) px, pyid:${r.id} startingPos=X${s} new startingPosX${r.size.x} ${t} padding=${X} width=${c} halfWidth=${t} => x:${r.size.x} y:${r.size.y} ${r.widthInColumns} (width * (child?.w || 1)) / 2 ${c*(r?.widthInColumns??1)/2}`),s=r.size.x+t,r.size.y=i.size.y-i.size.height/2+d*(h+X)+h/2+X,o.cM.debug(`abc88 layout blocks (calc) px, pyid:${r.id}startingPosX${s}${X}${t}=>x:${r.size.x}y:${r.size.y}${r.widthInColumns}(width * (child?.w || 1)) / 2${c*(r?.widthInColumns??1)/2}`)}r.children&&tt(r,e),a+=r?.widthInColumns??1,o.cM.debug("abc88 columnsPos",r,a)}}o.cM.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function et(t,{minX:e,minY:n,maxX:r,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&"root"!==t.id){const{x:a,y:s,width:o,height:l}=t.size;a-o/2<e&&(e=a-o/2),s-l/2<n&&(n=s-l/2),a+o/2>r&&(r=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:n,maxX:r,maxY:i}=et(a,{minX:e,minY:n,maxX:r,maxY:i}));return{minX:e,minY:n,maxX:r,maxY:i}}function nt(t){const e=t.getBlock("root");if(!e)return;J(e,t,0,0),tt(e,t),o.cM.debug("getBlocks",JSON.stringify(e,null,2));const{minX:n,minY:r,maxX:i,maxY:a}=et(e);return{x:n,y:r,width:i-n,height:a-r}}function rt(t,e){e&&t.attr("style",e)}function it(t){const e=(0,u.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=e.append("xhtml:div"),r=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=n.append("span");return a.html(r),rt(a,t.labelStyle),a.attr("class",i),rt(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}(0,o.eW)(J,"setBlockSizes"),(0,o.eW)(tt,"layoutBlocks"),(0,o.eW)(et,"findBounds"),(0,o.eW)(nt,"layout"),(0,o.eW)(rt,"applyStyle"),(0,o.eW)(it,"addHtmlLabel");var at=(0,o.eW)(((t,e,n,r)=>{let i=t||"";if("object"==typeof i&&(i=i[0]),(0,o.ku)((0,o.nV)().flowchart.htmlLabels))return i=i.replace(/\\n|\n/g,"<br />"),o.cM.debug("vertexText"+i),it({isNode:r,label:(0,a.EY)((0,s.SH)(i)),labelStyle:e.replace("fill:","color:")});{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let r=[];r="string"==typeof i?i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?i:[];for(const e of r){const r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),n?r.setAttribute("class","title-row"):r.setAttribute("class","row"),r.textContent=e.trim(),t.appendChild(r)}return t}}),"createLabel"),st=(0,o.eW)(((t,e,n,r,i)=>{e.arrowTypeStart&&lt(t,"start",e.arrowTypeStart,n,r,i),e.arrowTypeEnd&&lt(t,"end",e.arrowTypeEnd,n,r,i)}),"addEdgeMarkers"),ot={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},lt=(0,o.eW)(((t,e,n,r,i,a)=>{const s=ot[n];if(!s)return void o.cM.warn(`Unknown arrow type: ${n}`);const l="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${r}#${i}_${a}-${s}${l})`)}),"addEdgeMarker"),ct={},ht={},ut=(0,o.eW)(((t,e)=>{const n=(0,o.nV)(),r=(0,o.ku)(n.flowchart.htmlLabels),i="markdown"===e.labelType?(0,a.rw)(t,e.label,{style:e.labelStyle,useHtmlLabels:r,addSvgBackground:!0},n):at(e.label,e.labelStyle),s=t.insert("g").attr("class","edgeLabel"),l=s.insert("g").attr("class","label");l.node().appendChild(i);let c,h=i.getBBox();if(r){const t=i.children[0],e=(0,u.Ys)(i);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height)}if(l.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),ct[e.id]=s,e.width=h.width,e.height=h.height,e.startLabelLeft){const n=at(e.startLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");c=i.node().appendChild(n);const a=n.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),ht[e.id]||(ht[e.id]={}),ht[e.id].startLeft=r,dt(c,e.startLabelLeft)}if(e.startLabelRight){const n=at(e.startLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");c=r.node().appendChild(n),i.node().appendChild(n);const a=n.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),ht[e.id]||(ht[e.id]={}),ht[e.id].startRight=r,dt(c,e.startLabelRight)}if(e.endLabelLeft){const n=at(e.endLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");c=i.node().appendChild(n);const a=n.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),r.node().appendChild(n),ht[e.id]||(ht[e.id]={}),ht[e.id].endLeft=r,dt(c,e.endLabelLeft)}if(e.endLabelRight){const n=at(e.endLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner");c=i.node().appendChild(n);const a=n.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),r.node().appendChild(n),ht[e.id]||(ht[e.id]={}),ht[e.id].endRight=r,dt(c,e.endLabelRight)}return i}),"insertEdgeLabel");function dt(t,e){(0,o.nV)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,o.eW)(dt,"setTerminalWidth");var pt=(0,o.eW)(((t,e)=>{o.cM.debug("Moving label abc88 ",t.id,t.label,ct[t.id],e);let n=e.updatedPath?e.updatedPath:e.originalPath;const r=(0,o.nV)(),{subGraphTitleTotalMargin:a}=(0,i.L)(r);if(t.label){const r=ct[t.id];let i=t.x,l=t.y;if(n){const r=s.w8.calcLabelPosition(n);o.cM.debug("Moving label "+t.label+" from (",i,",",l,") to (",r.x,",",r.y,") abc88"),e.updatedPath&&(i=r.x,l=r.y)}r.attr("transform",`translate(${i}, ${l+a/2})`)}if(t.startLabelLeft){const e=ht[t.id].startLeft;let r=t.x,i=t.y;if(n){const e=s.w8.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.startLabelRight){const e=ht[t.id].startRight;let r=t.x,i=t.y;if(n){const e=s.w8.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelLeft){const e=ht[t.id].endLeft;let r=t.x,i=t.y;if(n){const e=s.w8.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelRight){const e=ht[t.id].endRight;let r=t.x,i=t.y;if(n){const e=s.w8.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}}),"positionEdgeLabel"),gt=(0,o.eW)(((t,e)=>{const n=t.x,r=t.y,i=Math.abs(e.x-n),a=Math.abs(e.y-r),s=t.width/2,o=t.height/2;return i>=s||a>=o}),"outsideNode"),ft=(0,o.eW)(((t,e,n)=>{o.cM.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(n)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const r=t.x,i=t.y,a=Math.abs(r-n.x),s=t.width/2;let l=n.x<e.x?s-a:s+a;const c=t.height/2,h=Math.abs(e.y-n.y),u=Math.abs(e.x-n.x);if(Math.abs(i-e.y)*s>Math.abs(r-e.x)*c){let t=n.y<e.y?e.y-c-i:i-c-e.y;l=u*t/h;const r={x:n.x<e.x?n.x+l:n.x-u+l,y:n.y<e.y?n.y+h-t:n.y-h+t};return 0===l&&(r.x=e.x,r.y=e.y),0===u&&(r.x=e.x),0===h&&(r.y=e.y),o.cM.debug(`abc89 topp/bott calc, Q ${h}, q ${t}, R ${u}, r ${l}`,r),r}{l=n.x<e.x?e.x-s-r:r-s-e.x;let t=h*l/u,i=n.x<e.x?n.x+u-l:n.x-u+l,a=n.y<e.y?n.y+t:n.y-t;return o.cM.debug(`sides calc abc89, Q ${h}, q ${t}, R ${u}, r ${l}`,{_x:i,_y:a}),0===l&&(i=e.x,a=e.y),0===u&&(i=e.x),0===h&&(a=e.y),{x:i,y:a}}}),"intersection"),mt=(0,o.eW)(((t,e)=>{o.cM.debug("abc88 cutPathAtIntersect",t,e);let n=[],r=t[0],i=!1;return t.forEach((t=>{if(gt(e,t)||i)r=t,i||n.push(t);else{const a=ft(e,r,t);let s=!1;n.forEach((t=>{s=s||t.x===a.x&&t.y===a.y})),n.some((t=>t.x===a.x&&t.y===a.y))||n.push(a),i=!0}})),n}),"cutPathAtIntersect"),yt=(0,o.eW)((function(t,e,n,i,a,s,l){let c=n.points;o.cM.debug("abc88 InsertEdge: edge=",n,"e=",e);let h=!1;const d=s.node(e.v);var p=s.node(e.w);p?.intersect&&d?.intersect&&(c=c.slice(1,n.points.length-1),c.unshift(d.intersect(c[0])),c.push(p.intersect(c[c.length-1]))),n.toCluster&&(o.cM.debug("to cluster abc88",i[n.toCluster]),c=mt(n.points,i[n.toCluster].node),h=!0),n.fromCluster&&(o.cM.debug("from cluster abc88",i[n.fromCluster]),c=mt(c.reverse(),i[n.fromCluster].node).reverse(),h=!0);const g=c.filter((t=>!Number.isNaN(t.y)));let f=u.$0Z;!n.curve||"graph"!==a&&"flowchart"!==a||(f=n.curve);const{x:m,y}=(0,r.o)(n),v=(0,u.jvg)().x(m).y(y).curve(f);let x;switch(n.thickness){case"normal":x="edge-thickness-normal";break;case"thick":case"invisible":x="edge-thickness-thick";break;default:x=""}switch(n.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed"}const b=t.append("path").attr("d",v(g)).attr("id",n.id).attr("class"," "+x+(n.classes?" "+n.classes:"")).attr("style",n.style);let w="";((0,o.nV)().flowchart.arrowMarkerAbsolute||(0,o.nV)().state.arrowMarkerAbsolute)&&(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,w=w.replace(/\(/g,"\\("),w=w.replace(/\)/g,"\\)")),st(b,n,w,l,a);let k={};return h&&(k.updatedPath=c),k.originalPath=n.points,k}),"insertEdge"),vt=(0,o.eW)((t=>{const e=new Set;for(const n of t)switch(n){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(n)}return e}),"expandAndDeduplicateDirections"),xt=(0,o.eW)(((t,e,n)=>{const r=vt(t),i=e.height+2*n.padding,a=i/2,s=e.width+2*a+n.padding,o=n.padding/2;return r.has("right")&&r.has("left")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:a,y:0},{x:s/2,y:2*o},{x:s-a,y:0},{x:s,y:0},{x:s,y:-i/3},{x:s+2*o,y:-i/2},{x:s,y:-2*i/3},{x:s,y:-i},{x:s-a,y:-i},{x:s/2,y:-i-2*o},{x:a,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*o,y:-i/2},{x:0,y:-i/3}]:r.has("right")&&r.has("left")&&r.has("up")?[{x:a,y:0},{x:s-a,y:0},{x:s,y:-i/2},{x:s-a,y:-i},{x:a,y:-i},{x:0,y:-i/2}]:r.has("right")&&r.has("left")&&r.has("down")?[{x:0,y:0},{x:a,y:-i},{x:s-a,y:-i},{x:s,y:0}]:r.has("right")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:s,y:-a},{x:s,y:-i+a},{x:0,y:-i}]:r.has("left")&&r.has("up")&&r.has("down")?[{x:s,y:0},{x:0,y:-a},{x:0,y:-i+a},{x:s,y:-i}]:r.has("right")&&r.has("left")?[{x:a,y:0},{x:a,y:-o},{x:s-a,y:-o},{x:s-a,y:0},{x:s,y:-i/2},{x:s-a,y:-i},{x:s-a,y:-i+o},{x:a,y:-i+o},{x:a,y:-i},{x:0,y:-i/2}]:r.has("up")&&r.has("down")?[{x:s/2,y:0},{x:0,y:-o},{x:a,y:-o},{x:a,y:-i+o},{x:0,y:-i+o},{x:s/2,y:-i},{x:s,y:-i+o},{x:s-a,y:-i+o},{x:s-a,y:-o},{x:s,y:-o}]:r.has("right")&&r.has("up")?[{x:0,y:0},{x:s,y:-a},{x:0,y:-i}]:r.has("right")&&r.has("down")?[{x:0,y:0},{x:s,y:0},{x:0,y:-i}]:r.has("left")&&r.has("up")?[{x:s,y:0},{x:0,y:-a},{x:s,y:-i}]:r.has("left")&&r.has("down")?[{x:s,y:0},{x:0,y:0},{x:s,y:-i}]:r.has("right")?[{x:a,y:-o},{x:a,y:-o},{x:s-a,y:-o},{x:s-a,y:0},{x:s,y:-i/2},{x:s-a,y:-i},{x:s-a,y:-i+o},{x:a,y:-i+o},{x:a,y:-i+o}]:r.has("left")?[{x:a,y:0},{x:a,y:-o},{x:s-a,y:-o},{x:s-a,y:-i+o},{x:a,y:-i+o},{x:a,y:-i},{x:0,y:-i/2}]:r.has("up")?[{x:a,y:-o},{x:a,y:-i+o},{x:0,y:-i+o},{x:s/2,y:-i},{x:s,y:-i+o},{x:s-a,y:-i+o},{x:s-a,y:-o}]:r.has("down")?[{x:s/2,y:0},{x:0,y:-o},{x:a,y:-o},{x:a,y:-i+o},{x:s-a,y:-i+o},{x:s-a,y:-o},{x:s,y:-o}]:[{x:0,y:0}]}),"getArrowPoints");function bt(t,e){return t.intersect(e)}(0,o.eW)(bt,"intersectNode");var wt=bt;function kt(t,e,n,r){var i=t.x,a=t.y,s=i-r.x,o=a-r.y,l=Math.sqrt(e*e*o*o+n*n*s*s),c=Math.abs(e*n*s/l);r.x<i&&(c=-c);var h=Math.abs(e*n*o/l);return r.y<a&&(h=-h),{x:i+c,y:a+h}}(0,o.eW)(kt,"intersectEllipse");var Tt=kt;function _t(t,e,n){return Tt(t,e,e,n)}(0,o.eW)(_t,"intersectCircle");var Et=_t;function St(t,e,n,r){var i,a,s,o,l,c,h,u,d,p,g,f,m;if(i=e.y-t.y,s=t.x-e.x,l=e.x*t.y-t.x*e.y,d=i*n.x+s*n.y+l,p=i*r.x+s*r.y+l,!(0!==d&&0!==p&&Ct(d,p)||(a=r.y-n.y,o=n.x-r.x,c=r.x*n.y-n.x*r.y,h=a*t.x+o*t.y+c,u=a*e.x+o*e.y+c,0!==h&&0!==u&&Ct(h,u)||0==(g=i*o-a*s))))return f=Math.abs(g/2),{x:(m=s*c-o*l)<0?(m-f)/g:(m+f)/g,y:(m=a*l-i*c)<0?(m-f)/g:(m+f)/g}}function Ct(t,e){return t*e>0}(0,o.eW)(St,"intersectLine"),(0,o.eW)(Ct,"sameSign");var At=St,Lt=Mt;function Mt(t,e,n){var r=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){s=Math.min(s,t.x),o=Math.min(o,t.y)})):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=r-t.width/2-s,c=i-t.height/2-o,h=0;h<e.length;h++){var u=e[h],d=e[h<e.length-1?h+1:0],p=At(t,n,{x:l+u.x,y:c+u.y},{x:l+d.x,y:c+d.y});p&&a.push(p)}return a.length?(a.length>1&&a.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),s=e.x-n.x,o=e.y-n.y,l=Math.sqrt(s*s+o*o);return a<l?-1:a===l?0:1})),a[0]):t}(0,o.eW)(Mt,"intersectPolygon");var Nt={node:wt,circle:Et,ellipse:Tt,polygon:Lt,rect:(0,o.eW)(((t,e)=>{var n,r,i=t.x,a=t.y,s=e.x-i,o=e.y-a,l=t.width/2,c=t.height/2;return Math.abs(o)*l>Math.abs(s)*c?(o<0&&(c=-c),n=0===o?0:c*s/o,r=c):(s<0&&(l=-l),n=l,r=0===s?0:l*o/s),{x:i+n,y:a+r}}),"intersectRect")},It=(0,o.eW)((async(t,e,n,r)=>{const i=(0,o.nV)();let l;const c=e.useHtmlLabels||(0,o.ku)(i.flowchart.htmlLabels);l=n||"node default";const h=t.insert("g").attr("class",l).attr("id",e.domId||e.id),d=h.insert("g").attr("class","label").attr("style",e.labelStyle);let p;p=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];const g=d.node();let f;f="markdown"===e.labelType?(0,a.rw)(d,(0,o.oO)((0,s.SH)(p),i),{useHtmlLabels:c,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):g.appendChild(at((0,o.oO)((0,s.SH)(p),i),e.labelStyle,!1,r));let m=f.getBBox();const y=e.padding/2;if((0,o.ku)(i.flowchart.htmlLabels)){const t=f.children[0],e=(0,u.Ys)(f),n=t.getElementsByTagName("img");if(n){const t=""===p.replace(/<img[^>]*>/g,"").trim();await Promise.all([...n].map((e=>new Promise((n=>{function r(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,n=5,r=parseInt(t,10)*n+"px";e.style.minWidth=r,e.style.maxWidth=r}else e.style.width="100%";n(e)}(0,o.eW)(r,"setupImage"),setTimeout((()=>{e.complete&&r()})),e.addEventListener("error",r),e.addEventListener("load",r)})))))}m=t.getBoundingClientRect(),e.attr("width",m.width),e.attr("height",m.height)}return c?d.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"):d.attr("transform","translate(0, "+-m.height/2+")"),e.centerLabel&&d.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"),d.insert("rect",":first-child"),{shapeSvg:h,bbox:m,halfPadding:y,label:d}}),"labelHelper"),Rt=(0,o.eW)(((t,e)=>{const n=e.node().getBBox();t.width=n.width,t.height=n.height}),"updateNodeBounds");function Dt(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+n/2+")")}(0,o.eW)(Dt,"insertPolygonShape");var Ot=(0,o.eW)((async(t,e)=>{e.useHtmlLabels||(0,o.nV)().flowchart.htmlLabels||(e.centerLabel=!0);const{shapeSvg:n,bbox:r,halfPadding:i}=await It(t,e,"node "+e.classes,!0);o.cM.info("Classes = ",e.classes);const a=n.insert("rect",":first-child");return a.attr("rx",e.rx).attr("ry",e.ry).attr("x",-r.width/2-i).attr("y",-r.height/2-i).attr("width",r.width+e.padding).attr("height",r.height+e.padding),Rt(e,a),e.intersect=function(t){return Nt.rect(e,t)},n}),"note"),Pt=(0,o.eW)((t=>t?" "+t:""),"formatClass"),$t=(0,o.eW)(((t,e)=>`${e||"node default"}${Pt(t.classes)} ${Pt(t.class)}`),"getClassesFromNode"),Bt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding+(r.height+e.padding),a=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];o.cM.info("Question main (Circle)");const s=Dt(n,i,i,a);return s.attr("style",e.style),Rt(e,s),e.intersect=function(t){return o.cM.warn("Intersect called"),Nt.polygon(e,a,t)},n}),"question"),Ft=(0,o.eW)(((t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return n.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return Nt.circle(e,14,t)},n}),"choice"),Wt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.height+e.padding,a=i/4,s=r.width+2*a+e.padding,o=[{x:a,y:0},{x:s-a,y:0},{x:s,y:-i/2},{x:s-a,y:-i},{x:a,y:-i},{x:0,y:-i/2}],l=Dt(n,s,i,o);return l.attr("style",e.style),Rt(e,l),e.intersect=function(t){return Nt.polygon(e,o,t)},n}),"hexagon"),zt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,void 0,!0),i=r.height+2*e.padding,a=i/2,s=r.width+2*a+e.padding,o=xt(e.directions,r,e),l=Dt(n,s,i,o);return l.attr("style",e.style),Rt(e,l),e.intersect=function(t){return Nt.polygon(e,o,t)},n}),"block_arrow"),Zt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Dt(n,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"rect_left_inv_arrow"),Yt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=Dt(n,i,a,s);return o.attr("style",e.style),Rt(e,o),e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"lean_right"),Ut=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=Dt(n,i,a,s);return o.attr("style",e.style),Rt(e,o),e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"lean_left"),Gt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=Dt(n,i,a,s);return o.attr("style",e.style),Rt(e,o),e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"trapezoid"),Vt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=Dt(n,i,a,s);return o.attr("style",e.style),Rt(e,o),e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"inv_trapezoid"),qt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=Dt(n,i,a,s);return o.attr("style",e.style),Rt(e,o),e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"rect_right_inv_arrow"),jt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=i/2,s=a/(2.5+i/50),o=r.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,c=n.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return Rt(e,c),e.intersect=function(t){const n=Nt.rect(e,t),r=n.x-e.x;if(0!=a&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(n.y-e.y)>e.height/2-s)){let i=s*s*(1-r*r/(a*a));0!=i&&(i=Math.sqrt(i)),i=s-i,t.y-e.y>0&&(i=-i),n.y+=i}return n},n}),"cylinder"),Ht=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r,halfPadding:i}=await It(t,e,"node "+e.classes+" "+e.class,!0),a=n.insert("rect",":first-child"),s=e.positioned?e.width:r.width+e.padding,l=e.positioned?e.height:r.height+e.padding,c=e.positioned?-s/2:-r.width/2-i,h=e.positioned?-l/2:-r.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",h).attr("width",s).attr("height",l),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(Qt(a,e.props.borders,s,l),t.delete("borders")),t.forEach((t=>{o.cM.warn(`Unknown node property ${t}`)}))}return Rt(e,a),e.intersect=function(t){return Nt.rect(e,t)},n}),"rect"),Xt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r,halfPadding:i}=await It(t,e,"node "+e.classes,!0),a=n.insert("rect",":first-child"),s=e.positioned?e.width:r.width+e.padding,l=e.positioned?e.height:r.height+e.padding,c=e.positioned?-s/2:-r.width/2-i,h=e.positioned?-l/2:-r.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",h).attr("width",s).attr("height",l),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(Qt(a,e.props.borders,s,l),t.delete("borders")),t.forEach((t=>{o.cM.warn(`Unknown node property ${t}`)}))}return Rt(e,a),e.intersect=function(t){return Nt.rect(e,t)},n}),"composite"),Kt=(0,o.eW)((async(t,e)=>{const{shapeSvg:n}=await It(t,e,"label",!0);o.cM.trace("Classes = ",e.class);const r=n.insert("rect",":first-child");if(r.attr("width",0).attr("height",0),n.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(Qt(r,e.props.borders,0,0),t.delete("borders")),t.forEach((t=>{o.cM.warn(`Unknown node property ${t}`)}))}return Rt(e,r),e.intersect=function(t){return Nt.rect(e,t)},n}),"labelRect");function Qt(t,e,n,r){const i=[],a=(0,o.eW)((t=>{i.push(t,0)}),"addBorder"),s=(0,o.eW)((t=>{i.push(0,t)}),"skipBorder");e.includes("t")?(o.cM.debug("add top border"),a(n)):s(n),e.includes("r")?(o.cM.debug("add right border"),a(r)):s(r),e.includes("b")?(o.cM.debug("add bottom border"),a(n)):s(n),e.includes("l")?(o.cM.debug("add left border"),a(r)):s(r),t.attr("stroke-dasharray",i.join(" "))}(0,o.eW)(Qt,"applyNodePropertyBorders");var Jt=(0,o.eW)(((t,e)=>{let n;n=e.classes?"node "+e.classes:"node default";const r=t.insert("g").attr("class",n).attr("id",e.domId||e.id),i=r.insert("rect",":first-child"),a=r.insert("line"),s=r.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText;let c="";c="object"==typeof l?l[0]:l,o.cM.info("Label text abc79",c,l,"object"==typeof l);const h=s.node().appendChild(at(c,e.labelStyle,!0,!0));let d={width:0,height:0};if((0,o.ku)((0,o.nV)().flowchart.htmlLabels)){const t=h.children[0],e=(0,u.Ys)(h);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}o.cM.info("Text 2",l);const p=l.slice(1,l.length);let g=h.getBBox();const f=s.node().appendChild(at(p.join?p.join("<br/>"):p,e.labelStyle,!0,!0));if((0,o.ku)((0,o.nV)().flowchart.htmlLabels)){const t=f.children[0],e=(0,u.Ys)(f);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}const m=e.padding/2;return(0,u.Ys)(f).attr("transform","translate( "+(d.width>g.width?0:(g.width-d.width)/2)+", "+(g.height+m+5)+")"),(0,u.Ys)(h).attr("transform","translate( "+(d.width<g.width?0:-(g.width-d.width)/2)+", 0)"),d=s.node().getBBox(),s.attr("transform","translate("+-d.width/2+", "+(-d.height/2-m+3)+")"),i.attr("class","outer title-state").attr("x",-d.width/2-m).attr("y",-d.height/2-m).attr("width",d.width+e.padding).attr("height",d.height+e.padding),a.attr("class","divider").attr("x1",-d.width/2-m).attr("x2",d.width/2+m).attr("y1",-d.height/2-m+g.height+m).attr("y2",-d.height/2-m+g.height+m),Rt(e,i),e.intersect=function(t){return Nt.rect(e,t)},r}),"rectWithTitle"),te=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.height+e.padding,a=r.width+i/4+e.padding,s=n.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return Rt(e,s),e.intersect=function(t){return Nt.rect(e,t)},n}),"stadium"),ee=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r,halfPadding:i}=await It(t,e,$t(e,void 0),!0),a=n.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+i).attr("width",r.width+e.padding).attr("height",r.height+e.padding),o.cM.info("Circle main"),Rt(e,a),e.intersect=function(t){return o.cM.info("Circle intersect",e,r.width/2+i,t),Nt.circle(e,r.width/2+i,t)},n}),"circle"),ne=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r,halfPadding:i}=await It(t,e,$t(e,void 0),!0),a=n.insert("g",":first-child"),s=a.insert("circle"),l=a.insert("circle");return a.attr("class",e.class),s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+i+5).attr("width",r.width+e.padding+10).attr("height",r.height+e.padding+10),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+i).attr("width",r.width+e.padding).attr("height",r.height+e.padding),o.cM.info("DoubleCircle main"),Rt(e,s),e.intersect=function(t){return o.cM.info("DoubleCircle intersect",e,r.width/2+i+5,t),Nt.circle(e,r.width/2+i+5,t)},n}),"doublecircle"),re=(0,o.eW)((async(t,e)=>{const{shapeSvg:n,bbox:r}=await It(t,e,$t(e,void 0),!0),i=r.width+e.padding,a=r.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=Dt(n,i,a,s);return o.attr("style",e.style),Rt(e,o),e.intersect=function(t){return Nt.polygon(e,s,t)},n}),"subroutine"),ie=(0,o.eW)(((t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Rt(e,r),e.intersect=function(t){return Nt.circle(e,7,t)},n}),"start"),ae=(0,o.eW)(((t,e,n)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;"LR"===n&&(i=10,a=70);const s=r.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return Rt(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return Nt.rect(e,t)},r}),"forkJoin"),se={rhombus:Bt,composite:Xt,question:Bt,rect:Ht,labelRect:Kt,rectWithTitle:Jt,choice:Ft,circle:ee,doublecircle:ne,stadium:te,hexagon:Wt,block_arrow:zt,rect_left_inv_arrow:Zt,lean_right:Yt,lean_left:Ut,trapezoid:Gt,inv_trapezoid:Vt,rect_right_inv_arrow:qt,cylinder:jt,start:ie,end:(0,o.eW)(((t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child"),i=n.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Rt(e,i),e.intersect=function(t){return Nt.circle(e,7,t)},n}),"end"),note:Ot,subroutine:re,fork:ae,join:ae,class_box:(0,o.eW)(((t,e)=>{const n=e.padding/2;let r;r=e.classes?"node "+e.classes:"node default";const i=t.insert("g").attr("class",r).attr("id",e.domId||e.id),a=i.insert("rect",":first-child"),s=i.insert("line"),l=i.insert("line");let c=0,h=4;const d=i.insert("g").attr("class","label");let p=0;const g=e.classData.annotations?.[0],f=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",m=d.node().appendChild(at(f,e.labelStyle,!0,!0));let y=m.getBBox();if((0,o.ku)((0,o.nV)().flowchart.htmlLabels)){const t=m.children[0],e=(0,u.Ys)(m);y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}e.classData.annotations[0]&&(h+=y.height+4,c+=y.width);let v=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,o.nV)().flowchart.htmlLabels?v+="&lt;"+e.classData.type+"&gt;":v+="<"+e.classData.type+">");const x=d.node().appendChild(at(v,e.labelStyle,!0,!0));(0,u.Ys)(x).attr("class","classTitle");let b=x.getBBox();if((0,o.ku)((0,o.nV)().flowchart.htmlLabels)){const t=x.children[0],e=(0,u.Ys)(x);b=t.getBoundingClientRect(),e.attr("width",b.width),e.attr("height",b.height)}h+=b.height+4,b.width>c&&(c=b.width);const w=[];e.classData.members.forEach((t=>{const n=t.getDisplayDetails();let r=n.displayText;(0,o.nV)().flowchart.htmlLabels&&(r=r.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const i=d.node().appendChild(at(r,n.cssStyle?n.cssStyle:e.labelStyle,!0,!0));let a=i.getBBox();if((0,o.ku)((0,o.nV)().flowchart.htmlLabels)){const t=i.children[0],e=(0,u.Ys)(i);a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}a.width>c&&(c=a.width),h+=a.height+4,w.push(i)})),h+=8;const k=[];if(e.classData.methods.forEach((t=>{const n=t.getDisplayDetails();let r=n.displayText;(0,o.nV)().flowchart.htmlLabels&&(r=r.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const i=d.node().appendChild(at(r,n.cssStyle?n.cssStyle:e.labelStyle,!0,!0));let a=i.getBBox();if((0,o.ku)((0,o.nV)().flowchart.htmlLabels)){const t=i.children[0],e=(0,u.Ys)(i);a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}a.width>c&&(c=a.width),h+=a.height+4,k.push(i)})),h+=8,g){let t=(c-y.width)/2;(0,u.Ys)(m).attr("transform","translate( "+(-1*c/2+t)+", "+-1*h/2+")"),p=y.height+4}let T=(c-b.width)/2;return(0,u.Ys)(x).attr("transform","translate( "+(-1*c/2+T)+", "+(-1*h/2+p)+")"),p+=b.height+4,s.attr("class","divider").attr("x1",-c/2-n).attr("x2",c/2+n).attr("y1",-h/2-n+8+p).attr("y2",-h/2-n+8+p),p+=8,w.forEach((t=>{(0,u.Ys)(t).attr("transform","translate( "+-c/2+", "+(-1*h/2+p+4)+")");const e=t?.getBBox();p+=(e?.height??0)+4})),p+=8,l.attr("class","divider").attr("x1",-c/2-n).attr("x2",c/2+n).attr("y1",-h/2-n+8+p).attr("y2",-h/2-n+8+p),p+=8,k.forEach((t=>{(0,u.Ys)(t).attr("transform","translate( "+-c/2+", "+(-1*h/2+p)+")");const e=t?.getBBox();p+=(e?.height??0)+4})),a.attr("style",e.style).attr("class","outer title-state").attr("x",-c/2-n).attr("y",-h/2-n).attr("width",c+e.padding).attr("height",h+e.padding),Rt(e,a),e.intersect=function(t){return Nt.rect(e,t)},i}),"class_box")},oe={},le=(0,o.eW)((async(t,e,n)=>{let r,i;if(e.link){let a;"sandbox"===(0,o.nV)().securityLevel?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await se[e.shape](r,e,n)}else i=await se[e.shape](t,e,n),r=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),oe[e.id]=r,e.haveCallback&&oe[e.id].attr("class",oe[e.id].attr("class")+" clickable"),r}),"insertNode"),ce=(0,o.eW)((t=>{const e=oe[t.id];o.cM.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n}),"positionNode");function he(t,e,n=!1){const r=t;let i="default";(r?.classes?.length||0)>0&&(i=(r?.classes??[]).join(" ")),i+=" flowchart-label";let a,l=0,c="";switch(r.type){case"round":l=5,c="rect";break;case"composite":l=0,c="composite",a=0;break;case"square":case"group":default:c="rect";break;case"diamond":c="question";break;case"hexagon":c="hexagon";break;case"block_arrow":c="block_arrow";break;case"odd":case"rect_left_inv_arrow":c="rect_left_inv_arrow";break;case"lean_right":c="lean_right";break;case"lean_left":c="lean_left";break;case"trapezoid":c="trapezoid";break;case"inv_trapezoid":c="inv_trapezoid";break;case"circle":c="circle";break;case"ellipse":c="ellipse";break;case"stadium":c="stadium";break;case"subroutine":c="subroutine";break;case"cylinder":c="cylinder";break;case"doublecircle":c="doublecircle"}const h=(0,s.be)(r?.styles??[]),u=r.label,d=r.size??{width:0,height:0,x:0,y:0};return{labelStyle:h.labelStyle,shape:c,labelText:u,rx:l,ry:l,class:i,style:h.style,id:r.id,directions:r.directions,width:d.width,height:d.height,x:d.x,y:d.y,positioned:n,intersect:void 0,type:r.type,padding:a??(0,o.iE)()?.block?.padding??0}}async function ue(t,e,n){const r=he(e,0,!1);if("group"===r.type)return;const i=(0,o.iE)(),a=await le(t,r,{config:i}),s=a.node().getBBox(),l=n.getBlock(r.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},n.setBlock(l),a.remove()}async function de(t,e,n){const r=he(e,0,!0);if("space"!==n.getBlock(r.id).type){const n=(0,o.iE)();await le(t,r,{config:n}),e.intersect=r?.intersect,ce(r)}}async function pe(t,e,n,r){for(const i of e)await r(t,i,n),i.children&&await pe(t,i.children,n,r)}async function ge(t,e,n){await pe(t,e,n,ue)}async function fe(t,e,n){await pe(t,e,n,de)}async function me(t,e,n,r,i){const a=new d.k({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const t of n)t.size&&a.setNode(t.id,{width:t.size.width,height:t.size.height,intersect:t.intersect});for(const n of e)if(n.start&&n.end){const e=r.getBlock(n.start),s=r.getBlock(n.end);if(e?.size&&s?.size){const r=e.size,o=s.size,l=[{x:r.x,y:r.y},{x:r.x+(o.x-r.x)/2,y:r.y+(o.y-r.y)/2},{x:o.x,y:o.y}];yt(t,{v:n.start,w:n.end,name:n.id},{...n,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),n.label&&(await ut(t,{...n,label:n.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),pt({...n,x:l[1].x,y:l[1].y},{originalPath:l}))}}}(0,o.eW)(he,"getNodeFromBlock"),(0,o.eW)(ue,"calculateBlockSize"),(0,o.eW)(de,"insertBlockPositioned"),(0,o.eW)(pe,"performOperations"),(0,o.eW)(ge,"calculateBlockSizes"),(0,o.eW)(fe,"insertBlocks"),(0,o.eW)(me,"insertEdges");var ye=(0,o.eW)((function(t,e){return e.db.getClasses()}),"getClasses"),ve={parser:g,db:U,renderer:{draw:(0,o.eW)((async function(t,e,n,r){const{securityLevel:i,block:a}=(0,o.iE)(),s=r.db;let l;"sandbox"===i&&(l=(0,u.Ys)("#i"+e));const c="sandbox"===i?(0,u.Ys)(l.nodes()[0].contentDocument.body):(0,u.Ys)("body"),h="sandbox"===i?c.select(`[id="${e}"]`):(0,u.Ys)(`[id="${e}"]`);H(h,["point","circle","cross"],r.type,e);const d=s.getBlocks(),p=s.getBlocksFlat(),g=s.getEdges(),f=h.insert("g").attr("class","block");await ge(f,d,s);const m=nt(s);if(await fe(f,d,s),await me(f,g,p,s,e),m){const t=m,e=Math.max(1,Math.round(t.width/t.height*.125)),n=t.height+e+10,r=t.width+10,{useMaxWidth:i}=a;(0,o.v2)(h,n,r,!!i),o.cM.debug("Here Bounds",m,t),h.attr("viewBox",`${t.x-5} ${t.y-5} ${t.width+10} ${t.height+10}`)}}),"draw"),getClasses:ye},styles:V}},8931:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>It});var r=n(279),i=n(7946),a=n(4082),s=n(3108),o=n(7967),l=function(){var t=(0,a.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,24],n=[1,25],r=[1,26],i=[1,27],s=[1,28],o=[1,63],l=[1,64],h=[1,65],u=[1,66],d=[1,67],p=[1,68],g=[1,69],f=[1,29],m=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],w=[1,35],k=[1,36],T=[1,37],_=[1,38],E=[1,39],S=[1,40],C=[1,41],A=[1,42],L=[1,43],M=[1,44],N=[1,45],I=[1,46],R=[1,47],D=[1,48],O=[1,50],P=[1,51],$=[1,52],B=[1,53],F=[1,54],W=[1,55],z=[1,56],Z=[1,57],Y=[1,58],U=[1,59],G=[1,60],V=[14,42],q=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],j=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],H=[1,82],X=[1,83],K=[1,84],Q=[1,85],J=[12,14,42],tt=[12,14,33,42],et=[12,14,33,42,76,77,79,80],nt=[12,33],rt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],it={trace:(0,a.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,a.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 3:r.setDirection("TB");break;case 4:r.setDirection("BT");break;case 5:r.setDirection("RL");break;case 6:r.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:r.setC4Type(a[o-3]);break;case 19:r.setTitle(a[o].substring(6)),this.$=a[o].substring(6);break;case 20:r.setAccDescription(a[o].substring(15)),this.$=a[o].substring(15);break;case 21:this.$=a[o].trim(),r.setTitle(this.$);break;case 22:case 23:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 28:a[o].splice(2,0,"ENTERPRISE"),r.addPersonOrSystemBoundary(...a[o]),this.$=a[o];break;case 29:a[o].splice(2,0,"SYSTEM"),r.addPersonOrSystemBoundary(...a[o]),this.$=a[o];break;case 30:r.addPersonOrSystemBoundary(...a[o]),this.$=a[o];break;case 31:a[o].splice(2,0,"CONTAINER"),r.addContainerBoundary(...a[o]),this.$=a[o];break;case 32:r.addDeploymentNode("node",...a[o]),this.$=a[o];break;case 33:r.addDeploymentNode("nodeL",...a[o]),this.$=a[o];break;case 34:r.addDeploymentNode("nodeR",...a[o]),this.$=a[o];break;case 35:r.popBoundaryParseStack();break;case 39:r.addPersonOrSystem("person",...a[o]),this.$=a[o];break;case 40:r.addPersonOrSystem("external_person",...a[o]),this.$=a[o];break;case 41:r.addPersonOrSystem("system",...a[o]),this.$=a[o];break;case 42:r.addPersonOrSystem("system_db",...a[o]),this.$=a[o];break;case 43:r.addPersonOrSystem("system_queue",...a[o]),this.$=a[o];break;case 44:r.addPersonOrSystem("external_system",...a[o]),this.$=a[o];break;case 45:r.addPersonOrSystem("external_system_db",...a[o]),this.$=a[o];break;case 46:r.addPersonOrSystem("external_system_queue",...a[o]),this.$=a[o];break;case 47:r.addContainer("container",...a[o]),this.$=a[o];break;case 48:r.addContainer("container_db",...a[o]),this.$=a[o];break;case 49:r.addContainer("container_queue",...a[o]),this.$=a[o];break;case 50:r.addContainer("external_container",...a[o]),this.$=a[o];break;case 51:r.addContainer("external_container_db",...a[o]),this.$=a[o];break;case 52:r.addContainer("external_container_queue",...a[o]),this.$=a[o];break;case 53:r.addComponent("component",...a[o]),this.$=a[o];break;case 54:r.addComponent("component_db",...a[o]),this.$=a[o];break;case 55:r.addComponent("component_queue",...a[o]),this.$=a[o];break;case 56:r.addComponent("external_component",...a[o]),this.$=a[o];break;case 57:r.addComponent("external_component_db",...a[o]),this.$=a[o];break;case 58:r.addComponent("external_component_queue",...a[o]),this.$=a[o];break;case 60:r.addRel("rel",...a[o]),this.$=a[o];break;case 61:r.addRel("birel",...a[o]),this.$=a[o];break;case 62:r.addRel("rel_u",...a[o]),this.$=a[o];break;case 63:r.addRel("rel_d",...a[o]),this.$=a[o];break;case 64:r.addRel("rel_l",...a[o]),this.$=a[o];break;case 65:r.addRel("rel_r",...a[o]),this.$=a[o];break;case 66:r.addRel("rel_b",...a[o]),this.$=a[o];break;case 67:a[o].splice(0,1),r.addRel("rel",...a[o]),this.$=a[o];break;case 68:r.updateElStyle("update_el_style",...a[o]),this.$=a[o];break;case 69:r.updateRelStyle("update_rel_style",...a[o]),this.$=a[o];break;case 70:r.updateLayoutConfig("update_layout_config",...a[o]),this.$=a[o];break;case 71:this.$=[a[o]];break;case 72:a[o].unshift(a[o-1]),this.$=a[o];break;case 73:case 75:this.$=a[o].trim();break;case 74:let t={};t[a[o-1].trim()]=a[o].trim(),this.$=t;break;case 76:this.$=""}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:n,24:r,26:i,28:s,29:49,30:61,32:62,34:o,36:l,37:h,38:u,39:d,40:p,41:g,43:23,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G},{13:70,19:20,20:21,21:22,22:e,23:n,24:r,26:i,28:s,29:49,30:61,32:62,34:o,36:l,37:h,38:u,39:d,40:p,41:g,43:23,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G},{13:71,19:20,20:21,21:22,22:e,23:n,24:r,26:i,28:s,29:49,30:61,32:62,34:o,36:l,37:h,38:u,39:d,40:p,41:g,43:23,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G},{13:72,19:20,20:21,21:22,22:e,23:n,24:r,26:i,28:s,29:49,30:61,32:62,34:o,36:l,37:h,38:u,39:d,40:p,41:g,43:23,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G},{13:73,19:20,20:21,21:22,22:e,23:n,24:r,26:i,28:s,29:49,30:61,32:62,34:o,36:l,37:h,38:u,39:d,40:p,41:g,43:23,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G},{14:[1,74]},t(V,[2,13],{43:23,29:49,30:61,32:62,20:75,34:o,36:l,37:h,38:u,39:d,40:p,41:g,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G}),t(V,[2,14]),t(q,[2,16],{12:[1,76]}),t(V,[2,36],{12:[1,77]}),t(j,[2,19]),t(j,[2,20]),{25:[1,78]},{27:[1,79]},t(j,[2,23]),{35:80,75:81,76:H,77:X,79:K,80:Q},{35:86,75:81,76:H,77:X,79:K,80:Q},{35:87,75:81,76:H,77:X,79:K,80:Q},{35:88,75:81,76:H,77:X,79:K,80:Q},{35:89,75:81,76:H,77:X,79:K,80:Q},{35:90,75:81,76:H,77:X,79:K,80:Q},{35:91,75:81,76:H,77:X,79:K,80:Q},{35:92,75:81,76:H,77:X,79:K,80:Q},{35:93,75:81,76:H,77:X,79:K,80:Q},{35:94,75:81,76:H,77:X,79:K,80:Q},{35:95,75:81,76:H,77:X,79:K,80:Q},{35:96,75:81,76:H,77:X,79:K,80:Q},{35:97,75:81,76:H,77:X,79:K,80:Q},{35:98,75:81,76:H,77:X,79:K,80:Q},{35:99,75:81,76:H,77:X,79:K,80:Q},{35:100,75:81,76:H,77:X,79:K,80:Q},{35:101,75:81,76:H,77:X,79:K,80:Q},{35:102,75:81,76:H,77:X,79:K,80:Q},{35:103,75:81,76:H,77:X,79:K,80:Q},{35:104,75:81,76:H,77:X,79:K,80:Q},t(J,[2,59]),{35:105,75:81,76:H,77:X,79:K,80:Q},{35:106,75:81,76:H,77:X,79:K,80:Q},{35:107,75:81,76:H,77:X,79:K,80:Q},{35:108,75:81,76:H,77:X,79:K,80:Q},{35:109,75:81,76:H,77:X,79:K,80:Q},{35:110,75:81,76:H,77:X,79:K,80:Q},{35:111,75:81,76:H,77:X,79:K,80:Q},{35:112,75:81,76:H,77:X,79:K,80:Q},{35:113,75:81,76:H,77:X,79:K,80:Q},{35:114,75:81,76:H,77:X,79:K,80:Q},{35:115,75:81,76:H,77:X,79:K,80:Q},{20:116,29:49,30:61,32:62,34:o,36:l,37:h,38:u,39:d,40:p,41:g,43:23,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G},{12:[1,118],33:[1,117]},{35:119,75:81,76:H,77:X,79:K,80:Q},{35:120,75:81,76:H,77:X,79:K,80:Q},{35:121,75:81,76:H,77:X,79:K,80:Q},{35:122,75:81,76:H,77:X,79:K,80:Q},{35:123,75:81,76:H,77:X,79:K,80:Q},{35:124,75:81,76:H,77:X,79:K,80:Q},{35:125,75:81,76:H,77:X,79:K,80:Q},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(V,[2,15]),t(q,[2,17],{21:22,19:130,22:e,23:n,24:r,26:i,28:s}),t(V,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:n,24:r,26:i,28:s,34:o,36:l,37:h,38:u,39:d,40:p,41:g,44:f,45:m,46:y,47:v,48:x,49:b,50:w,51:k,52:T,53:_,54:E,55:S,56:C,57:A,58:L,59:M,60:N,61:I,62:R,63:D,64:O,65:P,66:$,67:B,68:F,69:W,70:z,71:Z,72:Y,73:U,74:G}),t(j,[2,21]),t(j,[2,22]),t(J,[2,39]),t(tt,[2,71],{75:81,35:132,76:H,77:X,79:K,80:Q}),t(et,[2,73]),{78:[1,133]},t(et,[2,75]),t(et,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(nt,[2,28]),t(nt,[2,29]),t(nt,[2,30]),t(nt,[2,31]),t(nt,[2,32]),t(nt,[2,33]),t(nt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(q,[2,18]),t(V,[2,38]),t(tt,[2,72]),t(et,[2,74]),t(J,[2,24]),t(J,[2,35]),t(rt,[2,25]),t(rt,[2,26],{12:[1,138]}),t(rt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,a.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,a.eW)((function(t){var e=this,n=[0],r=[],i=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=s.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;s.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,s.length=s.length-t}),"popStack"),(0,a.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),s.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},y&&(A._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,s].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),s=s.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),s.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},at=function(){return{EOF:1,parseError:(0,a.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,a.eW)((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}),"setInput"),input:(0,a.eW)((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}),"input"),unput:(0,a.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,a.eW)((function(){return this._more=!0,this}),"more"),reject:(0,a.eW)((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})}),"reject"),less:(0,a.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,a.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,a.eW)((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,"")}),"upcomingInput"),showPosition:(0,a.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,a.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,a.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,a.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,a.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,a.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,a.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,a.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,a.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,a.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,a.eW)((function(t,e,n,r){switch(n){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}}),"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}}}();function st(){this.yy={}}return it.lexer=at,(0,a.eW)(st,"Parser"),st.prototype=it,it.Parser=st,new st}();l.parser=l;var h,u=l,d=[],p=[""],g="global",f="",m=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],y=[],v="",x=!1,b=4,w=2,k=(0,a.eW)((function(){return h}),"getC4Type"),T=(0,a.eW)((function(t){let e=(0,a.oO)(t,(0,a.nV)());h=e}),"setC4Type"),_=(0,a.eW)((function(t,e,n,r,i,a,s,o,l){if(null==t||null==e||null==n||null==r)return;let c={};const h=y.find((t=>t.from===e&&t.to===n));if(h?c=h:y.push(c),c.type=t,c.from=e,c.to=n,c.label={text:r},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(null==a)c.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];c[t]={text:e}}else c.descr={text:a};if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e}else c.sprite=s;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.tags=o;if("object"==typeof l){let[t,e]=Object.entries(l)[0];c[t]=e}else c.link=l;c.wrap=q()}),"addRel"),E=(0,a.eW)((function(t,e,n,r,i,a,s){if(null===e||null===n)return;let o={};const l=d.find((t=>t.alias===e));if(l&&e===l.alias?o=l:(o.alias=e,d.push(o)),o.label=null==n?{text:""}:{text:n},null==r)o.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]={text:e}}else o.descr={text:r};if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]=e}else o.sprite=i;if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=e}else o.tags=a;if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=g,o.wrap=q()}),"addPersonOrSystem"),S=(0,a.eW)((function(t,e,n,r,i,a,s,o){if(null===e||null===n)return;let l={};const c=d.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,d.push(l)),l.label=null==n?{text:""}:{text:n},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==i)l.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.sprite=a;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=q(),l.typeC4Shape={text:t},l.parentBoundary=g}),"addContainer"),C=(0,a.eW)((function(t,e,n,r,i,a,s,o){if(null===e||null===n)return;let l={};const c=d.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,d.push(l)),l.label=null==n?{text:""}:{text:n},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==i)l.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.sprite=a;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=q(),l.typeC4Shape={text:t},l.parentBoundary=g}),"addComponent"),A=(0,a.eW)((function(t,e,n,r,i){if(null===t||null===e)return;let a={};const s=m.find((e=>e.alias===t));if(s&&t===s.alias?a=s:(a.alias=t,m.push(a)),a.label=null==e?{text:""}:{text:e},null==n)a.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]={text:e}}else a.type={text:n};if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]=e}else a.tags=r;if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e}else a.link=i;a.parentBoundary=g,a.wrap=q(),f=g,g=t,p.push(f)}),"addPersonOrSystemBoundary"),L=(0,a.eW)((function(t,e,n,r,i){if(null===t||null===e)return;let a={};const s=m.find((e=>e.alias===t));if(s&&t===s.alias?a=s:(a.alias=t,m.push(a)),a.label=null==e?{text:""}:{text:e},null==n)a.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]={text:e}}else a.type={text:n};if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]=e}else a.tags=r;if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e}else a.link=i;a.parentBoundary=g,a.wrap=q(),f=g,g=t,p.push(f)}),"addContainerBoundary"),M=(0,a.eW)((function(t,e,n,r,i,a,s,o){if(null===e||null===n)return;let l={};const c=m.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,m.push(l)),l.label=null==n?{text:""}:{text:n},null==r)l.type={text:"node"};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.type={text:r};if(null==i)l.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.nodeType=t,l.parentBoundary=g,l.wrap=q(),f=g,g=e,p.push(f)}),"addDeploymentNode"),N=(0,a.eW)((function(){g=f,p.pop(),f=p.pop(),p.push(f)}),"popBoundaryParseStack"),I=(0,a.eW)((function(t,e,n,r,i,a,s,o,l,c,h){let u=d.find((t=>t.alias===e));if(void 0!==u||(u=m.find((t=>t.alias===e)),void 0!==u)){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];u[t]=e}else u.bgColor=n;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];u[t]=e}else u.fontColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];u[t]=e}else u.borderColor=i;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];u[t]=e}else u.shadowing=a;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];u[t]=e}else u.shape=s;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];u[t]=e}else u.sprite=o;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];u[t]=e}else u.techn=l;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];u[t]=e}else u.legendText=c;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];u[t]=e}else u.legendSprite=h}}),"updateElStyle"),R=(0,a.eW)((function(t,e,n,r,i,a,s){const o=y.find((t=>t.from===e&&t.to===n));if(void 0!==o){if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.textColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]=e}else o.lineColor=i;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=parseInt(e)}else o.offsetX=parseInt(a);if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=parseInt(e)}else o.offsetY=parseInt(s)}}),"updateRelStyle"),D=(0,a.eW)((function(t,e,n){let r=b,i=w;if("object"==typeof e){const t=Object.values(e)[0];r=parseInt(t)}else r=parseInt(e);if("object"==typeof n){const t=Object.values(n)[0];i=parseInt(t)}else i=parseInt(n);r>=1&&(b=r),i>=1&&(w=i)}),"updateLayoutConfig"),O=(0,a.eW)((function(){return b}),"getC4ShapeInRow"),P=(0,a.eW)((function(){return w}),"getC4BoundaryInRow"),$=(0,a.eW)((function(){return g}),"getCurrentBoundaryParse"),B=(0,a.eW)((function(){return f}),"getParentBoundaryParse"),F=(0,a.eW)((function(t){return null==t?d:d.filter((e=>e.parentBoundary===t))}),"getC4ShapeArray"),W=(0,a.eW)((function(t){return d.find((e=>e.alias===t))}),"getC4Shape"),z=(0,a.eW)((function(t){return Object.keys(F(t))}),"getC4ShapeKeys"),Z=(0,a.eW)((function(t){return null==t?m:m.filter((e=>e.parentBoundary===t))}),"getBoundaries"),Y=Z,U=(0,a.eW)((function(){return y}),"getRels"),G=(0,a.eW)((function(){return v}),"getTitle"),V=(0,a.eW)((function(t){x=t}),"setWrap"),q=(0,a.eW)((function(){return x}),"autoWrap"),j=(0,a.eW)((function(){d=[],m=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],f="",g="global",p=[""],y=[],p=[""],v="",x=!1,b=4,w=2}),"clear"),H=(0,a.eW)((function(t){let e=(0,a.oO)(t,(0,a.nV)());v=e}),"setTitle"),X={addPersonOrSystem:E,addPersonOrSystemBoundary:A,addContainer:S,addContainerBoundary:L,addComponent:C,addDeploymentNode:M,popBoundaryParseStack:N,addRel:_,updateElStyle:I,updateRelStyle:R,updateLayoutConfig:D,autoWrap:q,setWrap:V,getC4ShapeArray:F,getC4Shape:W,getC4ShapeKeys:z,getBoundaries:Z,getBoundarys:Y,getCurrentBoundaryParse:$,getParentBoundaryParse:B,getRels:U,getTitle:G,getC4Type:k,getC4ShapeInRow:O,getC4BoundaryInRow:P,setAccTitle:a.GN,getAccTitle:a.eu,getAccDescription:a.Mx,setAccDescription:a.U$,getConfig:(0,a.eW)((()=>(0,a.nV)().c4),"getConfig"),clear:j,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:H,setC4Type:T},K=(0,a.eW)((function(t,e){return(0,r.Mu)(t,e)}),"drawRect"),Q=(0,a.eW)((function(t,e,n,r,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",n),s.attr("x",r),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,o.N)(a);s.attr("xlink:href",l)}),"drawImage"),J=(0,a.eW)(((t,e,n)=>{const r=t.append("g");let i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",a=t.lineColor?t.lineColor:"#444444",s=t.offsetX?parseInt(t.offsetX):0,o=t.offsetY?parseInt(t.offsetY):0,l="";if(0===i){let e=r.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",a),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url("+l+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+l+"#arrowend)"),i=-1}else{let e=r.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",a).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url("+l+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+l+"#arrowend)")}let c=n.messageFont();ut(n)(t.label.text,r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+s,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+o,t.label.width,t.label.height,{fill:e},c),t.techn&&""!==t.techn.text&&(c=n.messageFont(),ut(n)("["+t.techn.text+"]",r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+s,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+n.messageFontSize+5+o,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},c))}}),"drawRels"),tt=(0,a.eW)((function(t,e,n){const r=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};K(r,l);let c=n.boundaryFont();c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=s,ut(n)(e.label.text,r,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},c),e.type&&""!==e.type.text&&(c=n.boundaryFont(),c.fontColor=s,ut(n)(e.type.text,r,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},c)),e.descr&&""!==e.descr.text&&(c=n.boundaryFont(),c.fontSize=c.fontSize-2,c.fontColor=s,ut(n)(e.descr.text,r,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},c))}),"drawBoundary"),et=(0,a.eW)((function(t,e,n){let i=e.bgColor?e.bgColor:n[e.typeC4Shape.text+"_bg_color"],a=e.borderColor?e.borderColor:n[e.typeC4Shape.text+"_border_color"],s=e.fontColor?e.fontColor:"#FFFFFF",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}const l=t.append("g");l.attr("class","person-man");const c=(0,r.kc)();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":c.x=e.x,c.y=e.y,c.fill=i,c.width=e.width,c.height=e.height,c.stroke=a,c.rx=2.5,c.ry=2.5,c.attrs={"stroke-width":.5},K(l,c);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let h=ht(n,e.typeC4Shape.text);switch(l.append("text").attr("fill",s).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Q(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,o)}let u=n[e.typeC4Shape.text+"Font"]();return u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,ut(n)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:s},u),u=n[e.typeC4Shape.text+"Font"](),u.fontColor=s,e.techn&&""!==e.techn?.text?ut(n)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:s,"font-style":"italic"},u):e.type&&""!==e.type.text&&ut(n)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:s,"font-style":"italic"},u),e.descr&&""!==e.descr.text&&(u=n.personFont(),u.fontColor=s,ut(n)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:s},u)),e.height}),"drawC4Shape"),nt=(0,a.eW)((function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}),"insertDatabaseIcon"),rt=(0,a.eW)((function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")}),"insertComputerIcon"),it=(0,a.eW)((function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}),"insertClockIcon"),at=(0,a.eW)((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")}),"insertArrowHead"),st=(0,a.eW)((function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")}),"insertArrowEnd"),ot=(0,a.eW)((function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertArrowFilledHead"),lt=(0,a.eW)((function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)}),"insertDynamicNumber"),ct=(0,a.eW)((function(t){const e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")}),"insertArrowCrossHead"),ht=(0,a.eW)(((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]})),"getC4ShapeFont"),ut=function(){function t(t,e,n,i,a,s,o){r(e.append("text").attr("x",n+a/2).attr("y",i+s/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,n,i,s,o,l,c){const{fontSize:h,fontFamily:u,fontWeight:d}=c,p=t.split(a.SY.lineBreakRegex);for(let t=0;t<p.length;t++){const a=t*h-h*(p.length-1)/2,o=e.append("text").attr("x",n+s/2).attr("y",i).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",h).style("font-weight",d).style("font-family",u);o.append("tspan").attr("dy",a).text(p[t]).attr("alignment-baseline","mathematical"),r(o,l)}}function n(t,n,i,a,s,o,l,c){const h=n.append("switch"),u=h.append("foreignObject").attr("x",i).attr("y",a).attr("width",s).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,i,a,s,0,l,c),r(u,l)}function r(t,e){for(const n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,a.eW)(t,"byText"),(0,a.eW)(e,"byTspan"),(0,a.eW)(n,"byFo"),(0,a.eW)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}(),dt={drawRect:K,drawBoundary:tt,drawC4Shape:et,drawRels:J,drawImage:Q,insertArrowHead:at,insertArrowEnd:st,insertArrowFilledHead:ot,insertDynamicNumber:lt,insertArrowCrossHead:ct,insertDatabaseIcon:nt,insertComputerIcon:rt,insertClockIcon:it},pt=0,gt=0,ft=4,mt=2;l.yy=X;var yt={},vt=class{static{(0,a.eW)(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,xt(t.db.getConfig())}setData(t,e,n,r){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=r}updateVal(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,n=e+t.width,r=this.nextData.starty+2*t.margin,i=r+t.height;(e>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>ft)&&(e=this.nextData.startx+t.margin+yt.nextLinePaddingX,r=this.nextData.stopy+2*t.margin,this.nextData.stopx=n=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=r+t.height,this.nextData.cnt=1),t.x=e,t.y=r,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",r,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",r,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},xt(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},xt=(0,a.eW)((function(t){(0,a.Yc)(yt,t),t.fontFamily&&(yt.personFontFamily=yt.systemFontFamily=yt.messageFontFamily=t.fontFamily),t.fontSize&&(yt.personFontSize=yt.systemFontSize=yt.messageFontSize=t.fontSize),t.fontWeight&&(yt.personFontWeight=yt.systemFontWeight=yt.messageFontWeight=t.fontWeight)}),"setConf"),bt=(0,a.eW)(((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]})),"c4ShapeFont"),wt=(0,a.eW)((t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight})),"boundaryFont"),kt=(0,a.eW)((t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight})),"messageFont");function Tt(t,e,n,r,s){if(!e[t].width)if(n)e[t].text=(0,i.X4)(e[t].text,s,r),e[t].textLines=e[t].text.split(a.SY.lineBreakRegex).length,e[t].width=s,e[t].height=(0,i.XD)(e[t].text,r);else{let n=e[t].text.split(a.SY.lineBreakRegex);e[t].textLines=n.length;let s=0;e[t].height=0,e[t].width=0;for(const a of n)e[t].width=Math.max((0,i.Cq)(a,r),e[t].width),s=(0,i.XD)(a,r),e[t].height=e[t].height+s}}(0,a.eW)(Tt,"calcC4ShapeTextWH");var _t=(0,a.eW)((function(t,e,n){e.x=n.data.startx,e.y=n.data.starty,e.width=n.data.stopx-n.data.startx,e.height=n.data.stopy-n.data.starty,e.label.y=yt.c4ShapeMargin-35;let r=e.wrap&&yt.wrap,a=wt(yt);a.fontSize=a.fontSize+2,a.fontWeight="bold",Tt("label",e,r,a,(0,i.Cq)(e.label.text,a)),dt.drawBoundary(t,e,yt)}),"drawBoundary"),Et=(0,a.eW)((function(t,e,n,r){let a=0;for(const s of r){a=0;const r=n[s];let o=bt(yt,r.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,r.typeC4Shape.width=(0,i.Cq)("«"+r.typeC4Shape.text+"»",o),r.typeC4Shape.height=o.fontSize+2,r.typeC4Shape.Y=yt.c4ShapePadding,a=r.typeC4Shape.Y+r.typeC4Shape.height-4,r.image={width:0,height:0,Y:0},r.typeC4Shape.text){case"person":case"external_person":r.image.width=48,r.image.height=48,r.image.Y=a,a=r.image.Y+r.image.height}r.sprite&&(r.image.width=48,r.image.height=48,r.image.Y=a,a=r.image.Y+r.image.height);let l=r.wrap&&yt.wrap,c=yt.width-2*yt.c4ShapePadding,h=bt(yt,r.typeC4Shape.text);h.fontSize=h.fontSize+2,h.fontWeight="bold",Tt("label",r,l,h,c),r.label.Y=a+8,a=r.label.Y+r.label.height,r.type&&""!==r.type.text?(r.type.text="["+r.type.text+"]",Tt("type",r,l,bt(yt,r.typeC4Shape.text),c),r.type.Y=a+5,a=r.type.Y+r.type.height):r.techn&&""!==r.techn.text&&(r.techn.text="["+r.techn.text+"]",Tt("techn",r,l,bt(yt,r.techn.text),c),r.techn.Y=a+5,a=r.techn.Y+r.techn.height);let u=a,d=r.label.width;r.descr&&""!==r.descr.text&&(Tt("descr",r,l,bt(yt,r.typeC4Shape.text),c),r.descr.Y=a+20,a=r.descr.Y+r.descr.height,d=Math.max(r.label.width,r.descr.width),u=a-5*r.descr.textLines),d+=yt.c4ShapePadding,r.width=Math.max(r.width||yt.width,d,yt.width),r.height=Math.max(r.height||yt.height,u,yt.height),r.margin=r.margin||yt.c4ShapeMargin,t.insert(r),dt.drawC4Shape(e,r,yt)}t.bumpLastMargin(yt.c4ShapeMargin)}),"drawC4ShapeArray"),St=class{static{(0,a.eW)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},Ct=(0,a.eW)((function(t,e){let n=t.x,r=t.y,i=e.x,a=e.y,s=n+t.width/2,o=r+t.height/2,l=Math.abs(n-i),c=Math.abs(r-a),h=c/l,u=t.height/t.width,d=null;return r==a&&n<i?d=new St(n+t.width,o):r==a&&n>i?d=new St(n,o):n==i&&r<a?d=new St(s,r+t.height):n==i&&r>a&&(d=new St(s,r)),n>i&&r<a?d=u>=h?new St(n,o+h*t.width/2):new St(s-l/c*t.height/2,r+t.height):n<i&&r<a?d=u>=h?new St(n+t.width,o+h*t.width/2):new St(s+l/c*t.height/2,r+t.height):n<i&&r>a?d=u>=h?new St(n+t.width,o-h*t.width/2):new St(s+t.height/2*l/c,r):n>i&&r>a&&(d=u>=h?new St(n,o-t.width/2*h):new St(s-t.height/2*l/c,r)),d}),"getIntersectPoint"),At=(0,a.eW)((function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let r=Ct(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:r,endPoint:Ct(e,n)}}),"getIntersectPoints"),Lt=(0,a.eW)((function(t,e,n,r){let a=0;for(let t of e){a+=1;let e=t.wrap&&yt.wrap,s=kt(yt);"C4Dynamic"===r.db.getC4Type()&&(t.label.text=a+": "+t.label.text);let o=(0,i.Cq)(t.label.text,s);Tt("label",t,e,s,o),t.techn&&""!==t.techn.text&&(o=(0,i.Cq)(t.techn.text,s),Tt("techn",t,e,s,o)),t.descr&&""!==t.descr.text&&(o=(0,i.Cq)(t.descr.text,s),Tt("descr",t,e,s,o));let l=n(t.from),c=n(t.to),h=At(l,c);t.startPoint=h.startPoint,t.endPoint=h.endPoint}dt.drawRels(t,e,yt)}),"drawRels");function Mt(t,e,n,r,i){let a=new vt(i);a.data.widthLimit=n.data.widthLimit/Math.min(mt,r.length);for(let[s,o]of r.entries()){let r=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=r,r=o.image.Y+o.image.height);let l=o.wrap&&yt.wrap,c=wt(yt);if(c.fontSize=c.fontSize+2,c.fontWeight="bold",Tt("label",o,l,c,a.data.widthLimit),o.label.Y=r+8,r=o.label.Y+o.label.height,o.type&&""!==o.type.text&&(o.type.text="["+o.type.text+"]",Tt("type",o,l,wt(yt),a.data.widthLimit),o.type.Y=r+5,r=o.type.Y+o.type.height),o.descr&&""!==o.descr.text){let t=wt(yt);t.fontSize=t.fontSize-2,Tt("descr",o,l,t,a.data.widthLimit),o.descr.Y=r+20,r=o.descr.Y+o.descr.height}if(0==s||s%mt==0){let t=n.data.startx+yt.diagramMarginX,e=n.data.stopy+yt.diagramMarginY+r;a.setData(t,t,e,e)}else{let t=a.data.stopx!==a.data.startx?a.data.stopx+yt.diagramMarginX:a.data.startx,e=a.data.starty;a.setData(t,t,e,e)}a.name=o.alias;let h=i.db.getC4ShapeArray(o.alias),u=i.db.getC4ShapeKeys(o.alias);u.length>0&&Et(a,t,h,u),e=o.alias;let d=i.db.getBoundarys(e);d.length>0&&Mt(t,e,a,d,i),"global"!==o.alias&&_t(t,o,a),n.data.stopy=Math.max(a.data.stopy+yt.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(a.data.stopx+yt.c4ShapeMargin,n.data.stopx),pt=Math.max(pt,n.data.stopx),gt=Math.max(gt,n.data.stopy)}}(0,a.eW)(Mt,"drawInsideBoundary");var Nt={drawPersonOrSystemArray:Et,drawBoundary:_t,setConf:xt,draw:(0,a.eW)((function(t,e,n,r){yt=(0,a.nV)().c4;const i=(0,a.nV)().securityLevel;let o;"sandbox"===i&&(o=(0,s.Ys)("#i"+e));const l="sandbox"===i?(0,s.Ys)(o.nodes()[0].contentDocument.body):(0,s.Ys)("body");let c=r.db;r.db.setWrap(yt.wrap),ft=c.getC4ShapeInRow(),mt=c.getC4BoundaryInRow(),a.cM.debug(`C:${JSON.stringify(yt,null,2)}`);const h="sandbox"===i?l.select(`[id="${e}"]`):(0,s.Ys)(`[id="${e}"]`);dt.insertComputerIcon(h),dt.insertDatabaseIcon(h),dt.insertClockIcon(h);let u=new vt(r);u.setData(yt.diagramMarginX,yt.diagramMarginX,yt.diagramMarginY,yt.diagramMarginY),u.data.widthLimit=screen.availWidth,pt=yt.diagramMarginX,gt=yt.diagramMarginY;const d=r.db.getTitle();Mt(h,"",u,r.db.getBoundarys(""),r),dt.insertArrowHead(h),dt.insertArrowEnd(h),dt.insertArrowCrossHead(h),dt.insertArrowFilledHead(h),Lt(h,r.db.getRels(),r.db.getC4Shape,r),u.data.stopx=pt,u.data.stopy=gt;const p=u.data;let g=p.stopy-p.starty+2*yt.diagramMarginY;const f=p.stopx-p.startx+2*yt.diagramMarginX;d&&h.append("text").text(d).attr("x",(p.stopx-p.startx)/2-4*yt.diagramMarginX).attr("y",p.starty+yt.diagramMarginY),(0,a.v2)(h,g,f,yt.useMaxWidth);const m=d?60:0;h.attr("viewBox",p.startx-yt.diagramMarginX+" -"+(yt.diagramMarginY+m)+" "+f+" "+(g+m)),a.cM.debug("models:",p)}),"draw")},It={parser:u,db:X,renderer:Nt,styles:(0,a.eW)((t=>`.person {\n stroke: ${t.personBorder};\n fill: ${t.personBkg};\n }\n`),"getStyles"),init:(0,a.eW)((({c4:t,wrap:e})=>{Nt.setConf(t),X.setWrap(e)}),"init")}},1957:(t,e,n)=>{"use strict";function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}n.d(e,{A:()=>r}),(0,n(4082).eW)(r,"populateCommonDb")},2926:(t,e,n)=>{"use strict";n.d(e,{X:()=>r});var r={name:"mermaid",version:"11.6.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.4",katex:"^0.16.9",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^15.0.7",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",chokidar:"^4.0.3",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.0.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}},9241:(t,e,n)=>{"use strict";n.d(e,{A:()=>Fn,z:()=>Wn});var r=n(4082);function i(t){return null==t}function a(t){return"object"==typeof t&&null!==t}function s(t){return Array.isArray(t)?t:i(t)?[]:[t]}function o(t,e){var n,r,i,a;if(e)for(n=0,r=(a=Object.keys(e)).length;n<r;n+=1)t[i=a[n]]=e[i];return t}function l(t,e){var n,r="";for(n=0;n<e;n+=1)r+=t;return r}function c(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t}(0,r.eW)(i,"isNothing"),(0,r.eW)(a,"isObject"),(0,r.eW)(s,"toArray"),(0,r.eW)(o,"extend"),(0,r.eW)(l,"repeat"),(0,r.eW)(c,"isNegativeZero");var h={isNothing:i,isObject:a,toArray:s,repeat:l,isNegativeZero:c,extend:o};function u(t,e){var n="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(n+='in "'+t.mark.name+'" '),n+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(n+="\n\n"+t.mark.snippet),r+" "+n):r}function d(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=u(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}(0,r.eW)(u,"formatError"),(0,r.eW)(d,"YAMLException$1"),d.prototype=Object.create(Error.prototype),d.prototype.constructor=d,d.prototype.toString=(0,r.eW)((function(t){return this.name+": "+u(this,t)}),"toString");var p=d;function g(t,e,n,r,i){var a="",s="",o=Math.floor(i/2)-1;return r-e>o&&(e=r-o+(a=" ... ").length),n-r>o&&(n=r+o-(s=" ...").length),{str:a+t.slice(e,n).replace(/\t/g,"→")+s,pos:r-e+a.length}}function f(t,e){return h.repeat(" ",e-t.length)+t}function m(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var n,r=/\r?\n|\r|\0/g,i=[0],a=[],s=-1;n=r.exec(t.buffer);)a.push(n.index),i.push(n.index+n[0].length),t.position<=n.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var o,l,c="",u=Math.min(t.line+e.linesAfter,a.length).toString().length,d=e.maxLength-(e.indent+u+3);for(o=1;o<=e.linesBefore&&!(s-o<0);o++)l=g(t.buffer,i[s-o],a[s-o],t.position-(i[s]-i[s-o]),d),c=h.repeat(" ",e.indent)+f((t.line-o+1).toString(),u)+" | "+l.str+"\n"+c;for(l=g(t.buffer,i[s],a[s],t.position,d),c+=h.repeat(" ",e.indent)+f((t.line+1).toString(),u)+" | "+l.str+"\n",c+=h.repeat("-",e.indent+u+3+l.pos)+"^\n",o=1;o<=e.linesAfter&&!(s+o>=a.length);o++)l=g(t.buffer,i[s+o],a[s+o],t.position-(i[s]-i[s+o]),d),c+=h.repeat(" ",e.indent)+f((t.line+o+1).toString(),u)+" | "+l.str+"\n";return c.replace(/\n$/,"")}(0,r.eW)(g,"getLine"),(0,r.eW)(f,"padStart"),(0,r.eW)(m,"makeSnippet");var y=m,v=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],x=["scalar","sequence","mapping"];function b(t){var e={};return null!==t&&Object.keys(t).forEach((function(n){t[n].forEach((function(t){e[String(t)]=n}))})),e}function w(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===v.indexOf(e))throw new p('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=b(e.styleAliases||null),-1===x.indexOf(this.kind))throw new p('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}(0,r.eW)(b,"compileStyleAliases"),(0,r.eW)(w,"Type$1");var k=w;function T(t,e){var n=[];return t[e].forEach((function(t){var e=n.length;n.forEach((function(n,r){n.tag===t.tag&&n.kind===t.kind&&n.multi===t.multi&&(e=r)})),n[e]=t})),n}function _(){var t,e,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(n.multi[t.kind].push(t),n.multi.fallback.push(t)):n[t.kind][t.tag]=n.fallback[t.tag]=t}for((0,r.eW)(i,"collectType"),t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(i);return n}function E(t){return this.extend(t)}(0,r.eW)(T,"compileList"),(0,r.eW)(_,"compileMap"),(0,r.eW)(E,"Schema$1"),E.prototype.extend=(0,r.eW)((function(t){var e=[],n=[];if(t instanceof k)n.push(t);else if(Array.isArray(t))n=n.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new p("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(n=n.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof k))throw new p("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new p("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new p("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(t){if(!(t instanceof k))throw new p("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var r=Object.create(E.prototype);return r.implicit=(this.implicit||[]).concat(e),r.explicit=(this.explicit||[]).concat(n),r.compiledImplicit=T(r,"implicit"),r.compiledExplicit=T(r,"explicit"),r.compiledTypeMap=_(r.compiledImplicit,r.compiledExplicit),r}),"extend");var S=new E({explicit:[new k("tag:yaml.org,2002:str",{kind:"scalar",construct:(0,r.eW)((function(t){return null!==t?t:""}),"construct")}),new k("tag:yaml.org,2002:seq",{kind:"sequence",construct:(0,r.eW)((function(t){return null!==t?t:[]}),"construct")}),new k("tag:yaml.org,2002:map",{kind:"mapping",construct:(0,r.eW)((function(t){return null!==t?t:{}}),"construct")})]});function C(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function A(){return null}function L(t){return null===t}(0,r.eW)(C,"resolveYamlNull"),(0,r.eW)(A,"constructYamlNull"),(0,r.eW)(L,"isNull");var M=new k("tag:yaml.org,2002:null",{kind:"scalar",resolve:C,construct:A,predicate:L,represent:{canonical:(0,r.eW)((function(){return"~"}),"canonical"),lowercase:(0,r.eW)((function(){return"null"}),"lowercase"),uppercase:(0,r.eW)((function(){return"NULL"}),"uppercase"),camelcase:(0,r.eW)((function(){return"Null"}),"camelcase"),empty:(0,r.eW)((function(){return""}),"empty")},defaultStyle:"lowercase"});function N(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function I(t){return"true"===t||"True"===t||"TRUE"===t}function R(t){return"[object Boolean]"===Object.prototype.toString.call(t)}(0,r.eW)(N,"resolveYamlBoolean"),(0,r.eW)(I,"constructYamlBoolean"),(0,r.eW)(R,"isBoolean");var D=new k("tag:yaml.org,2002:bool",{kind:"scalar",resolve:N,construct:I,predicate:R,represent:{lowercase:(0,r.eW)((function(t){return t?"true":"false"}),"lowercase"),uppercase:(0,r.eW)((function(t){return t?"TRUE":"FALSE"}),"uppercase"),camelcase:(0,r.eW)((function(t){return t?"True":"False"}),"camelcase")},defaultStyle:"lowercase"});function O(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function P(t){return 48<=t&&t<=55}function $(t){return 48<=t&&t<=57}function B(t){if(null===t)return!1;var e,n=t.length,r=0,i=!1;if(!n)return!1;if("-"!==(e=t[r])&&"+"!==e||(e=t[++r]),"0"===e){if(r+1===n)return!0;if("b"===(e=t[++r])){for(r++;r<n;r++)if("_"!==(e=t[r])){if("0"!==e&&"1"!==e)return!1;i=!0}return i&&"_"!==e}if("x"===e){for(r++;r<n;r++)if("_"!==(e=t[r])){if(!O(t.charCodeAt(r)))return!1;i=!0}return i&&"_"!==e}if("o"===e){for(r++;r<n;r++)if("_"!==(e=t[r])){if(!P(t.charCodeAt(r)))return!1;i=!0}return i&&"_"!==e}}if("_"===e)return!1;for(;r<n;r++)if("_"!==(e=t[r])){if(!$(t.charCodeAt(r)))return!1;i=!0}return!(!i||"_"===e)}function F(t){var e,n=t,r=1;if(-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),"-"!==(e=n[0])&&"+"!==e||("-"===e&&(r=-1),e=(n=n.slice(1))[0]),"0"===n)return 0;if("0"===e){if("b"===n[1])return r*parseInt(n.slice(2),2);if("x"===n[1])return r*parseInt(n.slice(2),16);if("o"===n[1])return r*parseInt(n.slice(2),8)}return r*parseInt(n,10)}function W(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!h.isNegativeZero(t)}(0,r.eW)(O,"isHexCode"),(0,r.eW)(P,"isOctCode"),(0,r.eW)($,"isDecCode"),(0,r.eW)(B,"resolveYamlInteger"),(0,r.eW)(F,"constructYamlInteger"),(0,r.eW)(W,"isInteger");var z=new k("tag:yaml.org,2002:int",{kind:"scalar",resolve:B,construct:F,predicate:W,represent:{binary:(0,r.eW)((function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)}),"binary"),octal:(0,r.eW)((function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)}),"octal"),decimal:(0,r.eW)((function(t){return t.toString(10)}),"decimal"),hexadecimal:(0,r.eW)((function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}),"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Z=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Y(t){return null!==t&&!(!Z.test(t)||"_"===t[t.length-1])}function U(t){var e,n;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:n*parseFloat(e,10)}(0,r.eW)(Y,"resolveYamlFloat"),(0,r.eW)(U,"constructYamlFloat");var G=/^[-+]?[0-9]+e/;function V(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(h.isNegativeZero(t))return"-0.0";return n=t.toString(10),G.test(n)?n.replace("e",".e"):n}function q(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||h.isNegativeZero(t))}(0,r.eW)(V,"representYamlFloat"),(0,r.eW)(q,"isFloat");var j=new k("tag:yaml.org,2002:float",{kind:"scalar",resolve:Y,construct:U,predicate:q,represent:V,defaultStyle:"lowercase"}),H=S.extend({implicit:[M,D,z,j]}),X=H,K=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Q=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function J(t){return null!==t&&(null!==K.exec(t)||null!==Q.exec(t))}function tt(t){var e,n,r,i,a,s,o,l,c=0,h=null;if(null===(e=K.exec(t))&&(e=Q.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],r=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(n,r,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),l=new Date(Date.UTC(n,r,i,a,s,o,c)),h&&l.setTime(l.getTime()-h),l}function et(t){return t.toISOString()}(0,r.eW)(J,"resolveYamlTimestamp"),(0,r.eW)(tt,"constructYamlTimestamp"),(0,r.eW)(et,"representYamlTimestamp");var nt=new k("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:tt,instanceOf:Date,represent:et});function rt(t){return"<<"===t||null===t}(0,r.eW)(rt,"resolveYamlMerge");var it=new k("tag:yaml.org,2002:merge",{kind:"scalar",resolve:rt}),at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function st(t){if(null===t)return!1;var e,n,r=0,i=t.length,a=at;for(n=0;n<i;n++)if(!((e=a.indexOf(t.charAt(n)))>64)){if(e<0)return!1;r+=6}return r%8==0}function ot(t){var e,n,r=t.replace(/[\r\n=]/g,""),i=r.length,a=at,s=0,o=[];for(e=0;e<i;e++)e%4==0&&e&&(o.push(s>>16&255),o.push(s>>8&255),o.push(255&s)),s=s<<6|a.indexOf(r.charAt(e));return 0==(n=i%4*6)?(o.push(s>>16&255),o.push(s>>8&255),o.push(255&s)):18===n?(o.push(s>>10&255),o.push(s>>2&255)):12===n&&o.push(s>>4&255),new Uint8Array(o)}function lt(t){var e,n,r="",i=0,a=t.length,s=at;for(e=0;e<a;e++)e%3==0&&e&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+t[e];return 0==(n=a%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}function ct(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}(0,r.eW)(st,"resolveYamlBinary"),(0,r.eW)(ot,"constructYamlBinary"),(0,r.eW)(lt,"representYamlBinary"),(0,r.eW)(ct,"isBinary");var ht=new k("tag:yaml.org,2002:binary",{kind:"scalar",resolve:st,construct:ot,predicate:ct,represent:lt}),ut=Object.prototype.hasOwnProperty,dt=Object.prototype.toString;function pt(t){if(null===t)return!0;var e,n,r,i,a,s=[],o=t;for(e=0,n=o.length;e<n;e+=1){if(r=o[e],a=!1,"[object Object]"!==dt.call(r))return!1;for(i in r)if(ut.call(r,i)){if(a)return!1;a=!0}if(!a)return!1;if(-1!==s.indexOf(i))return!1;s.push(i)}return!0}function gt(t){return null!==t?t:[]}(0,r.eW)(pt,"resolveYamlOmap"),(0,r.eW)(gt,"constructYamlOmap");var ft=new k("tag:yaml.org,2002:omap",{kind:"sequence",resolve:pt,construct:gt}),mt=Object.prototype.toString;function yt(t){if(null===t)return!0;var e,n,r,i,a,s=t;for(a=new Array(s.length),e=0,n=s.length;e<n;e+=1){if(r=s[e],"[object Object]"!==mt.call(r))return!1;if(1!==(i=Object.keys(r)).length)return!1;a[e]=[i[0],r[i[0]]]}return!0}function vt(t){if(null===t)return[];var e,n,r,i,a,s=t;for(a=new Array(s.length),e=0,n=s.length;e<n;e+=1)r=s[e],i=Object.keys(r),a[e]=[i[0],r[i[0]]];return a}(0,r.eW)(yt,"resolveYamlPairs"),(0,r.eW)(vt,"constructYamlPairs");var xt=new k("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:yt,construct:vt}),bt=Object.prototype.hasOwnProperty;function wt(t){if(null===t)return!0;var e,n=t;for(e in n)if(bt.call(n,e)&&null!==n[e])return!1;return!0}function kt(t){return null!==t?t:{}}(0,r.eW)(wt,"resolveYamlSet"),(0,r.eW)(kt,"constructYamlSet");var Tt=new k("tag:yaml.org,2002:set",{kind:"mapping",resolve:wt,construct:kt}),_t=X.extend({implicit:[nt,it],explicit:[ht,ft,xt,Tt]}),Et=Object.prototype.hasOwnProperty,St=1,Ct=2,At=3,Lt=4,Mt=1,Nt=2,It=3,Rt=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Dt=/[\x85\u2028\u2029]/,Ot=/[,\[\]\{\}]/,Pt=/^(?:!|!!|![a-z\-]+!)$/i,$t=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Bt(t){return Object.prototype.toString.call(t)}function Ft(t){return 10===t||13===t}function Wt(t){return 9===t||32===t}function zt(t){return 9===t||32===t||10===t||13===t}function Zt(t){return 44===t||91===t||93===t||123===t||125===t}function Yt(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function Ut(t){return 120===t?2:117===t?4:85===t?8:0}function Gt(t){return 48<=t&&t<=57?t-48:-1}function Vt(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function qt(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}(0,r.eW)(Bt,"_class"),(0,r.eW)(Ft,"is_EOL"),(0,r.eW)(Wt,"is_WHITE_SPACE"),(0,r.eW)(zt,"is_WS_OR_EOL"),(0,r.eW)(Zt,"is_FLOW_INDICATOR"),(0,r.eW)(Yt,"fromHexCode"),(0,r.eW)(Ut,"escapedHexLen"),(0,r.eW)(Gt,"fromDecimalCode"),(0,r.eW)(Vt,"simpleEscapeSequence"),(0,r.eW)(qt,"charFromCodepoint");var jt,Ht=new Array(256),Xt=new Array(256);for(jt=0;jt<256;jt++)Ht[jt]=Vt(jt)?1:0,Xt[jt]=Vt(jt);function Kt(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||_t,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Qt(t,e){var n={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return n.snippet=y(n),new p(e,n)}function Jt(t,e){throw Qt(t,e)}function te(t,e){t.onWarning&&t.onWarning.call(null,Qt(t,e))}(0,r.eW)(Kt,"State$1"),(0,r.eW)(Qt,"generateError"),(0,r.eW)(Jt,"throwError"),(0,r.eW)(te,"throwWarning");var ee={YAML:(0,r.eW)((function(t,e,n){var r,i,a;null!==t.version&&Jt(t,"duplication of %YAML directive"),1!==n.length&&Jt(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&Jt(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),a=parseInt(r[2],10),1!==i&&Jt(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&te(t,"unsupported YAML version of the document")}),"handleYamlDirective"),TAG:(0,r.eW)((function(t,e,n){var r,i;2!==n.length&&Jt(t,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],Pt.test(r)||Jt(t,"ill-formed tag handle (first argument) of the TAG directive"),Et.call(t.tagMap,r)&&Jt(t,'there is a previously declared suffix for "'+r+'" tag handle'),$t.test(i)||Jt(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(e){Jt(t,"tag prefix is malformed: "+i)}t.tagMap[r]=i}),"handleTagDirective")};function ne(t,e,n,r){var i,a,s,o;if(e<n){if(o=t.input.slice(e,n),r)for(i=0,a=o.length;i<a;i+=1)9===(s=o.charCodeAt(i))||32<=s&&s<=1114111||Jt(t,"expected valid JSON character");else Rt.test(o)&&Jt(t,"the stream contains non-printable characters");t.result+=o}}function re(t,e,n,r){var i,a,s,o;for(h.isObject(n)||Jt(t,"cannot merge mappings; the provided source object is unacceptable"),s=0,o=(i=Object.keys(n)).length;s<o;s+=1)a=i[s],Et.call(e,a)||(e[a]=n[a],r[a]=!0)}function ie(t,e,n,r,i,a,s,o,l){var c,h;if(Array.isArray(i))for(c=0,h=(i=Array.prototype.slice.call(i)).length;c<h;c+=1)Array.isArray(i[c])&&Jt(t,"nested arrays are not supported inside keys"),"object"==typeof i&&"[object Object]"===Bt(i[c])&&(i[c]="[object Object]");if("object"==typeof i&&"[object Object]"===Bt(i)&&(i="[object Object]"),i=String(i),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(a))for(c=0,h=a.length;c<h;c+=1)re(t,e,a[c],n);else re(t,e,a,n);else t.json||Et.call(n,i)||!Et.call(e,i)||(t.line=s||t.line,t.lineStart=o||t.lineStart,t.position=l||t.position,Jt(t,"duplicated mapping key")),"__proto__"===i?Object.defineProperty(e,i,{configurable:!0,enumerable:!0,writable:!0,value:a}):e[i]=a,delete n[i];return e}function ae(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):Jt(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function se(t,e,n){for(var r=0,i=t.input.charCodeAt(t.position);0!==i;){for(;Wt(i);)9===i&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&35===i)do{i=t.input.charCodeAt(++t.position)}while(10!==i&&13!==i&&0!==i);if(!Ft(i))break;for(ae(t),i=t.input.charCodeAt(t.position),r++,t.lineIndent=0;32===i;)t.lineIndent++,i=t.input.charCodeAt(++t.position)}return-1!==n&&0!==r&&t.lineIndent<n&&te(t,"deficient indentation"),r}function oe(t){var e,n=t.position;return!(45!==(e=t.input.charCodeAt(n))&&46!==e||e!==t.input.charCodeAt(n+1)||e!==t.input.charCodeAt(n+2)||(n+=3,0!==(e=t.input.charCodeAt(n))&&!zt(e)))}function le(t,e){1===e?t.result+=" ":e>1&&(t.result+=h.repeat("\n",e-1))}function ce(t,e,n){var r,i,a,s,o,l,c,h,u=t.kind,d=t.result;if(zt(h=t.input.charCodeAt(t.position))||Zt(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(zt(r=t.input.charCodeAt(t.position+1))||n&&Zt(r)))return!1;for(t.kind="scalar",t.result="",i=a=t.position,s=!1;0!==h;){if(58===h){if(zt(r=t.input.charCodeAt(t.position+1))||n&&Zt(r))break}else if(35===h){if(zt(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&oe(t)||n&&Zt(h))break;if(Ft(h)){if(o=t.line,l=t.lineStart,c=t.lineIndent,se(t,!1,-1),t.lineIndent>=e){s=!0,h=t.input.charCodeAt(t.position);continue}t.position=a,t.line=o,t.lineStart=l,t.lineIndent=c;break}}s&&(ne(t,i,a,!1),le(t,t.line-o),i=a=t.position,s=!1),Wt(h)||(a=t.position+1),h=t.input.charCodeAt(++t.position)}return ne(t,i,a,!1),!!t.result||(t.kind=u,t.result=d,!1)}function he(t,e){var n,r,i;if(39!==(n=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(ne(t,r,t.position,!0),39!==(n=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,i=t.position}else Ft(n)?(ne(t,r,i,!0),le(t,se(t,!1,e)),r=i=t.position):t.position===t.lineStart&&oe(t)?Jt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Jt(t,"unexpected end of the stream within a single quoted scalar")}function ue(t,e){var n,r,i,a,s,o;if(34!==(o=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,n=r=t.position;0!==(o=t.input.charCodeAt(t.position));){if(34===o)return ne(t,n,t.position,!0),t.position++,!0;if(92===o){if(ne(t,n,t.position,!0),Ft(o=t.input.charCodeAt(++t.position)))se(t,!1,e);else if(o<256&&Ht[o])t.result+=Xt[o],t.position++;else if((s=Ut(o))>0){for(i=s,a=0;i>0;i--)(s=Yt(o=t.input.charCodeAt(++t.position)))>=0?a=(a<<4)+s:Jt(t,"expected hexadecimal character");t.result+=qt(a),t.position++}else Jt(t,"unknown escape sequence");n=r=t.position}else Ft(o)?(ne(t,n,r,!0),le(t,se(t,!1,e)),n=r=t.position):t.position===t.lineStart&&oe(t)?Jt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}Jt(t,"unexpected end of the stream within a double quoted scalar")}function de(t,e){var n,r,i,a,s,o,l,c,h,u,d,p,g=!0,f=t.tag,m=t.anchor,y=Object.create(null);if(91===(p=t.input.charCodeAt(t.position)))s=93,c=!1,a=[];else{if(123!==p)return!1;s=125,c=!0,a={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),p=t.input.charCodeAt(++t.position);0!==p;){if(se(t,!0,e),(p=t.input.charCodeAt(t.position))===s)return t.position++,t.tag=f,t.anchor=m,t.kind=c?"mapping":"sequence",t.result=a,!0;g?44===p&&Jt(t,"expected the node content, but found ','"):Jt(t,"missed comma between flow collection entries"),d=null,o=l=!1,63===p&&zt(t.input.charCodeAt(t.position+1))&&(o=l=!0,t.position++,se(t,!0,e)),n=t.line,r=t.lineStart,i=t.position,xe(t,e,St,!1,!0),u=t.tag,h=t.result,se(t,!0,e),p=t.input.charCodeAt(t.position),!l&&t.line!==n||58!==p||(o=!0,p=t.input.charCodeAt(++t.position),se(t,!0,e),xe(t,e,St,!1,!0),d=t.result),c?ie(t,a,y,u,h,d,n,r,i):o?a.push(ie(t,null,y,u,h,d,n,r,i)):a.push(h),se(t,!0,e),44===(p=t.input.charCodeAt(t.position))?(g=!0,p=t.input.charCodeAt(++t.position)):g=!1}Jt(t,"unexpected end of the stream within a flow collection")}function pe(t,e){var n,r,i,a,s=Mt,o=!1,l=!1,c=e,u=0,d=!1;if(124===(a=t.input.charCodeAt(t.position)))r=!1;else{if(62!==a)return!1;r=!0}for(t.kind="scalar",t.result="";0!==a;)if(43===(a=t.input.charCodeAt(++t.position))||45===a)Mt===s?s=43===a?It:Nt:Jt(t,"repeat of a chomping mode identifier");else{if(!((i=Gt(a))>=0))break;0===i?Jt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Jt(t,"repeat of an indentation width identifier"):(c=e+i-1,l=!0)}if(Wt(a)){do{a=t.input.charCodeAt(++t.position)}while(Wt(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!Ft(a)&&0!==a)}for(;0!==a;){for(ae(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!l||t.lineIndent<c)&&32===a;)t.lineIndent++,a=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>c&&(c=t.lineIndent),Ft(a))u++;else{if(t.lineIndent<c){s===It?t.result+=h.repeat("\n",o?1+u:u):s===Mt&&o&&(t.result+="\n");break}for(r?Wt(a)?(d=!0,t.result+=h.repeat("\n",o?1+u:u)):d?(d=!1,t.result+=h.repeat("\n",u+1)):0===u?o&&(t.result+=" "):t.result+=h.repeat("\n",u):t.result+=h.repeat("\n",o?1+u:u),o=!0,l=!0,u=0,n=t.position;!Ft(a)&&0!==a;)a=t.input.charCodeAt(++t.position);ne(t,n,t.position,!1)}}return!0}function ge(t,e){var n,r,i=t.tag,a=t.anchor,s=[],o=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),r=t.input.charCodeAt(t.position);0!==r&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Jt(t,"tab characters must not be used in indentation")),45===r)&&zt(t.input.charCodeAt(t.position+1));)if(o=!0,t.position++,se(t,!0,-1)&&t.lineIndent<=e)s.push(null),r=t.input.charCodeAt(t.position);else if(n=t.line,xe(t,e,At,!1,!0),s.push(t.result),se(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==r)Jt(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!o&&(t.tag=i,t.anchor=a,t.kind="sequence",t.result=s,!0)}function fe(t,e,n){var r,i,a,s,o,l,c,h=t.tag,u=t.anchor,d={},p=Object.create(null),g=null,f=null,m=null,y=!1,v=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=d),c=t.input.charCodeAt(t.position);0!==c;){if(y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,Jt(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),a=t.line,63!==c&&58!==c||!zt(r)){if(s=t.line,o=t.lineStart,l=t.position,!xe(t,n,Ct,!1,!0))break;if(t.line===a){for(c=t.input.charCodeAt(t.position);Wt(c);)c=t.input.charCodeAt(++t.position);if(58===c)zt(c=t.input.charCodeAt(++t.position))||Jt(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(ie(t,d,p,g,f,null,s,o,l),g=f=m=null),v=!0,y=!1,i=!1,g=t.tag,f=t.result;else{if(!v)return t.tag=h,t.anchor=u,!0;Jt(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!v)return t.tag=h,t.anchor=u,!0;Jt(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(ie(t,d,p,g,f,null,s,o,l),g=f=m=null),v=!0,y=!0,i=!0):y?(y=!1,i=!0):Jt(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,c=r;if((t.line===a||t.lineIndent>e)&&(y&&(s=t.line,o=t.lineStart,l=t.position),xe(t,e,Lt,!0,i)&&(y?f=t.result:m=t.result),y||(ie(t,d,p,g,f,m,s,o,l),g=f=m=null),se(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&0!==c)Jt(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&ie(t,d,p,g,f,null,s,o,l),v&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=d),v}function me(t){var e,n,r,i,a=!1,s=!1;if(33!==(i=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&Jt(t,"duplication of a tag property"),60===(i=t.input.charCodeAt(++t.position))?(a=!0,i=t.input.charCodeAt(++t.position)):33===i?(s=!0,n="!!",i=t.input.charCodeAt(++t.position)):n="!",e=t.position,a){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&62!==i);t.position<t.length?(r=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):Jt(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!zt(i);)33===i&&(s?Jt(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),Pt.test(n)||Jt(t,"named tag handle cannot contain such characters"),s=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),Ot.test(r)&&Jt(t,"tag suffix cannot contain flow indicator characters")}r&&!$t.test(r)&&Jt(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(e){Jt(t,"tag name is malformed: "+r)}return a?t.tag=r:Et.call(t.tagMap,n)?t.tag=t.tagMap[n]+r:"!"===n?t.tag="!"+r:"!!"===n?t.tag="tag:yaml.org,2002:"+r:Jt(t,'undeclared tag handle "'+n+'"'),!0}function ye(t){var e,n;if(38!==(n=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&Jt(t,"duplication of an anchor property"),n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!zt(n)&&!Zt(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&Jt(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function ve(t){var e,n,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!zt(r)&&!Zt(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Jt(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),Et.call(t.anchorMap,n)||Jt(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],se(t,!0,-1),!0}function xe(t,e,n,r,i){var a,s,o,l,c,h,u,d,p,g=1,f=!1,m=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,a=s=o=Lt===n||At===n,r&&se(t,!0,-1)&&(f=!0,t.lineIndent>e?g=1:t.lineIndent===e?g=0:t.lineIndent<e&&(g=-1)),1===g)for(;me(t)||ye(t);)se(t,!0,-1)?(f=!0,o=a,t.lineIndent>e?g=1:t.lineIndent===e?g=0:t.lineIndent<e&&(g=-1)):o=!1;if(o&&(o=f||i),1!==g&&Lt!==n||(d=St===n||Ct===n?e:e+1,p=t.position-t.lineStart,1===g?o&&(ge(t,p)||fe(t,p,d))||de(t,d)?m=!0:(s&&pe(t,d)||he(t,d)||ue(t,d)?m=!0:ve(t)?(m=!0,null===t.tag&&null===t.anchor||Jt(t,"alias node should not have any properties")):ce(t,d,St===n)&&(m=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===g&&(m=o&&ge(t,p))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Jt(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),l=0,c=t.implicitTypes.length;l<c;l+=1)if((u=t.implicitTypes[l]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(Et.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,l=0,c=(h=t.typeMap.multi[t.kind||"fallback"]).length;l<c;l+=1)if(t.tag.slice(0,h[l].tag.length)===h[l].tag){u=h[l];break}u||Jt(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&Jt(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Jt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function be(t){var e,n,r,i,a=t.position,s=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(se(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(s=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!zt(i);)i=t.input.charCodeAt(++t.position);for(r=[],(n=t.input.slice(e,t.position)).length<1&&Jt(t,"directive name must not be less than one character in length");0!==i;){for(;Wt(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!Ft(i));break}if(Ft(i))break;for(e=t.position;0!==i&&!zt(i);)i=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==i&&ae(t),Et.call(ee,n)?ee[n](t,n,r):te(t,'unknown document directive "'+n+'"')}se(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,se(t,!0,-1)):s&&Jt(t,"directives end mark is expected"),xe(t,t.lineIndent-1,Lt,!1,!0),se(t,!0,-1),t.checkLineBreaks&&Dt.test(t.input.slice(a,t.position))&&te(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&oe(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,se(t,!0,-1)):t.position<t.length-1&&Jt(t,"end of the stream or a document separator is expected")}function we(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var n=new Kt(t,e),r=t.indexOf("\0");for(-1!==r&&(n.position=r,Jt(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)be(n);return n.documents}function ke(t,e,n){null!==e&&"object"==typeof e&&void 0===n&&(n=e,e=null);var r=we(t,n);if("function"!=typeof e)return r;for(var i=0,a=r.length;i<a;i+=1)e(r[i])}function Te(t,e){var n=we(t,e);if(0!==n.length){if(1===n.length)return n[0];throw new p("expected a single document in the stream, but found more")}}(0,r.eW)(ne,"captureSegment"),(0,r.eW)(re,"mergeMappings"),(0,r.eW)(ie,"storeMappingPair"),(0,r.eW)(ae,"readLineBreak"),(0,r.eW)(se,"skipSeparationSpace"),(0,r.eW)(oe,"testDocumentSeparator"),(0,r.eW)(le,"writeFoldedLines"),(0,r.eW)(ce,"readPlainScalar"),(0,r.eW)(he,"readSingleQuotedScalar"),(0,r.eW)(ue,"readDoubleQuotedScalar"),(0,r.eW)(de,"readFlowCollection"),(0,r.eW)(pe,"readBlockScalar"),(0,r.eW)(ge,"readBlockSequence"),(0,r.eW)(fe,"readBlockMapping"),(0,r.eW)(me,"readTagProperty"),(0,r.eW)(ye,"readAnchorProperty"),(0,r.eW)(ve,"readAlias"),(0,r.eW)(xe,"composeNode"),(0,r.eW)(be,"readDocument"),(0,r.eW)(we,"loadDocuments"),(0,r.eW)(ke,"loadAll$1"),(0,r.eW)(Te,"load$1");var _e=Te,Ee=Object.prototype.toString,Se=Object.prototype.hasOwnProperty,Ce=65279,Ae=9,Le=10,Me=13,Ne=32,Ie=33,Re=34,De=35,Oe=37,Pe=38,$e=39,Be=42,Fe=44,We=45,ze=58,Ze=61,Ye=62,Ue=63,Ge=64,Ve=91,qe=93,je=96,He=123,Xe=124,Ke=125,Qe={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},Je=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],tn=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function en(t,e){var n,r,i,a,s,o,l;if(null===e)return{};for(n={},i=0,a=(r=Object.keys(e)).length;i<a;i+=1)s=r[i],o=String(e[s]),"!!"===s.slice(0,2)&&(s="tag:yaml.org,2002:"+s.slice(2)),(l=t.compiledTypeMap.fallback[s])&&Se.call(l.styleAliases,o)&&(o=l.styleAliases[o]),n[s]=o;return n}function nn(t){var e,n,r;if(e=t.toString(16).toUpperCase(),t<=255)n="x",r=2;else if(t<=65535)n="u",r=4;else{if(!(t<=4294967295))throw new p("code point within a string may not be greater than 0xFFFFFFFF");n="U",r=8}return"\\"+n+h.repeat("0",r-e.length)+e}(0,r.eW)(en,"compileStyleMap"),(0,r.eW)(nn,"encodeHex");var rn=1,an=2;function sn(t){this.schema=t.schema||_t,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=h.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=en(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType='"'===t.quotingType?an:rn,this.forceQuotes=t.forceQuotes||!1,this.replacer="function"==typeof t.replacer?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function on(t,e){for(var n,r=h.repeat(" ",e),i=0,a=-1,s="",o=t.length;i<o;)-1===(a=t.indexOf("\n",i))?(n=t.slice(i),i=o):(n=t.slice(i,a+1),i=a+1),n.length&&"\n"!==n&&(s+=r),s+=n;return s}function ln(t,e){return"\n"+h.repeat(" ",t.indent*e)}function cn(t,e){var n,r;for(n=0,r=t.implicitTypes.length;n<r;n+=1)if(t.implicitTypes[n].resolve(e))return!0;return!1}function hn(t){return t===Ne||t===Ae}function un(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==Ce||65536<=t&&t<=1114111}function dn(t){return un(t)&&t!==Ce&&t!==Me&&t!==Le}function pn(t,e,n){var r=dn(t),i=r&&!hn(t);return(n?r:r&&t!==Fe&&t!==Ve&&t!==qe&&t!==He&&t!==Ke)&&t!==De&&!(e===ze&&!i)||dn(e)&&!hn(e)&&t===De||e===ze&&i}function gn(t){return un(t)&&t!==Ce&&!hn(t)&&t!==We&&t!==Ue&&t!==ze&&t!==Fe&&t!==Ve&&t!==qe&&t!==He&&t!==Ke&&t!==De&&t!==Pe&&t!==Be&&t!==Ie&&t!==Xe&&t!==Ze&&t!==Ye&&t!==$e&&t!==Re&&t!==Oe&&t!==Ge&&t!==je}function fn(t){return!hn(t)&&t!==ze}function mn(t,e){var n,r=t.charCodeAt(e);return r>=55296&&r<=56319&&e+1<t.length&&(n=t.charCodeAt(e+1))>=56320&&n<=57343?1024*(r-55296)+n-56320+65536:r}function yn(t){return/^\n* /.test(t)}(0,r.eW)(sn,"State"),(0,r.eW)(on,"indentString"),(0,r.eW)(ln,"generateNextLine"),(0,r.eW)(cn,"testImplicitResolving"),(0,r.eW)(hn,"isWhitespace"),(0,r.eW)(un,"isPrintable"),(0,r.eW)(dn,"isNsCharOrWhitespace"),(0,r.eW)(pn,"isPlainSafe"),(0,r.eW)(gn,"isPlainSafeFirst"),(0,r.eW)(fn,"isPlainSafeLast"),(0,r.eW)(mn,"codePointAt"),(0,r.eW)(yn,"needIndentIndicator");var vn=1,xn=2,bn=3,wn=4,kn=5;function Tn(t,e,n,r,i,a,s,o){var l,c=0,h=null,u=!1,d=!1,p=-1!==r,g=-1,f=gn(mn(t,0))&&fn(mn(t,t.length-1));if(e||s)for(l=0;l<t.length;c>=65536?l+=2:l++){if(!un(c=mn(t,l)))return kn;f=f&&pn(c,h,o),h=c}else{for(l=0;l<t.length;c>=65536?l+=2:l++){if((c=mn(t,l))===Le)u=!0,p&&(d=d||l-g-1>r&&" "!==t[g+1],g=l);else if(!un(c))return kn;f=f&&pn(c,h,o),h=c}d=d||p&&l-g-1>r&&" "!==t[g+1]}return u||d?n>9&&yn(t)?kn:s?a===an?kn:xn:d?wn:bn:!f||s||i(t)?a===an?kn:xn:vn}function _n(t,e,n,i,a){t.dump=function(){if(0===e.length)return t.quotingType===an?'""':"''";if(!t.noCompatMode&&(-1!==Je.indexOf(e)||tn.test(e)))return t.quotingType===an?'"'+e+'"':"'"+e+"'";var s=t.indent*Math.max(1,n),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-s),l=i||t.flowLevel>-1&&n>=t.flowLevel;function c(e){return cn(t,e)}switch((0,r.eW)(c,"testAmbiguity"),Tn(e,l,t.indent,o,c,t.quotingType,t.forceQuotes&&!i,a)){case vn:return e;case xn:return"'"+e.replace(/'/g,"''")+"'";case bn:return"|"+En(e,t.indent)+Sn(on(e,s));case wn:return">"+En(e,t.indent)+Sn(on(Cn(e,o),s));case kn:return'"'+Ln(e)+'"';default:throw new p("impossible error: invalid scalar style")}}()}function En(t,e){var n=yn(t)?String(e):"",r="\n"===t[t.length-1];return n+(!r||"\n"!==t[t.length-2]&&"\n"!==t?r?"":"-":"+")+"\n"}function Sn(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Cn(t,e){for(var n,r,i,a=/(\n+)([^\n]*)/g,s=(n=-1!==(n=t.indexOf("\n"))?n:t.length,a.lastIndex=n,An(t.slice(0,n),e)),o="\n"===t[0]||" "===t[0];i=a.exec(t);){var l=i[1],c=i[2];r=" "===c[0],s+=l+(o||r||""===c?"":"\n")+An(c,e),o=r}return s}function An(t,e){if(""===t||" "===t[0])return t;for(var n,r,i=/ [^ ]/g,a=0,s=0,o=0,l="";n=i.exec(t);)(o=n.index)-a>e&&(r=s>a?s:o,l+="\n"+t.slice(a,r),a=r+1),s=o;return l+="\n",t.length-a>e&&s>a?l+=t.slice(a,s)+"\n"+t.slice(s+1):l+=t.slice(a),l.slice(1)}function Ln(t){for(var e,n="",r=0,i=0;i<t.length;r>=65536?i+=2:i++)r=mn(t,i),!(e=Qe[r])&&un(r)?(n+=t[i],r>=65536&&(n+=t[i+1])):n+=e||nn(r);return n}function Mn(t,e,n){var r,i,a,s="",o=t.tag;for(r=0,i=n.length;r<i;r+=1)a=n[r],t.replacer&&(a=t.replacer.call(n,String(r),a)),(On(t,e,a,!1,!1)||void 0===a&&On(t,e,null,!1,!1))&&(""!==s&&(s+=","+(t.condenseFlow?"":" ")),s+=t.dump);t.tag=o,t.dump="["+s+"]"}function Nn(t,e,n,r){var i,a,s,o="",l=t.tag;for(i=0,a=n.length;i<a;i+=1)s=n[i],t.replacer&&(s=t.replacer.call(n,String(i),s)),(On(t,e+1,s,!0,!0,!1,!0)||void 0===s&&On(t,e+1,null,!0,!0,!1,!0))&&(r&&""===o||(o+=ln(t,e)),t.dump&&Le===t.dump.charCodeAt(0)?o+="-":o+="- ",o+=t.dump);t.tag=l,t.dump=o||"[]"}function In(t,e,n){var r,i,a,s,o,l="",c=t.tag,h=Object.keys(n);for(r=0,i=h.length;r<i;r+=1)o="",""!==l&&(o+=", "),t.condenseFlow&&(o+='"'),s=n[a=h[r]],t.replacer&&(s=t.replacer.call(n,a,s)),On(t,e,a,!1,!1)&&(t.dump.length>1024&&(o+="? "),o+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),On(t,e,s,!1,!1)&&(l+=o+=t.dump));t.tag=c,t.dump="{"+l+"}"}function Rn(t,e,n,r){var i,a,s,o,l,c,h="",u=t.tag,d=Object.keys(n);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new p("sortKeys must be a boolean or a function");for(i=0,a=d.length;i<a;i+=1)c="",r&&""===h||(c+=ln(t,e)),o=n[s=d[i]],t.replacer&&(o=t.replacer.call(n,s,o)),On(t,e+1,s,!0,!0,!0)&&((l=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&Le===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,l&&(c+=ln(t,e)),On(t,e+1,o,!0,l)&&(t.dump&&Le===t.dump.charCodeAt(0)?c+=":":c+=": ",h+=c+=t.dump));t.tag=u,t.dump=h||"{}"}function Dn(t,e,n){var r,i,a,s,o,l;for(a=0,s=(i=n?t.explicitTypes:t.implicitTypes).length;a<s;a+=1)if(((o=i[a]).instanceOf||o.predicate)&&(!o.instanceOf||"object"==typeof e&&e instanceof o.instanceOf)&&(!o.predicate||o.predicate(e))){if(n?o.multi&&o.representName?t.tag=o.representName(e):t.tag=o.tag:t.tag="?",o.represent){if(l=t.styleMap[o.tag]||o.defaultStyle,"[object Function]"===Ee.call(o.represent))r=o.represent(e,l);else{if(!Se.call(o.represent,l))throw new p("!<"+o.tag+'> tag resolver accepts not "'+l+'" style');r=o.represent[l](e,l)}t.dump=r}return!0}return!1}function On(t,e,n,r,i,a,s){t.tag=null,t.dump=n,Dn(t,n,!1)||Dn(t,n,!0);var o,l=Ee.call(t.dump),c=r;r&&(r=t.flowLevel<0||t.flowLevel>e);var h,u,d="[object Object]"===l||"[object Array]"===l;if(d&&(u=-1!==(h=t.duplicates.indexOf(n))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(i=!1),u&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(d&&u&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===l)r&&0!==Object.keys(t.dump).length?(Rn(t,e,t.dump,i),u&&(t.dump="&ref_"+h+t.dump)):(In(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===l)r&&0!==t.dump.length?(t.noArrayIndent&&!s&&e>0?Nn(t,e-1,t.dump,i):Nn(t,e,t.dump,i),u&&(t.dump="&ref_"+h+t.dump)):(Mn(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else{if("[object String]"!==l){if("[object Undefined]"===l)return!1;if(t.skipInvalid)return!1;throw new p("unacceptable kind of an object to dump "+l)}"?"!==t.tag&&_n(t,t.dump,e,a,c)}null!==t.tag&&"?"!==t.tag&&(o=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),o="!"===t.tag[0]?"!"+o:"tag:yaml.org,2002:"===o.slice(0,18)?"!!"+o.slice(18):"!<"+o+">",t.dump=o+" "+t.dump)}return!0}function Pn(t,e){var n,r,i=[],a=[];for($n(t,i,a),n=0,r=a.length;n<r;n+=1)e.duplicates.push(i[a[n]]);e.usedDuplicates=new Array(r)}function $n(t,e,n){var r,i,a;if(null!==t&&"object"==typeof t)if(-1!==(i=e.indexOf(t)))-1===n.indexOf(i)&&n.push(i);else if(e.push(t),Array.isArray(t))for(i=0,a=t.length;i<a;i+=1)$n(t[i],e,n);else for(i=0,a=(r=Object.keys(t)).length;i<a;i+=1)$n(t[r[i]],e,n)}function Bn(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}(0,r.eW)(Tn,"chooseScalarStyle"),(0,r.eW)(_n,"writeScalar"),(0,r.eW)(En,"blockHeader"),(0,r.eW)(Sn,"dropEndingNewline"),(0,r.eW)(Cn,"foldString"),(0,r.eW)(An,"foldLine"),(0,r.eW)(Ln,"escapeString"),(0,r.eW)(Mn,"writeFlowSequence"),(0,r.eW)(Nn,"writeBlockSequence"),(0,r.eW)(In,"writeFlowMapping"),(0,r.eW)(Rn,"writeBlockMapping"),(0,r.eW)(Dn,"detectType"),(0,r.eW)(On,"writeNode"),(0,r.eW)(Pn,"getDuplicateReferences"),(0,r.eW)($n,"inspectNode"),(0,r.eW)((function(t,e){var n=new sn(e=e||{});n.noRefs||Pn(t,n);var r=t;return n.replacer&&(r=n.replacer.call({"":r},"",r)),On(n,0,r,!0,!0)?n.dump+"\n":""}),"dump$1"),(0,r.eW)(Bn,"renamed");var Fn=H,Wn=_e;Bn("safeLoad","load"),Bn("safeLoadAll","loadAll"),Bn("safeDump","dump")},5430:(t,e,n)=>{"use strict";n.d(e,{P:()=>a});var r=n(4082),i=n(3108),a=(0,r.eW)((t=>{const{securityLevel:e}=(0,r.nV)();let n=(0,i.Ys)("body");if("sandbox"===e){const e=(0,i.Ys)(`#i${t}`),r=e.node()?.contentDocument??document;n=(0,i.Ys)(r.body)}return n.select(`#${t}`)}),"selectSvgElement")},762:(t,e,n)=>{"use strict";n.d(e,{Ee:()=>m,P0:()=>c,b0:()=>v,dR:()=>f});var r=n(907),i=n(8337),a=n(7946),s=n(4082),o=n(3108),l=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,18],n=[1,19],r=[1,20],i=[1,41],a=[1,42],o=[1,26],l=[1,24],c=[1,25],h=[1,32],u=[1,33],d=[1,34],p=[1,45],g=[1,35],f=[1,36],m=[1,37],y=[1,38],v=[1,27],x=[1,28],b=[1,29],w=[1,30],k=[1,31],T=[1,44],_=[1,46],E=[1,43],S=[1,47],C=[1,9],A=[1,8,9],L=[1,58],M=[1,59],N=[1,60],I=[1,61],R=[1,62],D=[1,63],O=[1,64],P=[1,8,9,41],$=[1,76],B=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],F=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],W=[13,58,84,99,101,102],z=[13,58,71,72,84,99,101,102],Z=[13,58,66,67,68,69,70,84,99,101,102],Y=[1,98],U=[1,115],G=[1,107],V=[1,113],q=[1,108],j=[1,109],H=[1,110],X=[1,111],K=[1,112],Q=[1,114],J=[22,58,59,80,84,85,86,87,88,89],tt=[1,8,9,39,41,44],et=[1,8,9,22],nt=[1,143],rt=[1,8,9,59],it=[1,8,9,22,58,59,80,84,85,86,87,88,89],at={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 8:this.$=a[o-1];break;case 9:case 12:case 14:this.$=a[o];break;case 10:case 13:this.$=a[o-2]+"."+a[o];break;case 11:case 15:case 95:this.$=a[o-1]+a[o];break;case 16:case 17:this.$=a[o-1]+"~"+a[o]+"~";break;case 18:r.addRelation(a[o]);break;case 19:a[o-1].title=r.cleanupLabel(a[o]),r.addRelation(a[o-1]);break;case 30:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 31:case 32:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 33:r.addClassesToNamespace(a[o-3],a[o-1]);break;case 34:r.addClassesToNamespace(a[o-4],a[o-1]);break;case 35:this.$=a[o],r.addNamespace(a[o]);break;case 36:case 46:case 59:case 92:this.$=[a[o]];break;case 37:this.$=[a[o-1]];break;case 38:a[o].unshift(a[o-2]),this.$=a[o];break;case 40:r.setCssClass(a[o-2],a[o]);break;case 41:r.addMembers(a[o-3],a[o-1]);break;case 42:r.setCssClass(a[o-5],a[o-3]),r.addMembers(a[o-5],a[o-1]);break;case 43:this.$=a[o],r.addClass(a[o]);break;case 44:this.$=a[o-1],r.addClass(a[o-1]),r.setClassLabel(a[o-1],a[o]);break;case 45:r.addAnnotation(a[o],a[o-2]);break;case 47:a[o].push(a[o-1]),this.$=a[o];break;case 48:case 50:case 51:break;case 49:r.addMember(a[o-1],r.cleanupLabel(a[o]));break;case 52:this.$={id1:a[o-2],id2:a[o],relation:a[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:a[o-3],id2:a[o],relation:a[o-1],relationTitle1:a[o-2],relationTitle2:"none"};break;case 54:this.$={id1:a[o-3],id2:a[o],relation:a[o-2],relationTitle1:"none",relationTitle2:a[o-1]};break;case 55:this.$={id1:a[o-4],id2:a[o],relation:a[o-2],relationTitle1:a[o-3],relationTitle2:a[o-1]};break;case 56:r.addNote(a[o],a[o-1]);break;case 57:r.addNote(a[o]);break;case 58:this.$=a[o-2],r.defineClass(a[o-1],a[o]);break;case 60:this.$=a[o-2].concat([a[o]]);break;case 61:r.setDirection("TB");break;case 62:r.setDirection("BT");break;case 63:r.setDirection("RL");break;case 64:r.setDirection("LR");break;case 65:this.$={type1:a[o-2],type2:a[o],lineType:a[o-1]};break;case 66:this.$={type1:"none",type2:a[o],lineType:a[o-1]};break;case 67:this.$={type1:a[o-1],type2:"none",lineType:a[o]};break;case 68:this.$={type1:"none",type2:"none",lineType:a[o]};break;case 69:this.$=r.relationType.AGGREGATION;break;case 70:this.$=r.relationType.EXTENSION;break;case 71:this.$=r.relationType.COMPOSITION;break;case 72:this.$=r.relationType.DEPENDENCY;break;case 73:this.$=r.relationType.LOLLIPOP;break;case 74:this.$=r.lineType.LINE;break;case 75:this.$=r.lineType.DOTTED_LINE;break;case 76:case 82:this.$=a[o-2],r.setClickEvent(a[o-1],a[o]);break;case 77:case 83:this.$=a[o-3],r.setClickEvent(a[o-2],a[o-1]),r.setTooltip(a[o-2],a[o]);break;case 78:this.$=a[o-2],r.setLink(a[o-1],a[o]);break;case 79:this.$=a[o-3],r.setLink(a[o-2],a[o-1],a[o]);break;case 80:this.$=a[o-3],r.setLink(a[o-2],a[o-1]),r.setTooltip(a[o-2],a[o]);break;case 81:this.$=a[o-4],r.setLink(a[o-3],a[o-2],a[o]),r.setTooltip(a[o-3],a[o-1]);break;case 84:this.$=a[o-3],r.setClickEvent(a[o-2],a[o-1],a[o]);break;case 85:this.$=a[o-4],r.setClickEvent(a[o-3],a[o-2],a[o-1]),r.setTooltip(a[o-3],a[o]);break;case 86:this.$=a[o-3],r.setLink(a[o-2],a[o]);break;case 87:this.$=a[o-4],r.setLink(a[o-3],a[o-1],a[o]);break;case 88:this.$=a[o-4],r.setLink(a[o-3],a[o-1]),r.setTooltip(a[o-3],a[o]);break;case 89:this.$=a[o-5],r.setLink(a[o-4],a[o-2],a[o]),r.setTooltip(a[o-4],a[o-1]);break;case 90:this.$=a[o-2],r.setCssStyle(a[o-1],a[o]);break;case 91:r.setCssClass(a[o-1],a[o]);break;case 93:a[o-2].push(a[o]),this.$=a[o-2]}}),"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:n,37:r,38:22,42:i,43:23,46:a,47:o,49:l,50:c,52:h,54:u,55:d,58:p,60:g,61:f,62:m,63:y,73:v,74:x,76:b,80:w,81:k,84:T,99:_,101:E,102:S},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(C,[2,5],{8:[1,48]}),{8:[1,49]},t(A,[2,18],{22:[1,50]}),t(A,[2,20]),t(A,[2,21]),t(A,[2,22]),t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),t(A,[2,26]),t(A,[2,27]),t(A,[2,28]),t(A,[2,29]),{34:[1,51]},{36:[1,52]},t(A,[2,32]),t(A,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:L,67:M,68:N,69:I,70:R,71:D,72:O}),{39:[1,65]},t(P,[2,39],{39:[1,67],44:[1,66]}),t(A,[2,50]),t(A,[2,51]),{16:68,58:p,84:T,99:_,101:E},{16:39,18:69,19:40,58:p,84:T,99:_,101:E,102:S},{16:39,18:70,19:40,58:p,84:T,99:_,101:E,102:S},{16:39,18:71,19:40,58:p,84:T,99:_,101:E,102:S},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:p,84:T,99:_,101:E,102:S},{13:$,53:75},{56:77,58:[1,78]},t(A,[2,61]),t(A,[2,62]),t(A,[2,63]),t(A,[2,64]),t(B,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:p,84:T,99:_,101:E,102:S}),t(B,[2,14],{20:[1,82]}),{15:83,16:84,58:p,84:T,99:_,101:E},{16:39,18:85,19:40,58:p,84:T,99:_,101:E,102:S},t(F,[2,118]),t(F,[2,119]),t(F,[2,120]),t(F,[2,121]),t([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),t(C,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:e,35:n,37:r,42:i,46:a,47:o,49:l,50:c,52:h,54:u,55:d,58:p,60:g,61:f,62:m,63:y,73:v,74:x,76:b,80:w,81:k,84:T,99:_,101:E,102:S}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:n,37:r,38:22,42:i,43:23,46:a,47:o,49:l,50:c,52:h,54:u,55:d,58:p,60:g,61:f,62:m,63:y,73:v,74:x,76:b,80:w,81:k,84:T,99:_,101:E,102:S},t(A,[2,19]),t(A,[2,30]),t(A,[2,31]),{13:[1,89],16:39,18:88,19:40,58:p,84:T,99:_,101:E,102:S},{51:90,64:56,65:57,66:L,67:M,68:N,69:I,70:R,71:D,72:O},t(A,[2,49]),{65:91,71:D,72:O},t(W,[2,68],{64:92,66:L,67:M,68:N,69:I,70:R}),t(z,[2,69]),t(z,[2,70]),t(z,[2,71]),t(z,[2,72]),t(z,[2,73]),t(Z,[2,74]),t(Z,[2,75]),{8:[1,94],24:95,40:93,43:23,46:a},{16:96,58:p,84:T,99:_,101:E},{45:97,49:Y},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:U,57:104,58:G,80:V,82:105,83:106,84:q,85:j,86:H,87:X,88:K,89:Q},{58:[1,116]},{13:$,53:117},t(A,[2,57]),t(A,[2,123]),{22:U,57:118,58:G,59:[1,119],80:V,82:105,83:106,84:q,85:j,86:H,87:X,88:K,89:Q},t(J,[2,59]),{16:39,18:120,19:40,58:p,84:T,99:_,101:E,102:S},t(B,[2,15]),t(B,[2,16]),t(B,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:p,84:T,99:_,101:E},t(tt,[2,43],{11:123,12:[1,124]}),t(C,[2,7]),{9:[1,125]},t(et,[2,52]),{16:39,18:126,19:40,58:p,84:T,99:_,101:E,102:S},{13:[1,128],16:39,18:127,19:40,58:p,84:T,99:_,101:E,102:S},t(W,[2,67],{64:129,66:L,67:M,68:N,69:I,70:R}),t(W,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:a},{8:[1,132],41:[2,36]},t(P,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:Y},{16:39,18:136,19:40,58:p,84:T,99:_,101:E,102:S},t(A,[2,76],{13:[1,137]}),t(A,[2,78],{13:[1,139],75:[1,138]}),t(A,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},t(A,[2,90],{59:nt}),t(rt,[2,92],{83:144,22:U,58:G,80:V,84:q,85:j,86:H,87:X,88:K,89:Q}),t(it,[2,94]),t(it,[2,96]),t(it,[2,97]),t(it,[2,98]),t(it,[2,99]),t(it,[2,100]),t(it,[2,101]),t(it,[2,102]),t(it,[2,103]),t(it,[2,104]),t(A,[2,91]),t(A,[2,56]),t(A,[2,58],{59:nt}),{58:[1,145]},t(B,[2,13]),{15:146,16:84,58:p,84:T,99:_,101:E},{39:[2,11]},t(tt,[2,44]),{13:[1,147]},{1:[2,4]},t(et,[2,54]),t(et,[2,53]),{16:39,18:148,19:40,58:p,84:T,99:_,101:E,102:S},t(W,[2,65]),t(A,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:a},{45:151,49:Y},t(P,[2,41]),{41:[2,47]},t(A,[2,45]),t(A,[2,77]),t(A,[2,79]),t(A,[2,80],{75:[1,152]}),t(A,[2,83]),t(A,[2,84],{13:[1,153]}),t(A,[2,86],{13:[1,155],75:[1,154]}),{22:U,58:G,80:V,82:156,83:106,84:q,85:j,86:H,87:X,88:K,89:Q},t(it,[2,95]),t(J,[2,60]),{39:[2,10]},{14:[1,157]},t(et,[2,55]),t(A,[2,34]),{41:[2,38]},{41:[1,158]},t(A,[2,81]),t(A,[2,85]),t(A,[2,87]),t(A,[2,88],{75:[1,159]}),t(rt,[2,93],{83:144,22:U,58:G,80:V,84:q,85:j,86:H,87:X,88:K,89:Q}),t(tt,[2,8]),t(P,[2,42]),t(A,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},st=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:case 14:case 31:case 36:case 40:case 47:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 58:case 61:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 35:return 8;case 15:case 16:return 7;case 17:case 37:case 45:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 23:return 78;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:case 39:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:case 43:return this.popState(),41;case 34:case 44:return"EOF_IN_STRUCT";case 38:return this.begin("class"),46;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 46:return"OPEN_IN_STRUCT";case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}}),"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}}}();function ot(){this.yy={}}return at.lexer=st,(0,s.eW)(ot,"Parser"),ot.prototype=at,at.Parser=ot,new ot}();l.parser=l;var c=l,h=["#","+","~","-",""],u=class{static{(0,s.eW)(this,"ClassMember")}constructor(t,e){this.memberType=e,this.visibility="",this.classifier="",this.text="";const n=(0,s.oO)(t,(0,s.nV)());this.parseMember(n)}getDisplayDetails(){let t=this.visibility+(0,s.UO)(this.id);return"method"===this.memberType&&(t+=`(${(0,s.UO)(this.parameters.trim())})`,this.returnType&&(t+=" : "+(0,s.UO)(this.returnType))),t=t.trim(),{displayText:t,cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){const n=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(n){const t=n[1]?n[1].trim():"";if(h.includes(t)&&(this.visibility=t),this.id=n[2],this.parameters=n[3]?n[3].trim():"",e=n[4]?n[4].trim():"",this.returnType=n[5]?n[5].trim():"",""===e){const t=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(t)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const n=t.length,r=t.substring(0,1),i=t.substring(n-1);h.includes(r)&&(this.visibility=r),/[$*]/.exec(i)&&(e=i),this.id=t.substring(""===this.visibility?0:1,""===e?n:n-1)}this.classifier=e,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${(0,s.UO)(this.id)}${"method"===this.memberType?`(${(0,s.UO)(this.parameters)})${this.returnType?" : "+(0,s.UO)(this.returnType):""}`:""}`;this.text=n.replaceAll("<","&lt;").replaceAll(">","&gt;"),this.text.startsWith("\\&lt;")&&(this.text=this.text.replace("\\&lt;","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},d="classId-",p=0,g=(0,s.eW)((t=>s.SY.sanitizeText(t,(0,s.nV)())),"sanitizeText"),f=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=[],this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=(0,s.eW)((t=>{let e=(0,o.Ys)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=(0,o.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,o.Ys)(t).select("svg").selectAll("g.node").on("mouseover",(t=>{const n=(0,o.Ys)(t.currentTarget);if(null===n.attr("title"))return;const r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(n.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),n.classed("hover",!0)})).on("mouseout",(t=>{e.transition().duration(500).style("opacity",0),(0,o.Ys)(t.currentTarget).classed("hover",!1)}))}),"setupToolTips"),this.direction="TB",this.setAccTitle=s.GN,this.getAccTitle=s.eu,this.setAccDescription=s.U$,this.getAccDescription=s.Mx,this.setDiagramTitle=s.g2,this.getDiagramTitle=s.Kr,this.getConfig=(0,s.eW)((()=>(0,s.nV)().class),"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{(0,s.eW)(this,"ClassDB")}splitClassNameAndType(t){const e=s.SY.sanitizeText(t,(0,s.nV)());let n="",r=e;if(e.indexOf("~")>0){const t=e.split("~");r=g(t[0]),n=g(t[1])}return{className:r,type:n}}setClassLabel(t,e){const n=s.SY.sanitizeText(t,(0,s.nV)());e&&(e=g(e));const{className:r}=this.splitClassNameAndType(n);this.classes.get(r).label=e,this.classes.get(r).text=`${e}${this.classes.get(r).type?`<${this.classes.get(r).type}>`:""}`}addClass(t){const e=s.SY.sanitizeText(t,(0,s.nV)()),{className:n,type:r}=this.splitClassNameAndType(e);if(this.classes.has(n))return;const i=s.SY.sanitizeText(n,(0,s.nV)());this.classes.set(i,{id:i,type:r,label:i,text:`${i}${r?`&lt;${r}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:d+i+"-"+p}),p++}addInterface(t,e){const n={id:`interface${this.interfaces.length}`,label:t,classId:e};this.interfaces.push(n)}lookUpDomId(t){const e=s.SY.sanitizeText(t,(0,s.nV)());if(this.classes.has(e))return this.classes.get(e).domId;throw new Error("Class not found: "+e)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",(0,s.ZH)()}getClass(t){return this.classes.get(t)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(t){s.cM.debug("Adding relation: "+JSON.stringify(t));const e=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];t.relation.type1!==this.relationType.LOLLIPOP||e.includes(t.relation.type2)?t.relation.type2!==this.relationType.LOLLIPOP||e.includes(t.relation.type1)?(this.addClass(t.id1),this.addClass(t.id2)):(this.addClass(t.id1),this.addInterface(t.id2,t.id1),t.id2="interface"+(this.interfaces.length-1)):(this.addClass(t.id2),this.addInterface(t.id1,t.id2),t.id1="interface"+(this.interfaces.length-1)),t.id1=this.splitClassNameAndType(t.id1).className,t.id2=this.splitClassNameAndType(t.id2).className,t.relationTitle1=s.SY.sanitizeText(t.relationTitle1.trim(),(0,s.nV)()),t.relationTitle2=s.SY.sanitizeText(t.relationTitle2.trim(),(0,s.nV)()),this.relations.push(t)}addAnnotation(t,e){const n=this.splitClassNameAndType(t).className;this.classes.get(n).annotations.push(e)}addMember(t,e){this.addClass(t);const n=this.splitClassNameAndType(t).className,r=this.classes.get(n);if("string"==typeof e){const t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?r.annotations.push(g(t.substring(2,t.length-2))):t.indexOf(")")>0?r.methods.push(new u(t,"method")):t&&r.members.push(new u(t,"attribute"))}}addMembers(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((e=>this.addMember(t,e))))}addNote(t,e){const n={id:`note${this.notes.length}`,class:e,text:t};this.notes.push(n)}cleanupLabel(t){return t.startsWith(":")&&(t=t.substring(1)),g(t.trim())}setCssClass(t,e){t.split(",").forEach((t=>{let n=t;/\d/.exec(t[0])&&(n=d+n);const r=this.classes.get(n);r&&(r.cssClasses+=" "+e)}))}defineClass(t,e){for(const n of t){let t=this.styleClasses.get(n);void 0===t&&(t={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,t)),e&&e.forEach((e=>{if(/color/.exec(e)){const n=e.replace("fill","bgFill");t.textStyles.push(n)}t.styles.push(e)})),this.classes.forEach((t=>{t.cssClasses.includes(n)&&t.styles.push(...e.flatMap((t=>t.split(","))))}))}}setTooltip(t,e){t.split(",").forEach((t=>{void 0!==e&&(this.classes.get(t).tooltip=g(e))}))}getTooltip(t,e){return e&&this.namespaces.has(e)?this.namespaces.get(e).classes.get(t).tooltip:this.classes.get(t).tooltip}setLink(t,e,n){const r=(0,s.nV)();t.split(",").forEach((t=>{let i=t;/\d/.exec(t[0])&&(i=d+i);const s=this.classes.get(i);s&&(s.link=a.w8.formatUrl(e,r),"sandbox"===r.securityLevel?s.linkTarget="_top":s.linkTarget="string"==typeof n?g(n):"_blank")})),this.setCssClass(t,"clickable")}setClickEvent(t,e,n){t.split(",").forEach((t=>{this.setClickFunc(t,e,n),this.classes.get(t).haveCallback=!0})),this.setCssClass(t,"clickable")}setClickFunc(t,e,n){const r=s.SY.sanitizeText(t,(0,s.nV)());if("loose"!==(0,s.nV)().securityLevel)return;if(void 0===e)return;const i=r;if(this.classes.has(i)){const t=this.lookUpDomId(i);let r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<r.length;t++){let e=r[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),r[t]=e}}0===r.length&&r.push(t),this.functions.push((()=>{const n=document.querySelector(`[id="${t}"]`);null!==n&&n.addEventListener("click",(()=>{a.w8.runFunc(e,...r)}),!1)}))}}bindFunctions(t){this.functions.forEach((e=>{e(t)}))}getDirection(){return this.direction}setDirection(t){this.direction=t}addNamespace(t){this.namespaces.has(t)||(this.namespaces.set(t,{id:t,classes:new Map,children:{},domId:d+t+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(t){return this.namespaces.get(t)}getNamespaces(){return this.namespaces}addClassesToNamespace(t,e){if(this.namespaces.has(t))for(const n of e){const{className:e}=this.splitClassNameAndType(n);this.classes.get(e).parent=t,this.namespaces.get(t).classes.set(e,this.classes.get(e))}}setCssStyle(t,e){const n=this.classes.get(t);if(e&&n)for(const t of e)t.includes(",")?n.styles.push(...t.split(",")):n.styles.push(t)}getArrowMarker(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}getData(){const t=[],e=[],n=(0,s.nV)();for(const e of this.namespaces.keys()){const r=this.namespaces.get(e);if(r){const e={id:r.id,label:r.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:n.look};t.push(e)}}for(const e of this.classes.keys()){const r=this.classes.get(e);if(r){const e=r;e.parentId=r.parent,e.look=n.look,t.push(e)}}let r=0;for(const i of this.notes){r++;const a={id:i.id,label:i.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look};t.push(a);const s=this.classes.get(i.class)?.id??"";if(s){const t={id:`edgeNote${r}`,start:i.id,end:s,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};e.push(t)}}for(const e of this.interfaces){const r={id:e.id,label:e.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};t.push(r)}r=0;for(const t of this.relations){r++;const i={id:(0,a.Ln)(t.id1,t.id2,{prefix:"id",counter:r}),start:t.id1,end:t.id2,type:"normal",label:t.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(t.relation.type1),arrowTypeEnd:this.getArrowMarker(t.relation.type2),startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:t.style||"",pattern:1==t.relation.lineType?"dashed":"solid",look:n.look};e.push(i)}return{nodes:t,edges:e,other:{},config:n,direction:this.getDirection()}}},m=(0,s.eW)((t=>`g.classGroup text {\n fill: ${t.nodeBorder||t.classText};\n stroke: none;\n font-family: ${t.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${t.classText};\n}\n.edgeLabel .label rect {\n fill: ${t.mainBkg};\n}\n.label text {\n fill: ${t.classText};\n}\n\n.labelBkg {\n background: ${t.mainBkg};\n}\n.edgeLabel .label span {\n background: ${t.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${t.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`),"getStyles"),y=(0,s.eW)(((t,e="TB")=>{if(!t.doc)return e;let n=e;for(const e of t.doc)"dir"===e.stmt&&(n=e.value);return n}),"getDir"),v={getClasses:(0,s.eW)((function(t,e){return e.db.getClasses()}),"getClasses"),draw:(0,s.eW)((async function(t,e,n,o){s.cM.info("REF0:"),s.cM.info("Drawing class diagram (v3)",e);const{securityLevel:l,state:c,layout:h}=(0,s.nV)(),u=o.db.getData(),d=(0,r.q)(e,l);u.type=o.type,u.layoutAlgorithm=(0,i._b)(h),u.nodeSpacing=c?.nodeSpacing||50,u.rankSpacing=c?.rankSpacing||50,u.markers=["aggregation","extension","composition","dependency","lollipop"],u.diagramId=e,await(0,i.sY)(u,d),a.w8.insertTitle(d,"classDiagramTitleText",c?.titleTopMargin??25,o.db.getDiagramTitle()),(0,r.j)(d,8,"classDiagram",c?.useMaxWidth??!0)}),"draw"),getDir:y}},9836:(t,e,n)=>{"use strict";n.d(e,{Ee:()=>tt,J8:()=>l,_$:()=>D,oI:()=>J});var r=n(907),i=n(8337),a=n(7946),s=n(4082),o=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,2],n=[1,3],r=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,16],c=[1,17],h=[1,18],u=[1,19],d=[1,32],p=[1,20],g=[1,21],f=[1,22],m=[1,23],y=[1,24],v=[1,26],x=[1,27],b=[1,28],w=[1,29],k=[1,30],T=[1,31],_=[1,34],E=[1,35],S=[1,36],C=[1,37],A=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],M=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],N=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],I={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"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,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],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 3:return r.setRootDoc(a[o]),a[o];case 4:this.$=[];break;case 5:"nl"!=a[o]&&(a[o-1].push(a[o]),this.$=a[o-1]);break;case 6:case 7:case 12:this.$=a[o];break;case 8:this.$="nl";break;case 13:const t=a[o-1];t.description=r.trimColon(a[o]),this.$=t;break;case 14:this.$={stmt:"relation",state1:a[o-2],state2:a[o]};break;case 15:const e=r.trimColon(a[o]);this.$={stmt:"relation",state1:a[o-3],state2:a[o-1],description:e};break;case 19:this.$={stmt:"state",id:a[o-3],type:"default",description:"",doc:a[o-1]};break;case 20:var l=a[o],c=a[o-2].trim();if(a[o].match(":")){var h=a[o].split(":");l=h[0],c=[c,h[1]]}this.$={stmt:"state",id:l,type:"default",description:c};break;case 21:this.$={stmt:"state",id:a[o-3],type:"default",description:a[o-5],doc:a[o-1]};break;case 22:this.$={stmt:"state",id:a[o],type:"fork"};break;case 23:this.$={stmt:"state",id:a[o],type:"join"};break;case 24:this.$={stmt:"state",id:a[o],type:"choice"};break;case 25:this.$={stmt:"state",id:r.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:a[o-1].trim(),note:{position:a[o-2].trim(),text:a[o].trim()}};break;case 29:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 30:case 31:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:a[o-1].trim(),classes:a[o].trim()};break;case 34:this.$={stmt:"style",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 35:this.$={stmt:"applyClass",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 36:r.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:r.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:r.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:r.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:a[o].trim(),type:"default",description:""};break;case 44:case 45:this.$={stmt:"state",id:a[o-2].trim(),classes:[a[o].trim()],type:"default",description:""}}}),"anonymous"),table:[{3:1,4:e,5:n,6:r},{1:[3]},{3:5,4:e,5:n,6:r},{3:6,4:e,5:n,6:r},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,22:u,24:d,25:p,26:g,27:f,28:m,29:y,32:25,33:v,35:x,37:b,38:w,42:k,45:T,48:_,49:E,50:S,51:C,54:A},t(L,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:c,19:h,22:u,24:d,25:p,26:g,27:f,28:m,29:y,32:25,33:v,35:x,37:b,38:w,42:k,45:T,48:_,49:E,50:S,51:C,54:A},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,39],15:[1,40]}),t(L,[2,16]),{18:[1,41]},t(L,[2,18],{20:[1,42]}),{23:[1,43]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(L,[2,28]),{34:[1,48]},{36:[1,49]},t(L,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(M,[2,42],{55:[1,54]}),t(M,[2,43],{55:[1,55]}),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,6]),t(L,[2,13]),{13:56,24:d,54:A},t(L,[2,17]),t(N,i,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(L,[2,29]),t(L,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(L,[2,14],{14:[1,67]}),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,21:[1,68],22:u,24:d,25:p,26:g,27:f,28:m,29:y,32:25,33:v,35:x,37:b,38:w,42:k,45:T,48:_,49:E,50:S,51:C,54:A},t(L,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(L,[2,32]),t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(M,[2,44]),t(M,[2,45]),t(L,[2,15]),t(L,[2,19]),t(N,i,{7:72}),t(L,[2,26]),t(L,[2,27]),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,21:[1,73],22:u,24:d,25:p,26:g,27:f,28:m,29:y,32:25,33:v,35:x,37:b,38:w,42:k,45:T,48:_,49:E,50:S,51:C,54:A},t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},R=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:return 41;case 1:case 42:return 48;case 2:case 43:return 49;case 3:case 44:return 50;case 4:case 45:return 51;case 5:case 6:case 8:case 9:case 10:case 11:case 54:case 56:case 62:break;case 7:case 77:return 5;case 12:case 32:return this.pushState("SCALE"),17;case 13:case 33:return 18;case 14:case 20:case 34:case 49:case 52:this.popState();break;case 15:return this.begin("acc_title"),33;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),35;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"),38;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),39;case 25:return this.popState(),40;case 26:return this.pushState("CLASS"),45;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;case 28:return this.popState(),47;case 29:return this.pushState("STYLE"),42;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;case 31:return this.popState(),44;case 35:this.pushState("STATE");break;case 36:case 39:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 37:case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";case 48:case 64:return this.popState(),"ID";case 50:return"STATE_DESCR";case 51:return 19;case 53:return this.popState(),this.pushState("struct"),20;case 55:return this.popState(),21;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),56;case 59:return this.popState(),this.pushState("NOTE_ID"),57;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 63:return"NOTE_TEXT";case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;case 66:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 67:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 68:case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return e.yytext=e.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 55;case 78:return"INVALID"}}),"anonymous"),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,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/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,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],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,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],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,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}}}();function D(){this.yy={}}return I.lexer=R,(0,s.eW)(D,"Parser"),D.prototype=I,I.Parser=D,new D}();o.parser=o;var l=o,c="state",h="relation",u="default",d="divider",p="fill:none",g="fill: #333",f="text",m="normal",y="rect",v="rectWithTitle",x="divider",b="roundedWithTitle",w="statediagram",k=`${w}-state`,T="transition",_=`${T} note-edge`,E=`${w}-note`,S=`${w}-cluster`,C=`${w}-cluster-alt`,A="parent",L="note",M="----",N=`${M}${L}`,I=`${M}${A}`,R=(0,s.eW)(((t,e="TB")=>{if(!t.doc)return e;let n=e;for(const e of t.doc)"dir"===e.stmt&&(n=e.value);return n}),"getDir"),D={getClasses:(0,s.eW)((function(t,e){return e.db.getClasses()}),"getClasses"),draw:(0,s.eW)((async function(t,e,n,o){s.cM.info("REF0:"),s.cM.info("Drawing state diagram (v2)",e);const{securityLevel:l,state:c,layout:h}=(0,s.nV)();o.db.extract(o.db.getRootDocV2());const u=o.db.getData(),d=(0,r.q)(e,l);u.type=o.type,u.layoutAlgorithm=h,u.nodeSpacing=c?.nodeSpacing||50,u.rankSpacing=c?.rankSpacing||50,u.markers=["barb"],u.diagramId=e,await(0,i.sY)(u,d),a.w8.insertTitle(d,"statediagramTitleText",c?.titleTopMargin??25,o.db.getDiagramTitle()),(0,r.j)(d,8,w,c?.useMaxWidth??!0)}),"draw"),getDir:R},O=new Map,P=0;function $(t="",e=0,n="",r=M){return`state-${t}${null!==n&&n.length>0?`${r}${n}`:""}-${e}`}(0,s.eW)($,"stateDomId");var B=(0,s.eW)(((t,e,n,r,i,a,o,l)=>{s.cM.trace("items",e),e.forEach((e=>{switch(e.stmt){case c:case u:Y(t,e,n,r,i,a,o,l);break;case h:{Y(t,e.state1,n,r,i,a,o,l),Y(t,e.state2,n,r,i,a,o,l);const c={id:"edge"+P,start:e.state1.id,end:e.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:p,labelStyle:"",label:s.SY.sanitizeText(e.description,(0,s.nV)()),arrowheadStyle:g,labelpos:"c",labelType:f,thickness:m,classes:T,look:o};i.push(c),P++}}}))}),"setupDoc"),F=(0,s.eW)(((t,e="TB")=>{let n=e;if(t.doc)for(const e of t.doc)"dir"===e.stmt&&(n=e.value);return n}),"getDir");function W(t,e,n){if(!e.id||"</join></fork>"===e.id||"</choice>"===e.id)return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach((t=>{if(n.get(t)){const r=n.get(t);e.cssCompiledStyles=[...e.cssCompiledStyles,...r.styles]}})));const r=t.find((t=>t.id===e.id));r?Object.assign(r,e):t.push(e)}function z(t){return t?.classes?.join(" ")??""}function Z(t){return t?.styles??[]}(0,s.eW)(W,"insertOrUpdateNode"),(0,s.eW)(z,"getClassesFromDbInfo"),(0,s.eW)(Z,"getStylesFromDbInfo");var Y=(0,s.eW)(((t,e,n,r,i,a,o,l)=>{const c=e.id,h=n.get(c),w=z(h),T=Z(h);if(s.cM.info("dataFetcher parsedItem",e,h,T),"root"!==c){let n=y;!0===e.start?n="stateStart":!1===e.start&&(n="stateEnd"),e.type!==u&&(n=e.type),O.get(c)||O.set(c,{id:c,shape:n,description:s.SY.sanitizeText(c,(0,s.nV)()),cssClasses:`${w} ${k}`,cssStyles:T});const h=O.get(c);e.description&&(Array.isArray(h.description)?(h.shape=v,h.description.push(e.description)):h.description?.length>0?(h.shape=v,h.description===c?h.description=[e.description]:h.description=[h.description,e.description]):(h.shape=y,h.description=e.description),h.description=s.SY.sanitizeTextOrArray(h.description,(0,s.nV)())),1===h.description?.length&&h.shape===v&&("group"===h.type?h.shape=b:h.shape=y),!h.type&&e.doc&&(s.cM.info("Setting cluster for XCX",c,F(e)),h.type="group",h.isGroup=!0,h.dir=F(e),h.shape=e.type===d?x:b,h.cssClasses=`${h.cssClasses} ${S} ${a?C:""}`);const M={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:c,dir:h.dir,domId:$(c,P),type:h.type,isGroup:"group"===h.type,padding:8,rx:10,ry:10,look:o};if(M.shape===x&&(M.label=""),t&&"root"!==t.id&&(s.cM.trace("Setting node ",c," to be child of its parent ",t.id),M.parentId=t.id),M.centerLabel=!0,e.note){const t={labelStyle:"",shape:"note",label:e.note.text,cssClasses:E,cssStyles:[],cssCompilesStyles:[],id:c+N+"-"+P,domId:$(c,P,L),type:h.type,isGroup:"group"===h.type,padding:(0,s.nV)().flowchart.padding,look:o,position:e.note.position},n=c+I,a={labelStyle:"",shape:"noteGroup",label:e.note.text,cssClasses:h.cssClasses,cssStyles:[],id:c+I,domId:$(c,P,A),type:"group",isGroup:!0,padding:16,look:o,position:e.note.position};P++,a.id=n,t.parentId=n,W(r,a,l),W(r,t,l),W(r,M,l);let u=c,d=t.id;"left of"===e.note.position&&(u=t.id,d=c),i.push({id:u+"-"+d,start:u,end:d,arrowhead:"none",arrowTypeEnd:"",style:p,labelStyle:"",classes:_,arrowheadStyle:g,labelpos:"c",labelType:f,thickness:m,look:o})}else W(r,M,l)}e.doc&&(s.cM.trace("Adding nodes children "),B(e,e.doc,n,r,i,!a,o,l))}),"dataFetcher"),U=(0,s.eW)((()=>{O.clear(),P=0}),"reset"),G="[*]",V="start",q=G,j="color",H="fill";function X(){return new Map}(0,s.eW)(X,"newClassesList");var K=(0,s.eW)((()=>({relations:[],states:new Map,documents:{}})),"newDoc"),Q=(0,s.eW)((t=>JSON.parse(JSON.stringify(t))),"clone"),J=class{static{(0,s.eW)(this,"StateDB")}constructor(t){this.clear(),this.version=t,this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}version;nodes=[];edges=[];rootDoc=[];classes=X();documents={root:K()};currentDocument=this.documents.root;startEndCount=0;dividerCnt=0;static relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3};setRootDoc(t){s.cM.info("Setting root doc",t),this.rootDoc=t,1===this.version?this.extract(t):this.extract(this.getRootDocV2())}getRootDoc(){return this.rootDoc}docTranslator(t,e,n){if(e.stmt===h)this.docTranslator(t,e.state1,!0),this.docTranslator(t,e.state2,!1);else if(e.stmt===c&&("[*]"===e.id?(e.id=n?t.id+"_start":t.id+"_end",e.start=n):e.id=e.id.trim()),e.doc){const t=[];let n,r=[];for(n=0;n<e.doc.length;n++)if(e.doc[n].type===d){const i=Q(e.doc[n]);i.doc=Q(r),t.push(i),r=[]}else r.push(e.doc[n]);if(t.length>0&&r.length>0){const n={stmt:c,id:(0,a.Ox)(),type:"divider",doc:Q(r)};t.push(Q(n)),e.doc=t}e.doc.forEach((t=>this.docTranslator(e,t,!0)))}}getRootDocV2(){return this.docTranslator({id:"root"},{id:"root",doc:this.rootDoc},!0),{id:"root",doc:this.rootDoc}}extract(t){let e;e=t.doc?t.doc:t,s.cM.info(e),this.clear(!0),s.cM.info("Extract initial document:",e),e.forEach((t=>{switch(s.cM.warn("Statement",t.stmt),t.stmt){case c:this.addState(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case h:this.addRelation(t.state1,t.state2,t.description);break;case"classDef":this.addStyleClass(t.id.trim(),t.classes);break;case"style":{const e=t.id.trim().split(","),n=t.styleClass.split(",");e.forEach((t=>{let e=this.getState(t);if(void 0===e){const n=t.trim();this.addState(n),e=this.getState(n)}e.styles=n.map((t=>t.replace(/;/g,"")?.trim()))}))}break;case"applyClass":this.setCssClass(t.id.trim(),t.styleClass)}}));const n=this.getStates(),r=(0,s.nV)().look;U(),Y(void 0,this.getRootDocV2(),n,this.nodes,this.edges,!0,r,this.classes),this.nodes.forEach((t=>{if(Array.isArray(t.label)){if(t.description=t.label.slice(1),t.isGroup&&t.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+t.id+"]");t.label=t.label[0]}}))}addState(t,e=u,n=null,r=null,i=null,a=null,o=null,l=null){const c=t?.trim();if(this.currentDocument.states.has(c)?(this.currentDocument.states.get(c).doc||(this.currentDocument.states.get(c).doc=n),this.currentDocument.states.get(c).type||(this.currentDocument.states.get(c).type=e)):(s.cM.info("Adding state ",c,r),this.currentDocument.states.set(c,{id:c,descriptions:[],type:e,doc:n,note:i,classes:[],styles:[],textStyles:[]})),r&&(s.cM.info("Setting state description",c,r),"string"==typeof r&&this.addDescription(c,r.trim()),"object"==typeof r&&r.forEach((t=>this.addDescription(c,t.trim())))),i){const t=this.currentDocument.states.get(c);t.note=i,t.note.text=s.SY.sanitizeText(t.note.text,(0,s.nV)())}a&&(s.cM.info("Setting state classes",c,a),("string"==typeof a?[a]:a).forEach((t=>this.setCssClass(c,t.trim())))),o&&(s.cM.info("Setting state styles",c,o),("string"==typeof o?[o]:o).forEach((t=>this.setStyle(c,t.trim())))),l&&(s.cM.info("Setting state styles",c,o),("string"==typeof l?[l]:l).forEach((t=>this.setTextStyle(c,t.trim()))))}clear(t){this.nodes=[],this.edges=[],this.documents={root:K()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=X(),t||(0,s.ZH)()}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){s.cM.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}startIdIfNeeded(t=""){let e=t;return t===G&&(this.startEndCount++,e=`${V}${this.startEndCount}`),e}startTypeIfNeeded(t="",e=u){return t===G?V:e}endIdIfNeeded(t=""){let e=t;return t===q&&(this.startEndCount++,e=`end${this.startEndCount}`),e}endTypeIfNeeded(t="",e=u){return t===q?"end":e}addRelationObjs(t,e,n){let r=this.startIdIfNeeded(t.id.trim()),i=this.startTypeIfNeeded(t.id.trim(),t.type),a=this.startIdIfNeeded(e.id.trim()),o=this.startTypeIfNeeded(e.id.trim(),e.type);this.addState(r,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.currentDocument.relations.push({id1:r,id2:a,relationTitle:s.SY.sanitizeText(n,(0,s.nV)())})}addRelation(t,e,n){if("object"==typeof t)this.addRelationObjs(t,e,n);else{const r=this.startIdIfNeeded(t.trim()),i=this.startTypeIfNeeded(t),a=this.endIdIfNeeded(e.trim()),o=this.endTypeIfNeeded(e);this.addState(r,i),this.addState(a,o),this.currentDocument.relations.push({id1:r,id2:a,title:s.SY.sanitizeText(n,(0,s.nV)())})}}addDescription(t,e){const n=this.currentDocument.states.get(t),r=e.startsWith(":")?e.replace(":","").trim():e;n.descriptions.push(s.SY.sanitizeText(r,(0,s.nV)()))}cleanupLabel(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,"divider-id-"+this.dividerCnt}addStyleClass(t,e=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});const n=this.classes.get(t);null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(j).exec(t)){const t=e.replace(H,"bgFill").replace(j,H);n.textStyles.push(t)}n.styles.push(e)}))}getClasses(){return this.classes}setCssClass(t,e){t.split(",").forEach((t=>{let n=this.getState(t);if(void 0===n){const e=t.trim();this.addState(e),n=this.getState(e)}n.classes.push(e)}))}setStyle(t,e){const n=this.getState(t);void 0!==n&&n.styles.push(e)}setTextStyle(t,e){const n=this.getState(t);void 0!==n&&n.textStyles.push(e)}getDirectionStatement(){return this.rootDoc.find((t=>"dir"===t.stmt))}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(t){const e=this.getDirectionStatement();e?e.value=t:this.rootDoc.unshift({stmt:"dir",value:t})}trimColon(t){return t&&":"===t[0]?t.substr(1).trim():t.trim()}getData(){const t=(0,s.nV)();return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:R(this.getRootDocV2())}}getConfig(){return(0,s.nV)().state}getAccTitle=s.eu;setAccTitle=s.GN;getAccDescription=s.Mx;setAccDescription=s.U$;setDiagramTitle=s.g2;getDiagramTitle=s.Kr},tt=(0,s.eW)((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 {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\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 // line-height: 1;\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`),"getStyles")},214:(t,e,n)=>{"use strict";n.d(e,{QA:()=>Lt,rw:()=>Rt,EY:()=>It});var r=n(7946),i=n(4082),a=n(3108);let s={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function o(t){s=t}const l={exec:()=>null};function c(t,e=""){let n="string"==typeof t?t:t.source;const r={replace:(t,e)=>{let i="string"==typeof e?e:e.source;return i=i.replace(h.caret,"$1"),n=n.replace(t,i),r},getRegex:()=>new RegExp(n,e)};return r}const h={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},u=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,d=/(?:[*+-]|\d{1,9}[.)])/,p=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,g=c(p).replace(/bull/g,d).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),f=c(p).replace(/bull/g,d).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),m=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y=/(?!\s*\])(?:\\.|[^\[\]\\])+/,v=c(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",y).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),x=c(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,d).getRegex(),b="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,k=c("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",w).replace("tag",b).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),T=c(m).replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex(),_={blockquote:c(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",T).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:v,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:u,html:k,lheading:g,list:x,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:T,table:l,text:/^[^\n]+/},E=c("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex(),S={..._,lheading:f,table:E,paragraph:c(m).replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",E).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex()},C={..._,html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:c(m).replace("hr",u).replace("heading"," *#{1,6} *[^\n]").replace("lheading",g).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},A=/^( {2,}|\\)\n(?!\s*$)/,L=/[\p{P}\p{S}]/u,M=/[\s\p{P}\p{S}]/u,N=/[^\s\p{P}\p{S}]/u,I=c(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,M).getRegex(),R=/(?!~)[\p{P}\p{S}]/u,D=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,O=c(D,"u").replace(/punct/g,L).getRegex(),P=c(D,"u").replace(/punct/g,R).getRegex(),$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",B=c($,"gu").replace(/notPunctSpace/g,N).replace(/punctSpace/g,M).replace(/punct/g,L).getRegex(),F=c($,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,R).getRegex(),W=c("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,N).replace(/punctSpace/g,M).replace(/punct/g,L).getRegex(),z=c(/\\(punct)/,"gu").replace(/punct/g,L).getRegex(),Z=c(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Y=c(w).replace("(?:--\x3e|$)","--\x3e").getRegex(),U=c("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Y).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),G=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,V=c(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",G).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),q=c(/^!?\[(label)\]\[(ref)\]/).replace("label",G).replace("ref",y).getRegex(),j=c(/^!?\[(ref)\](?:\[\])?/).replace("ref",y).getRegex(),H={_backpedal:l,anyPunctuation:z,autolink:Z,blockSkip:/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,br:A,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,emStrongLDelim:O,emStrongRDelimAst:B,emStrongRDelimUnd:W,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:V,nolink:j,punctuation:I,reflink:q,reflinkSearch:c("reflink|nolink(?!\\()","g").replace("reflink",q).replace("nolink",j).getRegex(),tag:U,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},X={...H,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",G).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",G).getRegex()},K={...H,emStrongRDelimAst:F,emStrongLDelim:P,url:c(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},Q={...K,br:c(A).replace("{2,}","*").getRegex(),text:c(K.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},J={normal:_,gfm:S,pedantic:C},tt={normal:H,gfm:K,breaks:Q,pedantic:X},et={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},nt=t=>et[t];function rt(t,e){if(e){if(h.escapeTest.test(t))return t.replace(h.escapeReplace,nt)}else if(h.escapeTestNoEncode.test(t))return t.replace(h.escapeReplaceNoEncode,nt);return t}function it(t){try{t=encodeURI(t).replace(h.percentDecode,"%")}catch{return null}return t}function at(t,e){const n=t.replace(h.findPipe,((t,e,n)=>{let r=!1,i=e;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(h.splitPipe);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(h.slashPipe,"|");return n}function st(t,e,n){const r=t.length;if(0===r)return"";let i=0;for(;i<r&&t.charAt(r-i-1)===e;)i++;return t.slice(0,r-i)}function ot(t,e,n,r,i){const a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");r.state.inLink=!0;const l={type:"!"===t[0].charAt(0)?"image":"link",raw:n,href:a,title:s,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,l}class lt{options;rules;lexer;constructor(t){this.options=t||s}space(t){const e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){const e=this.rules.block.code.exec(t);if(e){const t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:st(t,"\n")}}}fences(t){const e=this.rules.block.fences.exec(t);if(e){const t=e[0],n=function(t,e,n){const r=t.match(n.other.indentCodeCompensation);if(null===r)return e;const i=r[1];return e.split("\n").map((t=>{const e=t.match(n.other.beginningSpace);if(null===e)return t;const[r]=e;return r.length>=i.length?t.slice(i.length):t})).join("\n")}(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){const e=this.rules.block.heading.exec(t);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){const e=st(t,"#");this.options.pedantic?t=e.trim():e&&!this.rules.other.endingSpaceChar.test(e)||(t=e.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){const e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:st(e[0],"\n")}}blockquote(t){const e=this.rules.block.blockquote.exec(t);if(e){let t=st(e[0],"\n").split("\n"),n="",r="";const i=[];for(;t.length>0;){let e=!1;const a=[];let s;for(s=0;s<t.length;s++)if(this.rules.other.blockquoteStart.test(t[s]))a.push(t[s]),e=!0;else{if(e)break;a.push(t[s])}t=t.slice(s);const o=a.join("\n"),l=o.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");n=n?`${n}\n${o}`:o,r=r?`${r}\n${l}`:l;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,i,!0),this.lexer.state.top=c,0===t.length)break;const h=i.at(-1);if("code"===h?.type)break;if("blockquote"===h?.type){const e=h,a=e.raw+"\n"+t.join("\n"),s=this.blockquote(a);i[i.length-1]=s,n=n.substring(0,n.length-e.raw.length)+s.raw,r=r.substring(0,r.length-e.text.length)+s.text;break}if("list"!==h?.type);else{const e=h,a=e.raw+"\n"+t.join("\n"),s=this.list(a);i[i.length-1]=s,n=n.substring(0,n.length-h.raw.length)+s.raw,r=r.substring(0,r.length-e.raw.length)+s.raw,t=a.substring(i.at(-1).raw.length).split("\n")}}return{type:"blockquote",raw:n,tokens:i,text:r}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim();const r=n.length>1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");const a=this.rules.other.listItemRegex(n);let s=!1;for(;t;){let n=!1,r="",o="";if(!(e=a.exec(t)))break;if(this.rules.block.hr.test(t))break;r=e[0],t=t.substring(r.length);let l=e[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,(t=>" ".repeat(3*t.length))),c=t.split("\n",1)[0],h=!l.trim(),u=0;if(this.options.pedantic?(u=2,o=l.trimStart()):h?u=e[1].length+1:(u=e[2].search(this.rules.other.nonSpaceChar),u=u>4?1:u,o=l.slice(u),u+=e[1].length),h&&this.rules.other.blankLine.test(c)&&(r+=c+"\n",t=t.substring(c.length+1),n=!0),!n){const e=this.rules.other.nextBulletRegex(u),n=this.rules.other.hrRegex(u),i=this.rules.other.fencesBeginRegex(u),a=this.rules.other.headingBeginRegex(u),s=this.rules.other.htmlBeginRegex(u);for(;t;){const d=t.split("\n",1)[0];let p;if(c=d,this.options.pedantic?(c=c.replace(this.rules.other.listReplaceNesting," "),p=c):p=c.replace(this.rules.other.tabCharGlobal," "),i.test(c))break;if(a.test(c))break;if(s.test(c))break;if(e.test(c))break;if(n.test(c))break;if(p.search(this.rules.other.nonSpaceChar)>=u||!c.trim())o+="\n"+p.slice(u);else{if(h)break;if(l.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4)break;if(i.test(l))break;if(a.test(l))break;if(n.test(l))break;o+="\n"+c}h||c.trim()||(h=!0),r+=d+"\n",t=t.substring(d.length+1),l=p.slice(u)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(s=!0));let d,p=null;this.options.gfm&&(p=this.rules.other.listIsTask.exec(o),p&&(d="[ ] "!==p[0],o=o.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:r,task:!!p,checked:d,loose:!1,text:o,tokens:[]}),i.raw+=r}const o=i.items.at(-1);if(!o)return;o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd(),i.raw=i.raw.trimEnd();for(let t=0;t<i.items.length;t++)if(this.lexer.state.top=!1,i.items[t].tokens=this.lexer.blockTokens(i.items[t].text,[]),!i.loose){const e=i.items[t].tokens.filter((t=>"space"===t.type)),n=e.length>0&&e.some((t=>this.rules.other.anyLine.test(t.raw)));i.loose=n}if(i.loose)for(let t=0;t<i.items.length;t++)i.items[t].loose=!0;return i}}html(t){const e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(t){const e=this.rules.block.def.exec(t);if(e){const t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:n,title:r}}}table(t){const e=this.rules.block.table.exec(t);if(!e)return;if(!this.rules.other.tableDelimiter.test(e[2]))return;const n=at(e[1]),r=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===r.length){for(const t of r)this.rules.other.tableAlignRight.test(t)?a.align.push("right"):this.rules.other.tableAlignCenter.test(t)?a.align.push("center"):this.rules.other.tableAlignLeft.test(t)?a.align.push("left"):a.align.push(null);for(let t=0;t<n.length;t++)a.header.push({text:n[t],tokens:this.lexer.inline(n[t]),header:!0,align:a.align[t]});for(const t of i)a.rows.push(at(t,a.header.length).map(((t,e)=>({text:t,tokens:this.lexer.inline(t),header:!1,align:a.align[e]}))));return a}}lheading(t){const e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){const e=this.rules.block.paragraph.exec(t);if(e){const t="\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(t){const e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){const e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){const e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){const e=this.rules.inline.link.exec(t);if(e){const t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;const e=st(t.slice(0,-1),"\\");if((t.length-e.length)%2==0)return}else{const t=function(t,e){if(-1===t.indexOf(e[1]))return-1;let n=0;for(let r=0;r<t.length;r++)if("\\"===t[r])r++;else if(t[r]===e[0])n++;else if(t[r]===e[1]&&(n--,n<0))return r;return n>0?-2:-1}(e[2],"()");if(-2===t)return;if(t>-1){const n=(0===e[0].indexOf("!")?5:4)+e[1].length+t;e[2]=e[2].substring(0,t),e[0]=e[0].substring(0,n).trim(),e[3]=""}}let n=e[2],r="";if(this.options.pedantic){const t=this.rules.other.pedanticHrefTitle.exec(n);t&&(n=t[1],r=t[3])}else r=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?n.slice(1):n.slice(1,-1)),ot(e,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r},e[0],this.lexer,this.rules)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){const t=e[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!t){const t=n[0].charAt(0);return{type:"text",raw:t,text:t}}return ot(n,t,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let r=this.rules.inline.emStrongLDelim.exec(t);if(r&&(!r[3]||!n.match(this.rules.other.unicodeAlphaNumeric))&&(!r[1]&&!r[2]||!n||this.rules.inline.punctuation.exec(n))){const n=[...r[0]].length-1;let i,a,s=n,o=0;const l="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+n);null!=(r=l.exec(e));){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){s+=a;continue}if((r[5]||r[6])&&n%3&&!((n+a)%3)){o+=a;continue}if(s-=a,s>0)continue;a=Math.min(a,a+s+o);const e=[...r[0]][0].length,l=t.slice(0,n+r.index+e+a);if(Math.min(n,a)%2){const t=l.slice(1,-1);return{type:"em",raw:l,text:t,tokens:this.lexer.inlineTokens(t)}}const c=l.slice(2,-2);return{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(t){const e=this.rules.inline.code.exec(t);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," ");const n=this.rules.other.nonSpaceChar.test(t),r=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return n&&r&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(t){const e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){const e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){const e=this.rules.inline.autolink.exec(t);if(e){let t,n;return"@"===e[2]?(t=e[1],n="mailto:"+t):(t=e[1],n=t),{type:"link",raw:e[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let t,n;if("@"===e[2])t=e[0],n="mailto:"+t;else{let r;do{r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??""}while(r!==e[0]);t=e[0],n="www."===e[1]?"http://"+e[0]:e[0]}return{type:"link",raw:e[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){const e=this.rules.inline.text.exec(t);if(e){const t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}}class ct{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||s,this.options.tokenizer=this.options.tokenizer||new lt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const e={other:h,block:J.normal,inline:tt.normal};this.options.pedantic?(e.block=J.pedantic,e.inline=tt.pedantic):this.options.gfm&&(e.block=J.gfm,this.options.breaks?e.inline=tt.breaks:e.inline=tt.gfm),this.tokenizer.rules=e}static get rules(){return{block:J,inline:tt}}static lex(t,e){return new ct(e).lex(t)}static lexInline(t,e){return new ct(e).inlineTokens(t)}lex(t){t=t.replace(h.carriageReturn,"\n"),this.blockTokens(t,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){const e=this.inlineQueue[t];this.inlineTokens(e.src,e.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],n=!1){for(this.options.pedantic&&(t=t.replace(h.tabCharGlobal," ").replace(h.spaceLine,""));t;){let r;if(this.options.extensions?.block?.some((n=>!!(r=n.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0))))continue;if(r=this.tokenizer.space(t)){t=t.substring(r.raw.length);const n=e.at(-1);1===r.raw.length&&void 0!==n?n.raw+="\n":e.push(r);continue}if(r=this.tokenizer.code(t)){t=t.substring(r.raw.length);const n=e.at(-1);"paragraph"===n?.type||"text"===n?.type?(n.raw+="\n"+r.raw,n.text+="\n"+r.text,this.inlineQueue.at(-1).src=n.text):e.push(r);continue}if(r=this.tokenizer.fences(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.heading(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.hr(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.blockquote(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.list(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.html(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.def(t)){t=t.substring(r.raw.length);const n=e.at(-1);"paragraph"===n?.type||"text"===n?.type?(n.raw+="\n"+r.raw,n.text+="\n"+r.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if(r=this.tokenizer.table(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.lheading(t)){t=t.substring(r.raw.length),e.push(r);continue}let i=t;if(this.options.extensions?.startBlock){let e=1/0;const n=t.slice(1);let r;this.options.extensions.startBlock.forEach((t=>{r=t.call({lexer:this},n),"number"==typeof r&&r>=0&&(e=Math.min(e,r))})),e<1/0&&e>=0&&(i=t.substring(0,e+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){const a=e.at(-1);n&&"paragraph"===a?.type?(a.raw+="\n"+r.raw,a.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(r),n=i.length!==t.length,t=t.substring(r.raw.length)}else if(r=this.tokenizer.text(t)){t=t.substring(r.raw.length);const n=e.at(-1);"text"===n?.type?(n.raw+="\n"+r.raw,n.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):e.push(r)}else if(t){const e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw new Error(e)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let n=t,r=null;if(this.tokens.links){const t=Object.keys(this.tokens.links);if(t.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(n));)t.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.anyPunctuation.exec(n));)n=n.slice(0,r.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(n));)n=n.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let i=!1,a="";for(;t;){let r;if(i||(a=""),i=!1,this.options.extensions?.inline?.some((n=>!!(r=n.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0))))continue;if(r=this.tokenizer.escape(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.tag(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.link(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length);const n=e.at(-1);"text"===r.type&&"text"===n?.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);continue}if(r=this.tokenizer.emStrong(t,n,a)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.codespan(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.br(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.del(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.autolink(t)){t=t.substring(r.raw.length),e.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(t))){t=t.substring(r.raw.length),e.push(r);continue}let s=t;if(this.options.extensions?.startInline){let e=1/0;const n=t.slice(1);let r;this.options.extensions.startInline.forEach((t=>{r=t.call({lexer:this},n),"number"==typeof r&&r>=0&&(e=Math.min(e,r))})),e<1/0&&e>=0&&(s=t.substring(0,e+1))}if(r=this.tokenizer.inlineText(s)){t=t.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(a=r.raw.slice(-1)),i=!0;const n=e.at(-1);"text"===n?.type?(n.raw+=r.raw,n.text+=r.text):e.push(r)}else if(t){const e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw new Error(e)}}return e}}class ht{options;parser;constructor(t){this.options=t||s}space(t){return""}code({text:t,lang:e,escaped:n}){const r=(e||"").match(h.notSpaceStart)?.[0],i=t.replace(h.endingNewline,"")+"\n";return r?'<pre><code class="language-'+rt(r)+'">'+(n?i:rt(i,!0))+"</code></pre>\n":"<pre><code>"+(n?i:rt(i,!0))+"</code></pre>\n"}blockquote({tokens:t}){return`<blockquote>\n${this.parser.parse(t)}</blockquote>\n`}html({text:t}){return t}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}>\n`}hr(t){return"<hr>\n"}list(t){const e=t.ordered,n=t.start;let r="";for(let e=0;e<t.items.length;e++){const n=t.items[e];r+=this.listitem(n)}const i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+i+">\n"}listitem(t){let e="";if(t.task){const n=this.checkbox({checked:!!t.checked});t.loose?"paragraph"===t.tokens[0]?.type?(t.tokens[0].text=n+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=n+" "+rt(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):e+=n+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li>\n`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>\n`}table(t){let e="",n="";for(let e=0;e<t.header.length;e++)n+=this.tablecell(t.header[e]);e+=this.tablerow({text:n});let r="";for(let e=0;e<t.rows.length;e++){const i=t.rows[e];n="";for(let t=0;t<i.length;t++)n+=this.tablecell(i[t]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),"<table>\n<thead>\n"+e+"</thead>\n"+r+"</table>\n"}tablerow({text:t}){return`<tr>\n${t}</tr>\n`}tablecell(t){const e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>\n`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${rt(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:n}){const r=this.parser.parseInline(n),i=it(t);if(null===i)return r;let a='<a href="'+(t=i)+'"';return e&&(a+=' title="'+rt(e)+'"'),a+=">"+r+"</a>",a}image({href:t,title:e,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));const i=it(t);if(null===i)return rt(n);let a=`<img src="${t=i}" alt="${n}"`;return e&&(a+=` title="${rt(e)}"`),a+=">",a}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:rt(t.text)}}class ut{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}}class dt{options;renderer;textRenderer;constructor(t){this.options=t||s,this.options.renderer=this.options.renderer||new ht,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ut}static parse(t,e){return new dt(e).parse(t)}static parseInline(t,e){return new dt(e).parseInline(t)}parse(t,e=!0){let n="";for(let r=0;r<t.length;r++){const i=t[r];if(this.options.extensions?.renderers?.[i.type]){const t=i,e=this.options.extensions.renderers[t.type].call({parser:this},t);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(t.type)){n+=e||"";continue}}const a=i;switch(a.type){case"space":n+=this.renderer.space(a);continue;case"hr":n+=this.renderer.hr(a);continue;case"heading":n+=this.renderer.heading(a);continue;case"code":n+=this.renderer.code(a);continue;case"table":n+=this.renderer.table(a);continue;case"blockquote":n+=this.renderer.blockquote(a);continue;case"list":n+=this.renderer.list(a);continue;case"html":n+=this.renderer.html(a);continue;case"paragraph":n+=this.renderer.paragraph(a);continue;case"text":{let i=a,s=this.renderer.text(i);for(;r+1<t.length&&"text"===t[r+1].type;)i=t[++r],s+="\n"+this.renderer.text(i);n+=e?this.renderer.paragraph({type:"paragraph",raw:s,text:s,tokens:[{type:"text",raw:s,text:s,escaped:!0}]}):s;continue}default:{const t='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw new Error(t)}}}return n}parseInline(t,e=this.renderer){let n="";for(let r=0;r<t.length;r++){const i=t[r];if(this.options.extensions?.renderers?.[i.type]){const t=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=t||"";continue}}const a=i;switch(a.type){case"escape":case"text":n+=e.text(a);break;case"html":n+=e.html(a);break;case"link":n+=e.link(a);break;case"image":n+=e.image(a);break;case"strong":n+=e.strong(a);break;case"em":n+=e.em(a);break;case"codespan":n+=e.codespan(a);break;case"br":n+=e.br(a);break;case"del":n+=e.del(a);break;default:{const t='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw new Error(t)}}}return n}}class pt{options;block;constructor(t){this.options=t||s}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}provideLexer(){return this.block?ct.lex:ct.lexInline}provideParser(){return this.block?dt.parse:dt.parseInline}}const gt=new class{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=dt;Renderer=ht;TextRenderer=ut;Lexer=ct;Tokenizer=lt;Hooks=pt;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(const r of t)switch(n=n.concat(e.call(this,r)),r.type){case"table":{const t=r;for(const r of t.header)n=n.concat(this.walkTokens(r.tokens,e));for(const r of t.rows)for(const t of r)n=n.concat(this.walkTokens(t.tokens,e));break}case"list":{const t=r;n=n.concat(this.walkTokens(t.items,e));break}default:{const t=r;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach((r=>{const i=t[r].flat(1/0);n=n.concat(this.walkTokens(i,e))})):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,e)))}}return n}use(...t){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach((t=>{const n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach((t=>{if(!t.name)throw new Error("extension name required");if("renderer"in t){const n=e.renderers[t.name];e.renderers[t.name]=n?function(...e){let r=t.renderer.apply(this,e);return!1===r&&(r=n.apply(this,e)),r}:t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw new Error("extension level must be 'block' or 'inline'");const n=e[t.level];n?n.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&("block"===t.level?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:"inline"===t.level&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)})),n.extensions=e),t.renderer){const e=this.defaults.renderer||new ht(this.defaults);for(const n in t.renderer){if(!(n in e))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;const r=n,i=t.renderer[r],a=e[r];e[r]=(...t)=>{let n=i.apply(e,t);return!1===n&&(n=a.apply(e,t)),n||""}}n.renderer=e}if(t.tokenizer){const e=this.defaults.tokenizer||new lt(this.defaults);for(const n in t.tokenizer){if(!(n in e))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;const r=n,i=t.tokenizer[r],a=e[r];e[r]=(...t)=>{let n=i.apply(e,t);return!1===n&&(n=a.apply(e,t)),n}}n.tokenizer=e}if(t.hooks){const e=this.defaults.hooks||new pt;for(const n in t.hooks){if(!(n in e))throw new Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;const r=n,i=t.hooks[r],a=e[r];pt.passThroughHooks.has(n)?e[r]=t=>{if(this.defaults.async)return Promise.resolve(i.call(e,t)).then((t=>a.call(e,t)));const n=i.call(e,t);return a.call(e,n)}:e[r]=(...t)=>{let n=i.apply(e,t);return!1===n&&(n=a.apply(e,t)),n}}n.hooks=e}if(t.walkTokens){const e=this.defaults.walkTokens,r=t.walkTokens;n.walkTokens=function(t){let n=[];return n.push(r.call(this,t)),e&&(n=n.concat(e.call(this,t))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return ct.lex(t,e??this.defaults)}parser(t,e){return dt.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{const r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(!0===this.defaults.async&&!1===r.async)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==e)return a(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof e)return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);const s=i.hooks?i.hooks.provideLexer():t?ct.lex:ct.lexInline,o=i.hooks?i.hooks.provideParser():t?dt.parse:dt.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then((t=>s(t,i))).then((t=>i.hooks?i.hooks.processAllTokens(t):t)).then((t=>i.walkTokens?Promise.all(this.walkTokens(t,i.walkTokens)).then((()=>t)):t)).then((t=>o(t,i))).then((t=>i.hooks?i.hooks.postprocess(t):t)).catch(a);try{i.hooks&&(e=i.hooks.preprocess(e));let t=s(e,i);i.hooks&&(t=i.hooks.processAllTokens(t)),i.walkTokens&&this.walkTokens(t,i.walkTokens);let n=o(t,i);return i.hooks&&(n=i.hooks.postprocess(n)),n}catch(t){return a(t)}}}onError(t,e){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",t){const t="<p>An error occurred:</p><pre>"+rt(n.message+"",!0)+"</pre>";return e?Promise.resolve(t):t}if(e)return Promise.reject(n);throw n}}};function ft(t,e){return gt.parse(t,e)}ft.options=ft.setOptions=function(t){return gt.setOptions(t),ft.defaults=gt.defaults,o(ft.defaults),ft},ft.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},ft.defaults=s,ft.use=function(...t){return gt.use(...t),ft.defaults=gt.defaults,o(ft.defaults),ft},ft.walkTokens=function(t,e){return gt.walkTokens(t,e)},ft.parseInline=gt.parseInline,ft.Parser=dt,ft.parser=dt.parse,ft.Renderer=ht,ft.TextRenderer=ut,ft.Lexer=ct,ft.lexer=ct.lex,ft.Tokenizer=lt,ft.Hooks=pt,ft.parse=ft,ft.options,ft.setOptions,ft.use,ft.walkTokens,ft.parseInline,dt.parse,ct.lex;var mt=n(8464);function yt(t,{markdownAutoWrap:e}){const n=t.replace(/<br\/>/g,"\n").replace(/\n{2,}/g,"\n"),r=(0,mt.Z)(n);return!1===e?r.replace(/ /g,"&nbsp;"):r}function vt(t,e={}){const n=yt(t,e),r=ft.lexer(n),a=[[]];let s=0;function o(t,e="normal"){"text"===t.type?t.text.split("\n").forEach(((t,n)=>{0!==n&&(s++,a.push([])),t.split(" ").forEach((t=>{(t=t.replace(/&#39;/g,"'"))&&a[s].push({content:t,type:e})}))})):"strong"===t.type||"em"===t.type?t.tokens.forEach((e=>{o(e,t.type)})):"html"===t.type&&a[s].push({content:t.text,type:"normal"})}return(0,i.eW)(o,"processNode"),r.forEach((t=>{"paragraph"===t.type?t.tokens?.forEach((t=>{o(t)})):"html"===t.type&&a[s].push({content:t.text,type:"normal"})})),a}function xt(t,{markdownAutoWrap:e}={}){const n=ft.lexer(t);function r(t){return"text"===t.type?!1===e?t.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):t.text.replace(/\n */g,"<br/>"):"strong"===t.type?`<strong>${t.tokens?.map(r).join("")}</strong>`:"em"===t.type?`<em>${t.tokens?.map(r).join("")}</em>`:"paragraph"===t.type?`<p>${t.tokens?.map(r).join("")}</p>`:"space"===t.type?"":"html"===t.type?`${t.text}`:"escape"===t.type?t.text:`Unsupported markdown: ${t.type}`}return(0,i.eW)(r,"output"),n.map(r).join("")}function bt(t){return Intl.Segmenter?[...(new Intl.Segmenter).segment(t)].map((t=>t.segment)):[...t]}function wt(t,e){return kt(t,[],bt(e.content),e.type)}function kt(t,e,n,r){if(0===n.length)return[{content:e.join(""),type:r},{content:"",type:r}];const[i,...a]=n,s=[...e,i];return t([{content:s.join(""),type:r}])?kt(t,s,a,r):(0===e.length&&i&&(e.push(i),n.shift()),[{content:e.join(""),type:r},{content:n.join(""),type:r}])}function Tt(t,e){if(t.some((({content:t})=>t.includes("\n"))))throw new Error("splitLineToFitWidth does not support newlines in the line");return _t(t,e)}function _t(t,e,n=[],r=[]){if(0===t.length)return r.length>0&&n.push(r),n.length>0?n:[];let i="";" "===t[0].content&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...r];if(""!==i&&s.push({content:i,type:"normal"}),s.push(a),e(s))return _t(t,e,n,s);if(r.length>0)n.push(r),t.unshift(a);else if(a.content){const[r,i]=wt(e,a);n.push([r]),i.content&&t.unshift(i)}return _t(t,e,n)}function Et(t,e){e&&t.attr("style",e)}async function St(t,e,n,r,a=!1){const s=t.append("foreignObject");s.attr("width",10*n+"px"),s.attr("height",10*n+"px");const o=s.append("xhtml:div");let l=e.label;e.label&&(0,i.l0)(e.label)&&(l=await(0,i.uT)(e.label.replace(i.SY.lineBreakRegex,"\n"),(0,i.nV)()));const c=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),Et(h,e.labelStyle),h.attr("class",`${c} ${r}`),Et(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),o.style("max-width",n+"px"),o.style("text-align","center"),o.attr("xmlns","http://www.w3.org/1999/xhtml"),a&&o.attr("class","labelBkg");let u=o.node().getBoundingClientRect();return u.width===n&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",n+"px"),u=o.node().getBoundingClientRect()),s.node()}function Ct(t,e,n){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*n-.1+"em").attr("dy",n+"em")}function At(t,e,n){const r=t.append("text"),i=Ct(r,1,e);Nt(i,n);const a=i.node().getComputedTextLength();return r.remove(),a}function Lt(t,e,n){const r=t.append("text"),i=Ct(r,1,e);Nt(i,[{content:n,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&r.remove(),a}function Mt(t,e,n,r=!1){const a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),o=a.append("text").attr("y","-10.1");let l=0;for(const e of n){const n=(0,i.eW)((e=>At(a,1.1,e)<=t),"checkWidth"),r=n(e)?[e]:Tt(e,n);for(const t of r)Nt(Ct(o,l,1.1),t),l++}if(r){const t=o.node().getBBox(),e=2;return s.attr("x",t.x-e).attr("y",t.y-e).attr("width",t.width+2*e).attr("height",t.height+2*e),a.node()}return o.node()}function Nt(t,e){t.text(""),e.forEach(((e,n)=>{const r=t.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===n?r.text(e.content):r.text(" "+e.content)}))}function It(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,(t=>`<i class='${t.replace(":"," ")}'></i>`))}(0,i.eW)(yt,"preprocessMarkdown"),(0,i.eW)(vt,"markdownToLines"),(0,i.eW)(xt,"markdownToHTML"),(0,i.eW)(bt,"splitTextToChars"),(0,i.eW)(wt,"splitWordToFitWidth"),(0,i.eW)(kt,"splitWordToFitWidthRecursion"),(0,i.eW)(Tt,"splitLineToFitWidth"),(0,i.eW)(_t,"splitLineToFitWidthRecursion"),(0,i.eW)(Et,"applyStyle"),(0,i.eW)(St,"addHtmlSpan"),(0,i.eW)(Ct,"createTspan"),(0,i.eW)(At,"computeWidthOfText"),(0,i.eW)(Lt,"computeDimensionOfText"),(0,i.eW)(Mt,"createFormattedText"),(0,i.eW)(Nt,"updateTextContentAndStyles"),(0,i.eW)(It,"replaceIconSubstring");var Rt=(0,i.eW)((async(t,e="",{style:n="",isTitle:s=!1,classes:o="",useHtmlLabels:l=!0,isNode:c=!0,width:h=200,addSvgBackground:u=!1}={},d)=>{if(i.cM.debug("XYZ createText",e,n,s,o,l,c,"addSvgBackground: ",u),l){const a=xt(e,d),s=It((0,r.SH)(a)),l=e.replace(/\\\\/g,"\\"),p={isNode:c,label:(0,i.l0)(e)?l:s,labelStyle:n.replace("fill:","color:")};return await St(t,p,h,o,u)}{const r=Mt(h,t,vt(e.replace(/<br\s*\/?>/g,"<br/>").replace("<br>","<br/>"),d),!!e&&u);if(c){/stroke:/.exec(n)&&(n=n.replace("stroke:","lineColor:"));const t=n.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,a.Ys)(r).attr("style",t)}else{const t=n.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");(0,a.Ys)(r).select("rect").attr("style",t.replace(/background:/g,"fill:"));const e=n.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,a.Ys)(r).select("text").attr("style",e)}return r}}),"createText")},279:(t,e,n)=>{"use strict";n.d(e,{AD:()=>u,AE:()=>l,Mu:()=>a,O:()=>s,kc:()=>h,rB:()=>c,yU:()=>o});var r=n(4082),i=n(7967),a=(0,r.eW)(((t,e)=>{const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(const t in e.attrs)n.attr(t,e.attrs[t]);return e.class&&n.attr("class",e.class),n}),"drawRect"),s=(0,r.eW)(((t,e)=>{const n={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};a(t,n).lower()}),"drawBackgroundRect"),o=(0,r.eW)(((t,e)=>{const n=e.text.replace(r.Vw," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(n),i}),"drawText"),l=(0,r.eW)(((t,e,n,r)=>{const a=t.append("image");a.attr("x",e),a.attr("y",n);const s=(0,i.N)(r);a.attr("xlink:href",s)}),"drawImage"),c=(0,r.eW)(((t,e,n,r)=>{const a=t.append("use");a.attr("x",e),a.attr("y",n);const s=(0,i.N)(r);a.attr("xlink:href",`#${s}`)}),"drawEmbeddedImage"),h=(0,r.eW)((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),u=(0,r.eW)((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj")},6241:(t,e,n)=>{"use strict";n.d(e,{s4:()=>_,ef:()=>k,cN:()=>x});var r=n(4082);const i=(t,e)=>!!t&&!(!(e&&""===t.prefix||t.prefix)||!t.name),a=Object.freeze({left:0,top:0,width:16,height:16}),s=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),o=Object.freeze({...a,...s}),l=Object.freeze({...o,body:"",hidden:!1});function c(t,e){const n=function(t,e){const n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);const r=((t.rotate||0)+(e.rotate||0))%4;return r&&(n.rotate=r),n}(t,e);for(const r in l)r in s?r in t&&!(r in n)&&(n[r]=s[r]):r in e?n[r]=e[r]:r in t&&(n[r]=t[r]);return n}function h(t,e,n){const r=t.icons,i=t.aliases||Object.create(null);let a={};function s(t){a=c(r[t]||i[t],a)}return s(e),n.forEach(s),c(t,a)}const u=Object.freeze({width:null,height:null}),d=Object.freeze({...u,...s}),p=/(-?[0-9.]*[0-9]+[0-9.]*)/g,g=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function f(t,e,n){if(1===e)return t;if(n=n||100,"number"==typeof t)return Math.ceil(t*e*n)/n;if("string"!=typeof t)return t;const r=t.split(p);if(null===r||!r.length)return t;const i=[];let a=r.shift(),s=g.test(a);for(;;){if(s){const t=parseFloat(a);isNaN(t)?i.push(a):i.push(Math.ceil(t*e*n)/n)}else i.push(a);if(a=r.shift(),void 0===a)return i.join("");s=!s}}const m=/\sid="(\S+)"/g,y="IconifyId"+Date.now().toString(16)+(16777216*Math.random()|0).toString(16);let v=0;var x={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},b=new Map,w=new Map,k=(0,r.eW)((t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(r.cM.debug("Registering icon pack:",e.name),"loader"in e)w.set(e.name,e.loader);else{if(!("icons"in e))throw r.cM.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.');b.set(e.name,e.icons)}}}),"registerIconPacks"),T=(0,r.eW)((async(t,e)=>{const n=((t,e,n,r="")=>{const a=t.split(":");if("@"===t.slice(0,1)){if(a.length<2||a.length>3)return null;r=a.shift().slice(1)}if(a.length>3||!a.length)return null;if(a.length>1){const t=a.pop(),n=a.pop(),s={provider:a.length>0?a[0]:r,prefix:n,name:t};return e&&!i(s)?null:s}const s=a[0],o=s.split("-");if(o.length>1){const t={provider:r,prefix:o.shift(),name:o.join("-")};return e&&!i(t)?null:t}if(n&&""===r){const t={provider:r,prefix:"",name:s};return e&&!i(t,n)?null:t}return null})(t,!0,void 0!==e);if(!n)throw new Error(`Invalid icon name: ${t}`);const a=n.prefix||e;if(!a)throw new Error(`Icon name must contain a prefix: ${t}`);let s=b.get(a);if(!s){const t=w.get(a);if(!t)throw new Error(`Icon set not found: ${n.prefix}`);try{s={...await t(),prefix:a},b.set(a,s)}catch(t){throw r.cM.error(t),new Error(`Failed to load icon set: ${n.prefix}`)}}const o=function(t,e){if(t.icons[e])return h(t,e,[]);const n=function(t,e){const n=t.icons,r=t.aliases||Object.create(null),i=Object.create(null);return(e||Object.keys(n).concat(Object.keys(r))).forEach((function t(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;const n=r[e]&&r[e].parent,a=n&&t(n);a&&(i[e]=[n].concat(a))}return i[e]})),i}(t,[e])[e];return n?h(t,e,n):null}(s,n.name);if(!o)throw new Error(`Icon not found: ${t}`);return o}),"getRegisteredIconData"),_=(0,r.eW)((async(t,e)=>{let n;try{n=await T(t,e?.fallbackPrefix)}catch(t){r.cM.error(t),n=x}const i=function(t,e){const n={...o,...t},r={...d,...e},i={left:n.left,top:n.top,width:n.width,height:n.height};let a=n.body;[n,r].forEach((t=>{const e=[],n=t.hFlip,r=t.vFlip;let s,o=t.rotate;switch(n?r?o+=2:(e.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),e.push("scale(-1 1)"),i.top=i.left=0):r&&(e.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),e.push("scale(1 -1)"),i.top=i.left=0),o<0&&(o-=4*Math.floor(o/4)),o%=4,o){case 1:s=i.height/2+i.top,e.unshift("rotate(90 "+s.toString()+" "+s.toString()+")");break;case 2:e.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:s=i.width/2+i.left,e.unshift("rotate(-90 "+s.toString()+" "+s.toString()+")")}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),e.length&&(a=function(t,e,n){const r=function(t,e="defs"){let n="";const r=t.indexOf("<"+e);for(;r>=0;){const i=t.indexOf(">",r),a=t.indexOf("</"+e);if(-1===i||-1===a)break;const s=t.indexOf(">",a);if(-1===s)break;n+=t.slice(i+1,a).trim(),t=t.slice(0,r).trim()+t.slice(s+1)}return{defs:n,content:t}}(t);return i=r.defs,a=e+r.content+"</g>",i?"<defs>"+i+"</defs>"+a:a;var i,a}(a,'<g transform="'+e.join(" ")+'">'))}));const s=r.width,l=r.height,c=i.width,h=i.height;let u,p;null===s?(p=null===l?"1em":"auto"===l?h:l,u=f(p,c/h)):(u="auto"===s?c:s,p=null===l?f(u,h/c):"auto"===l?h:l);const g={},m=(t,e)=>{(t=>"unset"===t||"undefined"===t||"none"===t)(e)||(g[t]=e.toString())};m("width",u),m("height",p);const y=[i.left,i.top,c,h];return g.viewBox=y.join(" "),{attributes:g,viewBox:y,body:a}}(n,e);return function(t,e){let n=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const t in e)n+=" "+t+'="'+e[t]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+n+">"+t+"</svg>"}(function(t,e=y){const n=[];let r;for(;r=m.exec(t);)n.push(r[1]);if(!n.length)return t;const i="suffix"+(16777216*Math.random()|Date.now()).toString(16);return n.forEach((n=>{const r="function"==typeof e?e(n):e+(v++).toString(),a=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+r+i+"$3")})),t=t.replace(new RegExp(i,"g"),"")}(i.body),i.attributes)}),"getIconSVG")},3583:(t,e,n)=>{"use strict";n.d(e,{C1:()=>h,Fh:()=>E,Lf:()=>Se,XO:()=>b,Yn:()=>Ce,ZH:()=>O,aH:()=>Le,dW:()=>_e,gU:()=>Ae,jr:()=>d,us:()=>D});var r=n(1426),i=n(6241),a=n(214),s=n(7946),o=n(4082),l=n(3108),c=n(4247),h=(0,o.eW)((async(t,e,n)=>{let r;const i=e.useHtmlLabels||(0,o.ku)((0,o.nV)()?.htmlLabels);r=n||"node default";const c=t.insert("g").attr("class",r).attr("id",e.domId||e.id),h=c.insert("g").attr("class","label").attr("style",(0,s.R7)(e.labelStyle));let u;u=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];const d=await(0,a.rw)(h,(0,o.oO)((0,s.SH)(u),(0,o.nV)()),{useHtmlLabels:i,width:e.width||(0,o.nV)().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img});let p=d.getBBox();const g=(e?.padding??0)/2;if(i){const t=d.children[0],e=(0,l.Ys)(d),n=t.getElementsByTagName("img");if(n){const t=""===u.replace(/<img[^>]*>/g,"").trim();await Promise.all([...n].map((e=>new Promise((n=>{function r(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=(0,o.nV)().fontSize?(0,o.nV)().fontSize:window.getComputedStyle(document.body).fontSize,n=5,[r=o.vZ.fontSize]=(0,s.VG)(t),i=r*n+"px";e.style.minWidth=i,e.style.maxWidth=i}else e.style.width="100%";n(e)}(0,o.eW)(r,"setupImage"),setTimeout((()=>{e.complete&&r()})),e.addEventListener("error",r),e.addEventListener("load",r)})))))}p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}return i?h.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):h.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&h.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),h.insert("rect",":first-child"),{shapeSvg:c,bbox:p,halfPadding:g,label:h}}),"labelHelper"),u=(0,o.eW)((async(t,e,n)=>{const r=n.useHtmlLabels||(0,o.ku)((0,o.nV)()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",n.labelStyle||""),c=await(0,a.rw)(i,(0,o.oO)((0,s.SH)(e),(0,o.nV)()),{useHtmlLabels:r,width:n.width||(0,o.nV)()?.flowchart?.wrappingWidth,style:n.labelStyle,addSvgBackground:!!n.icon||!!n.img});let h=c.getBBox();const u=n.padding/2;if((0,o.ku)((0,o.nV)()?.flowchart?.htmlLabels)){const t=c.children[0],e=(0,l.Ys)(c);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height)}return r?i.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):i.attr("transform","translate(0, "+-h.height/2+")"),n.centerLabel&&i.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:h,halfPadding:u,label:i}}),"insertLabel"),d=(0,o.eW)(((t,e)=>{const n=e.node().getBBox();t.width=n.width,t.height=n.height}),"updateNodeBounds"),p=(0,o.eW)(((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||"")),"getNodeClasses");function g(t){const e=t.map(((t,e)=>`${0===e?"M":"L"}${t.x},${t.y}`));return e.push("Z"),e.join(" ")}function f(t,e,n,r,i,a){const s=[],o=n-t,l=r-e,c=o/a,h=2*Math.PI/c,u=e+l/2;for(let e=0;e<=50;e++){const n=t+e/50*o,r=u+i*Math.sin(h*(n-t));s.push({x:n,y:r})}return s}function m(t,e,n,r,i,a){const s=[],o=i*Math.PI/180,l=(a*Math.PI/180-o)/(r-1);for(let i=0;i<r;i++){const r=o+i*l,a=t+n*Math.cos(r),c=e+n*Math.sin(r);s.push({x:-a,y:-c})}return s}(0,o.eW)(g,"createPathFromPoints"),(0,o.eW)(f,"generateFullSineWavePoints"),(0,o.eW)(m,"generateCirclePoints");var y=(0,o.eW)(((t,e)=>{var n,r,i=t.x,a=t.y,s=e.x-i,o=e.y-a,l=t.width/2,c=t.height/2;return Math.abs(o)*l>Math.abs(s)*c?(o<0&&(c=-c),n=0===o?0:c*s/o,r=c):(s<0&&(l=-l),n=l,r=0===s?0:l*o/s),{x:i+n,y:a+r}}),"intersectRect");function v(t,e){e&&t.attr("style",e)}async function x(t){const e=(0,l.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=e.append("xhtml:div");let r=t.label;t.label&&(0,o.l0)(t.label)&&(r=await(0,o.uT)(t.label.replace(o.SY.lineBreakRegex,"\n"),(0,o.nV)()));const i=t.isNode?"nodeLabel":"edgeLabel";return n.html('<span class="'+i+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+r+"</span>"),v(n,t.labelStyle),n.style("display","inline-block"),n.style("padding-right","1px"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}(0,o.eW)(v,"applyStyle"),(0,o.eW)(x,"addHtmlLabel");var b=(0,o.eW)((async(t,e,n,r)=>{let i=t||"";if("object"==typeof i&&(i=i[0]),(0,o.ku)((0,o.nV)().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"<br />"),o.cM.info("vertexText"+i);const t={isNode:r,label:(0,s.SH)(i).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>`<i class='${t.replace(":"," ")}'></i>`)),labelStyle:e?e.replace("fill:","color:"):e};return await x(t)}{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let r=[];r="string"==typeof i?i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?i:[];for(const e of r){const r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),n?r.setAttribute("class","title-row"):r.setAttribute("class","row"),r.textContent=e.trim(),t.appendChild(r)}return t}}),"createLabel"),w=(0,o.eW)(((t,e,n,r,i)=>["M",t+i,e,"H",t+n-i,"A",i,i,0,0,1,t+n,e+i,"V",e+r-i,"A",i,i,0,0,1,t+n-i,e+r,"H",t+i,"A",i,i,0,0,1,t,e+r-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" ")),"createRoundedRectPathD"),k=(0,o.eW)((t=>{const{handDrawnSeed:e}=(0,o.nV)();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}}),"solidStateFill"),T=(0,o.eW)((t=>{const e=_([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}}),"compileStyles"),_=(0,o.eW)((t=>{const e=new Map;return t.forEach((t=>{const[n,r]=t.split(":");e.set(n.trim(),r?.trim())})),e}),"styles2Map"),E=(0,o.eW)((t=>"color"===t||"font-size"===t||"font-family"===t||"font-weight"===t||"font-style"===t||"text-decoration"===t||"text-align"===t||"text-transform"===t||"line-height"===t||"letter-spacing"===t||"word-spacing"===t||"text-shadow"===t||"text-overflow"===t||"white-space"===t||"word-wrap"===t||"word-break"===t||"overflow-wrap"===t||"hyphens"===t),"isLabelStyle"),S=(0,o.eW)((t=>{const{stylesArray:e}=T(t),n=[],r=[],i=[],a=[];return e.forEach((t=>{const e=t[0];E(e)?n.push(t.join(":")+" !important"):(r.push(t.join(":")+" !important"),e.includes("stroke")&&i.push(t.join(":")+" !important"),"fill"===e&&a.push(t.join(":")+" !important"))})),{labelStyles:n.join(";"),nodeStyles:r.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}}),"styles2String"),C=(0,o.eW)(((t,e)=>{const{themeVariables:n,handDrawnSeed:r}=(0,o.nV)(),{nodeBorder:i,mainBkg:a}=n,{stylesMap:s}=T(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:r,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0]},e)}),"userNodeOverrides"),A=(0,o.eW)((async(t,e)=>{o.cM.info("Creating subgraph rect for ",e.id,e);const n=(0,o.nV)(),{themeVariables:i,handDrawnSeed:s}=n,{clusterBkg:h,clusterBorder:u}=i,{labelStyles:d,nodeStyles:p,borderStyles:g,backgroundStyles:f}=S(e),m=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),v=(0,o.ku)(n.flowchart.htmlLabels),x=m.insert("g").attr("class","cluster-label "),b=await(0,a.rw)(x,e.label,{style:e.labelStyle,useHtmlLabels:v,isNode:!0});let k=b.getBBox();if((0,o.ku)(n.flowchart.htmlLabels)){const t=b.children[0],e=(0,l.Ys)(b);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}const T=e.width<=k.width+e.padding?k.width+e.padding:e.width;e.width<=k.width+e.padding?e.diff=(T-e.width)/2-e.padding:e.diff=-e.padding;const _=e.height,E=e.x-T/2,A=e.y-_/2;let L;if(o.cM.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){const t=c.Z.svg(m),n=C(e,{roughness:.7,fill:h,stroke:u,fillWeight:3,seed:s}),r=t.path(w(E,A,T,_,0),n);L=m.insert((()=>(o.cM.debug("Rough node insert CXC",r),r)),":first-child"),L.select("path:nth-child(2)").attr("style",g.join(";")),L.select("path").attr("style",f.join(";").replace("fill","stroke"))}else L=m.insert("rect",":first-child"),L.attr("style",p).attr("rx",e.rx).attr("ry",e.ry).attr("x",E).attr("y",A).attr("width",T).attr("height",_);const{subGraphTitleTopMargin:M}=(0,r.L)(n);if(x.attr("transform",`translate(${e.x-k.width/2}, ${e.y-e.height/2+M})`),d){const t=x.select("span");t&&t.attr("style",d)}const N=L.node().getBBox();return e.offsetX=0,e.width=N.width,e.height=N.height,e.offsetY=k.height-e.padding/2,e.intersect=function(t){return y(e,t)},{cluster:m,labelBBox:k}}),"rect"),L=(0,o.eW)(((t,e)=>{const n=t.insert("g").attr("class","note-cluster").attr("id",e.id),r=n.insert("rect",":first-child"),i=0*e.padding,a=i/2;r.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=r.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(t){return y(e,t)},{cluster:n,labelBBox:{width:0,height:0}}}),"noteGroup"),M=(0,o.eW)((async(t,e)=>{const n=(0,o.nV)(),{themeVariables:r,handDrawnSeed:i}=n,{altBackground:a,compositeBackground:s,compositeTitleBackground:h,nodeBorder:u}=r,d=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),p=d.insert("g",":first-child"),g=d.insert("g").attr("class","cluster-label");let f=d.append("rect");const m=g.node().appendChild(await b(e.label,e.labelStyle,void 0,!0));let v=m.getBBox();if((0,o.ku)(n.flowchart.htmlLabels)){const t=m.children[0],e=(0,l.Ys)(m);v=t.getBoundingClientRect(),e.attr("width",v.width),e.attr("height",v.height)}const x=0*e.padding,k=x/2,T=(e.width<=v.width+e.padding?v.width+e.padding:e.width)+x;e.width<=v.width+e.padding?e.diff=(T-e.width)/2-e.padding:e.diff=-e.padding;const _=e.height+x,E=e.height+x-v.height-6,S=e.x-T/2,C=e.y-_/2;e.width=T;const A=e.y-e.height/2-k+v.height+2;let L;if("handDrawn"===e.look){const t=e.cssClasses.includes("statediagram-cluster-alt"),n=c.Z.svg(d),r=e.rx||e.ry?n.path(w(S,C,T,_,10),{roughness:.7,fill:h,fillStyle:"solid",stroke:u,seed:i}):n.rectangle(S,C,T,_,{seed:i});L=d.insert((()=>r),":first-child");const o=n.rectangle(S,A,T,E,{fill:t?a:s,fillStyle:t?"hachure":"solid",stroke:u,seed:i});L=d.insert((()=>r),":first-child"),f=d.insert((()=>o))}else{L=p.insert("rect",":first-child");const t="outer";L.attr("class",t).attr("x",S).attr("y",C).attr("width",T).attr("height",_).attr("data-look",e.look),f.attr("class","inner").attr("x",S).attr("y",A).attr("width",T).attr("height",E)}g.attr("transform",`translate(${e.x-v.width/2}, ${C+1-((0,o.ku)(n.flowchart.htmlLabels)?0:3)})`);const M=L.node().getBBox();return e.height=M.height,e.offsetX=0,e.offsetY=v.height-e.padding/2,e.labelBBox=v,e.intersect=function(t){return y(e,t)},{cluster:d,labelBBox:v}}),"roundedWithTitle"),N=(0,o.eW)((async(t,e)=>{o.cM.info("Creating subgraph rect for ",e.id,e);const n=(0,o.nV)(),{themeVariables:i,handDrawnSeed:s}=n,{clusterBkg:h,clusterBorder:u}=i,{labelStyles:d,nodeStyles:p,borderStyles:g,backgroundStyles:f}=S(e),m=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),v=(0,o.ku)(n.flowchart.htmlLabels),x=m.insert("g").attr("class","cluster-label "),b=await(0,a.rw)(x,e.label,{style:e.labelStyle,useHtmlLabels:v,isNode:!0,width:e.width});let k=b.getBBox();if((0,o.ku)(n.flowchart.htmlLabels)){const t=b.children[0],e=(0,l.Ys)(b);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}const T=e.width<=k.width+e.padding?k.width+e.padding:e.width;e.width<=k.width+e.padding?e.diff=(T-e.width)/2-e.padding:e.diff=-e.padding;const _=e.height,E=e.x-T/2,A=e.y-_/2;let L;if(o.cM.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){const t=c.Z.svg(m),n=C(e,{roughness:.7,fill:h,stroke:u,fillWeight:4,seed:s}),r=t.path(w(E,A,T,_,e.rx),n);L=m.insert((()=>(o.cM.debug("Rough node insert CXC",r),r)),":first-child"),L.select("path:nth-child(2)").attr("style",g.join(";")),L.select("path").attr("style",f.join(";").replace("fill","stroke"))}else L=m.insert("rect",":first-child"),L.attr("style",p).attr("rx",e.rx).attr("ry",e.ry).attr("x",E).attr("y",A).attr("width",T).attr("height",_);const{subGraphTitleTopMargin:M}=(0,r.L)(n);if(x.attr("transform",`translate(${e.x-k.width/2}, ${e.y-e.height/2+M})`),d){const t=x.select("span");t&&t.attr("style",d)}const N=L.node().getBBox();return e.offsetX=0,e.width=N.width,e.height=N.height,e.offsetY=k.height-e.padding/2,e.intersect=function(t){return y(e,t)},{cluster:m,labelBBox:k}}),"kanbanSection"),I={rect:A,squareRect:A,roundedWithTitle:M,noteGroup:L,divider:(0,o.eW)(((t,e)=>{const n=(0,o.nV)(),{themeVariables:r,handDrawnSeed:i}=n,{nodeBorder:a}=r,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),h=0*e.padding,u=e.width+h;e.diff=-e.padding;const d=e.height+h,p=e.x-u/2,g=e.y-d/2;let f;if(e.width=u,"handDrawn"===e.look){const t=c.Z.svg(s).rectangle(p,g,u,d,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});f=s.insert((()=>t),":first-child")}else{f=l.insert("rect",":first-child");const t="divider";f.attr("class",t).attr("x",p).attr("y",g).attr("width",u).attr("height",d).attr("data-look",e.look)}const m=f.node().getBBox();return e.height=m.height,e.offsetX=0,e.offsetY=0,e.intersect=function(t){return y(e,t)},{cluster:s,labelBBox:{}}}),"divider"),kanbanSection:N},R=new Map,D=(0,o.eW)((async(t,e)=>{const n=e.shape||"rect",r=await I[n](t,e);return R.set(e.id,r),r}),"insertCluster"),O=(0,o.eW)((()=>{R=new Map}),"clear");function P(t,e){return t.intersect(e)}(0,o.eW)(P,"intersectNode");var $=P;function B(t,e,n,r){var i=t.x,a=t.y,s=i-r.x,o=a-r.y,l=Math.sqrt(e*e*o*o+n*n*s*s),c=Math.abs(e*n*s/l);r.x<i&&(c=-c);var h=Math.abs(e*n*o/l);return r.y<a&&(h=-h),{x:i+c,y:a+h}}(0,o.eW)(B,"intersectEllipse");var F=B;function W(t,e,n){return F(t,e,e,n)}(0,o.eW)(W,"intersectCircle");var z=W;function Z(t,e,n,r){var i,a,s,o,l,c,h,u,d,p,g,f,m;if(i=e.y-t.y,s=t.x-e.x,l=e.x*t.y-t.x*e.y,d=i*n.x+s*n.y+l,p=i*r.x+s*r.y+l,!(0!==d&&0!==p&&Y(d,p)||(a=r.y-n.y,o=n.x-r.x,c=r.x*n.y-n.x*r.y,h=a*t.x+o*t.y+c,u=a*e.x+o*e.y+c,0!==h&&0!==u&&Y(h,u)||0==(g=i*o-a*s))))return f=Math.abs(g/2),{x:(m=s*c-o*l)<0?(m-f)/g:(m+f)/g,y:(m=a*l-i*c)<0?(m-f)/g:(m+f)/g}}function Y(t,e){return t*e>0}(0,o.eW)(Z,"intersectLine"),(0,o.eW)(Y,"sameSign");var U=Z;function G(t,e,n){let r=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){s=Math.min(s,t.x),o=Math.min(o,t.y)})):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=r-t.width/2-s,c=i-t.height/2-o;for(let r=0;r<e.length;r++){let i=e[r],s=e[r<e.length-1?r+1:0],o=U(t,n,{x:l+i.x,y:c+i.y},{x:l+s.x,y:c+s.y});o&&a.push(o)}return a.length?(a.length>1&&a.sort((function(t,e){let r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),s=e.x-n.x,o=e.y-n.y,l=Math.sqrt(s*s+o*o);return a<l?-1:a===l?0:1})),a[0]):t}(0,o.eW)(G,"intersectPolygon");var V={node:$,circle:z,ellipse:F,polygon:G,rect:y};function q(t,e){const{labelStyles:n}=S(e);e.labelStyle=n;const r=p(e);let i=r;r||(i="anchor");const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),{cssStyles:l}=e,h=c.Z.svg(a),u=C(e,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==e.look&&(u.roughness=0);const g=h.circle(0,0,2,u),f=a.insert((()=>g),":first-child");return f.attr("class","anchor").attr("style",(0,s.R7)(l)),d(e,f),e.intersect=function(t){return o.cM.info("Circle intersect",e,1,t),V.circle(e,1,t)},a}function j(t,e,n,r,i,a,s){const o=(t+n)/2,l=(e+r)/2,c=Math.atan2(r-e,n-t),h=(n-t)/2/i,u=(r-e)/2/a,d=Math.sqrt(h**2+u**2);if(d>1)throw new Error("The given radii are too small to create an arc between the points.");const p=Math.sqrt(1-d**2),g=o+p*a*Math.sin(c)*(s?-1:1),f=l-p*i*Math.cos(c)*(s?-1:1),m=Math.atan2((e-f)/a,(t-g)/i);let y=Math.atan2((r-f)/a,(n-g)/i)-m;s&&y<0&&(y+=2*Math.PI),!s&&y>0&&(y-=2*Math.PI);const v=[];for(let t=0;t<20;t++){const e=m+t/19*y,n=g+i*Math.cos(e),r=f+a*Math.sin(e);v.push({x:n,y:r})}return v}async function H(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=a.width+e.padding+20,o=a.height+e.padding,l=o/2,u=l/(2.5+o/50),{cssStyles:f}=e,m=[{x:s/2,y:-o/2},{x:-s/2,y:-o/2},...j(-s/2,-o/2,-s/2,o/2,u,l,!1),{x:s/2,y:o/2},...j(s/2,o/2,s/2,-o/2,u,l,!0)],y=c.Z.svg(i),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=g(m),b=y.path(x,v),w=i.insert((()=>b),":first-child");return w.attr("class","basic label-container"),f&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",f),r&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",r),w.attr("transform",`translate(${u/2}, 0)`),d(e,w),e.intersect=function(t){return V.polygon(e,m,t)},i}function X(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+n/2+")")}async function K(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=a.height+e.padding,o=a.width+e.padding+12,l=-s,u=[{x:12,y:l},{x:o,y:l},{x:o,y:0},{x:0,y:0},{x:0,y:l+12},{x:12,y:l}];let f;const{cssStyles:m}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=g(u),a=t.path(r,n);f=i.insert((()=>a),":first-child").attr("transform",`translate(${-o/2}, ${s/2})`),m&&f.attr("style",m)}else f=X(i,o,s,u);return r&&f.attr("style",r),d(e,f),e.intersect=function(t){return V.polygon(e,u,t)},i}function Q(t,e){const{nodeStyles:n}=S(e);e.label="";const r=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=c.Z.svg(r),l=C(e,{});"handDrawn"!==e.look&&(l.roughness=0,l.fillStyle="solid");const h=g(s),u=o.path(h,l),d=r.insert((()=>u),":first-child");return i&&"handDrawn"!==e.look&&d.selectAll("path").attr("style",i),n&&"handDrawn"!==e.look&&d.selectAll("path").attr("style",n),e.width=28,e.height=28,e.intersect=function(t){return V.polygon(e,s,t)},r}async function J(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,halfPadding:l}=await h(t,e,p(e)),u=a.width/2+l;let g;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=t.circle(0,0,2*u,n);g=i.insert((()=>r),":first-child"),g.attr("class","basic label-container").attr("style",(0,s.R7)(f))}else g=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",r).attr("r",u).attr("cx",0).attr("cy",0);return d(e,g),e.intersect=function(t){return o.cM.info("Circle intersect",e,u,t),V.circle(e,u,t)},i}function tt(t){const e=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=2*t;return`M ${-r/2*e},${r/2*n} L ${r/2*e},${-r/2*n}\n M ${r/2*e},${r/2*n} L ${-r/2*e},${-r/2*n}`}function et(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n,e.label="";const i=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=c.Z.svg(i),h=C(e,{});"handDrawn"!==e.look&&(h.roughness=0,h.fillStyle="solid");const u=l.circle(0,0,2*a,h),g=tt(a),f=l.path(g,h),m=i.insert((()=>u),":first-child");return m.insert((()=>f)),s&&"handDrawn"!==e.look&&m.selectAll("path").attr("style",s),r&&"handDrawn"!==e.look&&m.selectAll("path").attr("style",r),d(e,m),e.intersect=function(t){return o.cM.info("crossedCircle intersect",e,{radius:a,point:t}),V.circle(e,a,t)},i}function nt(t,e,n,r=100,i=0,a=180){const s=[],o=i*Math.PI/180,l=(a*Math.PI/180-o)/(r-1);for(let i=0;i<r;i++){const r=o+i*l,a=t+n*Math.cos(r),c=e+n*Math.sin(r);s.push({x:-a,y:-c})}return s}async function rt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=a.width+(e.padding??0),l=a.height+(e.padding??0),u=Math.max(5,.1*l),{cssStyles:f}=e,m=[...nt(o/2,-l/2,u,30,-90,0),{x:-o/2-u,y:u},...nt(o/2+2*u,-u,u,20,-180,-270),...nt(o/2+2*u,u,u,20,-90,-180),{x:-o/2-u,y:-l/2},...nt(o/2,l/2,u,20,0,90)],y=[{x:o/2,y:-l/2-u},{x:-o/2,y:-l/2-u},...nt(o/2,-l/2,u,20,-90,0),{x:-o/2-u,y:-u},...nt(o/2+.1*o,-u,u,20,-180,-270),...nt(o/2+.1*o,u,u,20,-90,-180),{x:-o/2-u,y:l/2},...nt(o/2,l/2,u,20,0,90),{x:-o/2,y:l/2+u},{x:o/2,y:l/2+u}],v=c.Z.svg(i),x=C(e,{fill:"none"});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=g(m).replace("Z",""),w=v.path(b,x),k=g(y),T=v.path(k,{...x}),_=i.insert("g",":first-child");return _.insert((()=>T),":first-child").attr("stroke-opacity",0),_.insert((()=>w),":first-child"),_.attr("class","text"),f&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",f),r&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",r),_.attr("transform",`translate(${u}, 0)`),s.attr("transform",`translate(${-o/2+u-(a.x-(a.left??0))},${-l/2+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,_),e.intersect=function(t){return V.polygon(e,y,t)},i}function it(t,e,n,r=100,i=0,a=180){const s=[],o=i*Math.PI/180,l=(a*Math.PI/180-o)/(r-1);for(let i=0;i<r;i++){const r=o+i*l,a=t+n*Math.cos(r),c=e+n*Math.sin(r);s.push({x:a,y:c})}return s}async function at(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=a.width+(e.padding??0),l=a.height+(e.padding??0),u=Math.max(5,.1*l),{cssStyles:f}=e,m=[...it(o/2,-l/2,u,20,-90,0),{x:o/2+u,y:-u},...it(o/2+2*u,-u,u,20,-180,-270),...it(o/2+2*u,u,u,20,-90,-180),{x:o/2+u,y:l/2},...it(o/2,l/2,u,20,0,90)],y=[{x:-o/2,y:-l/2-u},{x:o/2,y:-l/2-u},...it(o/2,-l/2,u,20,-90,0),{x:o/2+u,y:-u},...it(o/2+2*u,-u,u,20,-180,-270),...it(o/2+2*u,u,u,20,-90,-180),{x:o/2+u,y:l/2},...it(o/2,l/2,u,20,0,90),{x:o/2,y:l/2+u},{x:-o/2,y:l/2+u}],v=c.Z.svg(i),x=C(e,{fill:"none"});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=g(m).replace("Z",""),w=v.path(b,x),k=g(y),T=v.path(k,{...x}),_=i.insert("g",":first-child");return _.insert((()=>T),":first-child").attr("stroke-opacity",0),_.insert((()=>w),":first-child"),_.attr("class","text"),f&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",f),r&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",r),_.attr("transform",`translate(${-u}, 0)`),s.attr("transform",`translate(${-o/2+(e.padding??0)/2-(a.x-(a.left??0))},${-l/2+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,_),e.intersect=function(t){return V.polygon(e,y,t)},i}function st(t,e,n,r=100,i=0,a=180){const s=[],o=i*Math.PI/180,l=(a*Math.PI/180-o)/(r-1);for(let i=0;i<r;i++){const r=o+i*l,a=t+n*Math.cos(r),c=e+n*Math.sin(r);s.push({x:-a,y:-c})}return s}async function ot(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=a.width+(e.padding??0),l=a.height+(e.padding??0),u=Math.max(5,.1*l),{cssStyles:f}=e,m=[...st(o/2,-l/2,u,30,-90,0),{x:-o/2-u,y:u},...st(o/2+2*u,-u,u,20,-180,-270),...st(o/2+2*u,u,u,20,-90,-180),{x:-o/2-u,y:-l/2},...st(o/2,l/2,u,20,0,90)],y=[...st(-o/2+u+u/2,-l/2,u,20,-90,-180),{x:o/2-u/2,y:u},...st(-o/2-u/2,-u,u,20,0,90),...st(-o/2-u/2,u,u,20,-90,0),{x:o/2-u/2,y:-u},...st(-o/2+u+u/2,l/2,u,30,-180,-270)],v=[{x:o/2,y:-l/2-u},{x:-o/2,y:-l/2-u},...st(o/2,-l/2,u,20,-90,0),{x:-o/2-u,y:-u},...st(o/2+2*u,-u,u,20,-180,-270),...st(o/2+2*u,u,u,20,-90,-180),{x:-o/2-u,y:l/2},...st(o/2,l/2,u,20,0,90),{x:-o/2,y:l/2+u},{x:o/2-u-u/2,y:l/2+u},...st(-o/2+u+u/2,-l/2,u,20,-90,-180),{x:o/2-u/2,y:u},...st(-o/2-u/2,-u,u,20,0,90),...st(-o/2-u/2,u,u,20,-90,0),{x:o/2-u/2,y:-u},...st(-o/2+u+u/2,l/2,u,30,-180,-270)],x=c.Z.svg(i),b=C(e,{fill:"none"});"handDrawn"!==e.look&&(b.roughness=0,b.fillStyle="solid");const w=g(m).replace("Z",""),k=x.path(w,b),T=g(y).replace("Z",""),_=x.path(T,b),E=g(v),A=x.path(E,{...b}),L=i.insert("g",":first-child");return L.insert((()=>A),":first-child").attr("stroke-opacity",0),L.insert((()=>k),":first-child"),L.insert((()=>_),":first-child"),L.attr("class","text"),f&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",f),r&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",r),L.attr("transform",`translate(${u-u/4}, 0)`),s.attr("transform",`translate(${-o/2+(e.padding??0)/2-(a.x-(a.left??0))},${-l/2+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,L),e.intersect=function(t){return V.polygon(e,v,t)},i}async function lt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(80,1.25*(a.width+2*(e.padding??0)),e?.width??0),o=Math.max(20,a.height+2*(e.padding??0),e?.height??0),l=o/2,{cssStyles:u}=e,f=c.Z.svg(i),y=C(e,{});"handDrawn"!==e.look&&(y.roughness=0,y.fillStyle="solid");const v=s-l,x=o/4,b=[{x:v,y:0},{x,y:0},{x:0,y:o/2},{x,y:o},{x:v,y:o},...m(-v,-o/2,l,50,270,90)],w=g(b),k=f.path(w,y),T=i.insert((()=>k),":first-child");return T.attr("class","basic label-container"),u&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",u),r&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",r),T.attr("transform",`translate(${-s/2}, ${-o/2})`),d(e,T),e.intersect=function(t){return V.polygon(e,b,t)},i}(0,o.eW)(q,"anchor"),(0,o.eW)(j,"generateArcPoints"),(0,o.eW)(H,"bowTieRect"),(0,o.eW)(X,"insertPolygonShape"),(0,o.eW)(K,"card"),(0,o.eW)(Q,"choice"),(0,o.eW)(J,"circle"),(0,o.eW)(tt,"createLine"),(0,o.eW)(et,"crossedCircle"),(0,o.eW)(nt,"generateCirclePoints"),(0,o.eW)(rt,"curlyBraceLeft"),(0,o.eW)(it,"generateCirclePoints"),(0,o.eW)(at,"curlyBraceRight"),(0,o.eW)(st,"generateCirclePoints"),(0,o.eW)(ot,"curlyBraces"),(0,o.eW)(lt,"curvedTrapezoid");var ct=(0,o.eW)(((t,e,n,r,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,"l0,"+-r].join(" ")),"createCylinderPathD"),ht=(0,o.eW)(((t,e,n,r,i,a)=>[`M${t},${e+a}`,`M${t+n},${e+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,"l0,"+-r].join(" ")),"createOuterCylinderPathD"),ut=(0,o.eW)(((t,e,n,r,i,a)=>[`M${t-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(" ")),"createInnerCylinderPathD");async function dt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:o}=await h(t,e,p(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,g=u/(2.5+l/50),f=Math.max(a.height+g+e.padding,e.height??0);let m;const{cssStyles:y}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=ht(0,0,l,f,u,g),r=ut(0,g,l,f,u,g),a=t.path(n,C(e,{})),s=t.path(r,C(e,{fill:"none"}));m=i.insert((()=>s),":first-child"),m=i.insert((()=>a),":first-child"),m.attr("class","basic label-container"),y&&m.attr("style",y)}else{const t=ct(0,0,l,f,u,g);m=i.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,s.R7)(y)).attr("style",r)}return m.attr("label-offset-y",g),m.attr("transform",`translate(${-l/2}, ${-(f/2+g)})`),d(e,m),o.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-a.height/2+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(t){const n=V.rect(e,t),r=n.x-(e.x??0);if(0!=u&&(Math.abs(r)<(e.width??0)/2||Math.abs(r)==(e.width??0)/2&&Math.abs(n.y-(e.y??0))>(e.height??0)/2-g)){let i=g*g*(1-r*r/(u*u));i>0&&(i=Math.sqrt(i)),i=g-i,t.y-(e.y??0)>0&&(i=-i),n.y+=i}return n},i}async function pt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=a.width+e.padding,l=a.height+e.padding,u=.2*l,g=-o/2,f=-l/2-u/2,{cssStyles:m}=e,y=c.Z.svg(i),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=[{x:g,y:f+u},{x:-g,y:f+u},{x:-g,y:-f},{x:g,y:-f},{x:g,y:f},{x:-g,y:f},{x:-g,y:f+u}],b=y.polygon(x.map((t=>[t.x,t.y])),v),w=i.insert((()=>b),":first-child");return w.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",m),r&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",r),s.attr("transform",`translate(${g+(e.padding??0)/2-(a.x-(a.left??0))}, ${f+u+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,w),e.intersect=function(t){return V.rect(e,t)},i}async function gt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,halfPadding:l}=await h(t,e,p(e)),u=a.width/2+l+5,g=a.width/2+l;let f;const{cssStyles:m}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{roughness:.2,strokeWidth:2.5}),r=C(e,{roughness:.2,strokeWidth:1.5}),a=t.circle(0,0,2*u,n),o=t.circle(0,0,2*g,r);f=i.insert("g",":first-child"),f.attr("class",(0,s.R7)(e.cssClasses)).attr("style",(0,s.R7)(m)),f.node()?.appendChild(a),f.node()?.appendChild(o)}else{f=i.insert("g",":first-child");const t=f.insert("circle",":first-child"),e=f.insert("circle");f.attr("class","basic label-container").attr("style",r),t.attr("class","outer-circle").attr("style",r).attr("r",u).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",r).attr("r",g).attr("cx",0).attr("cy",0)}return d(e,f),e.intersect=function(t){return o.cM.info("DoubleCircle intersect",e,u,t),V.circle(e,u,t)},i}function ft(t,e,{config:{themeVariables:n}}){const{labelStyles:r,nodeStyles:i}=S(e);e.label="",e.labelStyle=r;const a=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:s}=e,l=c.Z.svg(a),{nodeBorder:h}=n,u=C(e,{fillStyle:"solid"});"handDrawn"!==e.look&&(u.roughness=0);const g=l.circle(0,0,14,u),f=a.insert((()=>g),":first-child");return f.selectAll("path").attr("style",`fill: ${h} !important;`),s&&s.length>0&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",s),i&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",i),d(e,f),e.intersect=function(t){return o.cM.info("filledCircle intersect",e,{radius:7,point:t}),V.circle(e,7,t)},a}async function mt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),l=a.width+(e.padding??0),u=l+a.height,f=l+a.height,m=[{x:0,y:-u},{x:f,y:-u},{x:f/2,y:0}],{cssStyles:y}=e,v=c.Z.svg(i),x=C(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=g(m),w=v.path(b,x),k=i.insert((()=>w),":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return y&&"handDrawn"!==e.look&&k.selectChildren("path").attr("style",y),r&&"handDrawn"!==e.look&&k.selectChildren("path").attr("style",r),e.width=l,e.height=u,d(e,k),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(t){return o.cM.info("Triangle intersect",e,m,t),V.polygon(e,m,t)},i}function yt(t,e,{dir:n,config:{state:r,themeVariables:i}}){const{nodeStyles:a}=S(e);e.label="";const s=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);"LR"===n&&(l=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));const u=-1*l/2,g=-1*h/2,f=c.Z.svg(s),m=C(e,{stroke:i.lineColor,fill:i.lineColor});"handDrawn"!==e.look&&(m.roughness=0,m.fillStyle="solid");const y=f.rectangle(u,g,l,h,m),v=s.insert((()=>y),":first-child");o&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",o),a&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",a),d(e,v);const x=r?.padding??0;return e.width&&e.height&&(e.width+=x/2||0,e.height+=x/2||0),e.intersect=function(t){return V.rect(e,t)},s}async function vt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(80,a.width+2*(e.padding??0),e?.width??0),l=Math.max(50,a.height+2*(e.padding??0),e?.height??0),u=l/2,{cssStyles:f}=e,y=c.Z.svg(i),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=[{x:-s/2,y:-l/2},{x:s/2-u,y:-l/2},...m(-s/2+u,0,u,50,90,270),{x:s/2-u,y:l/2},{x:-s/2,y:l/2}],b=g(x),w=y.path(b,v),k=i.insert((()=>w),":first-child");return k.attr("class","basic label-container"),f&&"handDrawn"!==e.look&&k.selectChildren("path").attr("style",f),r&&"handDrawn"!==e.look&&k.selectChildren("path").attr("style",r),d(e,k),e.intersect=function(t){return o.cM.info("Pill intersect",e,{radius:u,point:t}),V.polygon(e,x,t)},i}(0,o.eW)(dt,"cylinder"),(0,o.eW)(pt,"dividedRectangle"),(0,o.eW)(gt,"doublecircle"),(0,o.eW)(ft,"filledCircle"),(0,o.eW)(mt,"flippedTriangle"),(0,o.eW)(yt,"forkJoin"),(0,o.eW)(vt,"halfRoundedRectangle");var xt=(0,o.eW)(((t,e,n,r,i)=>[`M${t+i},${e}`,`L${t+n-i},${e}`,`L${t+n},${e-r/2}`,`L${t+n-i},${e-r}`,`L${t+i},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" ")),"createHexagonPathD");async function bt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=a.height+e.padding,o=s/4,l=a.width+2*o+e.padding,u=[{x:o,y:0},{x:l-o,y:0},{x:l,y:-s/2},{x:l-o,y:-s},{x:o,y:-s},{x:0,y:-s/2}];let g;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=xt(0,0,l,s,o),a=t.path(r,n);g=i.insert((()=>a),":first-child").attr("transform",`translate(${-l/2}, ${s/2})`),f&&g.attr("style",f)}else g=X(i,l,s,u);return r&&g.attr("style",r),e.width=l,e.height=s,d(e,g),e.intersect=function(t){return V.polygon(e,u,t)},i}async function wt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.label="",e.labelStyle=n;const{shapeSvg:i}=await h(t,e,p(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=c.Z.svg(i),f=C(e,{});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");const m=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],y=g(m),v=u.path(y,f),x=i.insert((()=>v),":first-child");return x.attr("class","basic label-container"),l&&"handDrawn"!==e.look&&x.selectChildren("path").attr("style",l),r&&"handDrawn"!==e.look&&x.selectChildren("path").attr("style",r),x.attr("transform",`translate(${-a/2}, ${-s/2})`),d(e,x),e.intersect=function(t){return o.cM.info("Pill intersect",e,{points:m}),V.polygon(e,m,t)},i}async function kt(t,e,{config:{themeVariables:n,flowchart:r}}){const{labelStyles:a}=S(e);e.labelStyle=a;const s=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(s,l),p=r?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:g,bbox:f,label:m}=await h(t,e,"icon-shape default"),y="t"===e.pos,v=u,x=u,{nodeBorder:b}=n,{stylesMap:w}=T(e),k=-x/2,_=-v/2,E=e.label?8:0,A=c.Z.svg(g),L=C(e,{stroke:"none",fill:"none"});"handDrawn"!==e.look&&(L.roughness=0,L.fillStyle="solid");const M=A.rectangle(k,_,x,v,L),N=Math.max(x,f.width),I=v+f.height+E,R=A.rectangle(-N/2,-I/2,N,I,{...L,fill:"transparent",stroke:"none"}),D=g.insert((()=>M),":first-child"),O=g.insert((()=>R));if(e.icon){const t=g.append("g");t.html(`<g>${await(0,i.s4)(e.icon,{height:u,width:u,fallbackPrefix:""})}</g>`);const n=t.node().getBBox(),r=n.width,a=n.height,s=n.x,o=n.y;t.attr("transform",`translate(${-r/2-s},${y?f.height/2+E/2-a/2-o:-f.height/2-E/2-a/2-o})`),t.attr("style",`color: ${w.get("stroke")??b};`)}return m.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${y?-I/2:I/2-f.height})`),D.attr("transform",`translate(0,${y?f.height/2+E/2:-f.height/2-E/2})`),d(e,O),e.intersect=function(t){if(o.cM.info("iconSquare intersect",e,t),!e.label)return V.rect(e,t);const n=e.x??0,r=e.y??0,i=e.height??0;let a=[];return a=y?[{x:n-f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2+f.height+E},{x:n+x/2,y:r-i/2+f.height+E},{x:n+x/2,y:r+i/2},{x:n-x/2,y:r+i/2},{x:n-x/2,y:r-i/2+f.height+E},{x:n-f.width/2,y:r-i/2+f.height+E}]:[{x:n-x/2,y:r-i/2},{x:n+x/2,y:r-i/2},{x:n+x/2,y:r-i/2+v},{x:n+f.width/2,y:r-i/2+v},{x:n+f.width/2/2,y:r+i/2},{x:n-f.width/2,y:r+i/2},{x:n-f.width/2,y:r-i/2+v},{x:n-x/2,y:r-i/2+v}],V.polygon(e,a,t)},g}async function Tt(t,e,{config:{themeVariables:n,flowchart:r}}){const{labelStyles:a}=S(e);e.labelStyle=a;const s=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(s,l),p=r?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:g,bbox:f,label:m}=await h(t,e,"icon-shape default"),y=e.label?8:0,v="t"===e.pos,{nodeBorder:x,mainBkg:b}=n,{stylesMap:w}=T(e),k=c.Z.svg(g),_=C(e,{});"handDrawn"!==e.look&&(_.roughness=0,_.fillStyle="solid");const E=w.get("fill");_.stroke=E??b;const A=g.append("g");e.icon&&A.html(`<g>${await(0,i.s4)(e.icon,{height:u,width:u,fallbackPrefix:""})}</g>`);const L=A.node().getBBox(),M=L.width,N=L.height,I=L.x,R=L.y,D=Math.max(M,N)*Math.SQRT2+40,O=k.circle(0,0,D,_),P=Math.max(D,f.width),$=D+f.height+y,B=k.rectangle(-P/2,-$/2,P,$,{..._,fill:"transparent",stroke:"none"}),F=g.insert((()=>O),":first-child"),W=g.insert((()=>B));return A.attr("transform",`translate(${-M/2-I},${v?f.height/2+y/2-N/2-R:-f.height/2-y/2-N/2-R})`),A.attr("style",`color: ${w.get("stroke")??x};`),m.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${v?-$/2:$/2-f.height})`),F.attr("transform",`translate(0,${v?f.height/2+y/2:-f.height/2-y/2})`),d(e,W),e.intersect=function(t){return o.cM.info("iconSquare intersect",e,t),V.rect(e,t)},g}async function _t(t,e,{config:{themeVariables:n,flowchart:r}}){const{labelStyles:a}=S(e);e.labelStyle=a;const s=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(s,l),p=r?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:g,bbox:f,halfPadding:m,label:y}=await h(t,e,"icon-shape default"),v="t"===e.pos,x=u+2*m,b=u+2*m,{nodeBorder:k,mainBkg:_}=n,{stylesMap:E}=T(e),A=-b/2,L=-x/2,M=e.label?8:0,N=c.Z.svg(g),I=C(e,{});"handDrawn"!==e.look&&(I.roughness=0,I.fillStyle="solid");const R=E.get("fill");I.stroke=R??_;const D=N.path(w(A,L,b,x,5),I),O=Math.max(b,f.width),P=x+f.height+M,$=N.rectangle(-O/2,-P/2,O,P,{...I,fill:"transparent",stroke:"none"}),B=g.insert((()=>D),":first-child").attr("class","icon-shape2"),F=g.insert((()=>$));if(e.icon){const t=g.append("g");t.html(`<g>${await(0,i.s4)(e.icon,{height:u,width:u,fallbackPrefix:""})}</g>`);const n=t.node().getBBox(),r=n.width,a=n.height,s=n.x,o=n.y;t.attr("transform",`translate(${-r/2-s},${v?f.height/2+M/2-a/2-o:-f.height/2-M/2-a/2-o})`),t.attr("style",`color: ${E.get("stroke")??k};`)}return y.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${v?-P/2:P/2-f.height})`),B.attr("transform",`translate(0,${v?f.height/2+M/2:-f.height/2-M/2})`),d(e,F),e.intersect=function(t){if(o.cM.info("iconSquare intersect",e,t),!e.label)return V.rect(e,t);const n=e.x??0,r=e.y??0,i=e.height??0;let a=[];return a=v?[{x:n-f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2+f.height+M},{x:n+b/2,y:r-i/2+f.height+M},{x:n+b/2,y:r+i/2},{x:n-b/2,y:r+i/2},{x:n-b/2,y:r-i/2+f.height+M},{x:n-f.width/2,y:r-i/2+f.height+M}]:[{x:n-b/2,y:r-i/2},{x:n+b/2,y:r-i/2},{x:n+b/2,y:r-i/2+x},{x:n+f.width/2,y:r-i/2+x},{x:n+f.width/2/2,y:r+i/2},{x:n-f.width/2,y:r+i/2},{x:n-f.width/2,y:r-i/2+x},{x:n-b/2,y:r-i/2+x}],V.polygon(e,a,t)},g}async function Et(t,e,{config:{themeVariables:n,flowchart:r}}){const{labelStyles:a}=S(e);e.labelStyle=a;const s=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(s,l),p=r?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:g,bbox:f,halfPadding:m,label:y}=await h(t,e,"icon-shape default"),v="t"===e.pos,x=u+2*m,b=u+2*m,{nodeBorder:k,mainBkg:_}=n,{stylesMap:E}=T(e),A=-b/2,L=-x/2,M=e.label?8:0,N=c.Z.svg(g),I=C(e,{});"handDrawn"!==e.look&&(I.roughness=0,I.fillStyle="solid");const R=E.get("fill");I.stroke=R??_;const D=N.path(w(A,L,b,x,.1),I),O=Math.max(b,f.width),P=x+f.height+M,$=N.rectangle(-O/2,-P/2,O,P,{...I,fill:"transparent",stroke:"none"}),B=g.insert((()=>D),":first-child"),F=g.insert((()=>$));if(e.icon){const t=g.append("g");t.html(`<g>${await(0,i.s4)(e.icon,{height:u,width:u,fallbackPrefix:""})}</g>`);const n=t.node().getBBox(),r=n.width,a=n.height,s=n.x,o=n.y;t.attr("transform",`translate(${-r/2-s},${v?f.height/2+M/2-a/2-o:-f.height/2-M/2-a/2-o})`),t.attr("style",`color: ${E.get("stroke")??k};`)}return y.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${v?-P/2:P/2-f.height})`),B.attr("transform",`translate(0,${v?f.height/2+M/2:-f.height/2-M/2})`),d(e,F),e.intersect=function(t){if(o.cM.info("iconSquare intersect",e,t),!e.label)return V.rect(e,t);const n=e.x??0,r=e.y??0,i=e.height??0;let a=[];return a=v?[{x:n-f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2+f.height+M},{x:n+b/2,y:r-i/2+f.height+M},{x:n+b/2,y:r+i/2},{x:n-b/2,y:r+i/2},{x:n-b/2,y:r-i/2+f.height+M},{x:n-f.width/2,y:r-i/2+f.height+M}]:[{x:n-b/2,y:r-i/2},{x:n+b/2,y:r-i/2},{x:n+b/2,y:r-i/2+x},{x:n+f.width/2,y:r-i/2+x},{x:n+f.width/2/2,y:r+i/2},{x:n-f.width/2,y:r+i/2},{x:n-f.width/2,y:r-i/2+x},{x:n-b/2,y:r-i/2+x}],V.polygon(e,a,t)},g}async function St(t,e,{config:{flowchart:n}}){const r=new Image;r.src=e?.img??"",await r.decode();const i=Number(r.naturalWidth.toString().replace("px","")),a=Number(r.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=S(e);e.labelStyle=s;const l=n?.wrappingWidth;e.defaultWidth=n?.wrappingWidth;const u=Math.max(e.label?l??0:0,e?.assetWidth??i),p="on"===e.constraint&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,g="on"===e.constraint?p/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(p,l??0);const{shapeSvg:f,bbox:m,label:y}=await h(t,e,"image-shape default"),v="t"===e.pos,x=-p/2,b=-g/2,w=e.label?8:0,k=c.Z.svg(f),T=C(e,{});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");const _=k.rectangle(x,b,p,g,T),E=Math.max(p,m.width),A=g+m.height+w,L=k.rectangle(-E/2,-A/2,E,A,{...T,fill:"none",stroke:"none"}),M=f.insert((()=>_),":first-child"),N=f.insert((()=>L));if(e.img){const t=f.append("image");t.attr("href",e.img),t.attr("width",p),t.attr("height",g),t.attr("preserveAspectRatio","none"),t.attr("transform",`translate(${-p/2},${v?A/2-g:-A/2})`)}return y.attr("transform",`translate(${-m.width/2-(m.x-(m.left??0))},${v?-g/2-m.height/2-w/2:g/2-m.height/2+w/2})`),M.attr("transform",`translate(0,${v?m.height/2+w/2:-m.height/2-w/2})`),d(e,N),e.intersect=function(t){if(o.cM.info("iconSquare intersect",e,t),!e.label)return V.rect(e,t);const n=e.x??0,r=e.y??0,i=e.height??0;let a=[];return a=v?[{x:n-m.width/2,y:r-i/2},{x:n+m.width/2,y:r-i/2},{x:n+m.width/2,y:r-i/2+m.height+w},{x:n+p/2,y:r-i/2+m.height+w},{x:n+p/2,y:r+i/2},{x:n-p/2,y:r+i/2},{x:n-p/2,y:r-i/2+m.height+w},{x:n-m.width/2,y:r-i/2+m.height+w}]:[{x:n-p/2,y:r-i/2},{x:n+p/2,y:r-i/2},{x:n+p/2,y:r-i/2+g},{x:n+m.width/2,y:r-i/2+g},{x:n+m.width/2/2,y:r+i/2},{x:n-m.width/2,y:r+i/2},{x:n-m.width/2,y:r-i/2+g},{x:n-p/2,y:r-i/2+g}],V.polygon(e,a,t)},f}async function Ct(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),o=Math.max(a.height+2*(e.padding??0),e?.height??0),l=[{x:0,y:0},{x:s,y:0},{x:s+3*o/6,y:-o},{x:-3*o/6,y:-o}];let u;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=g(l),a=t.path(r,n);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),f&&u.attr("style",f)}else u=X(i,s,o,l);return r&&u.attr("style",r),e.width=s,e.height=o,d(e,u),e.intersect=function(t){return V.polygon(e,l,t)},i}async function At(t,e,n){const{labelStyles:r,nodeStyles:i}=S(e);e.labelStyle=r;const{shapeSvg:a,bbox:o}=await h(t,e,p(e)),l=Math.max(o.width+2*n.labelPaddingX,e?.width||0),u=Math.max(o.height+2*n.labelPaddingY,e?.height||0),g=-l/2,f=-u/2;let m,{rx:y,ry:v}=e;const{cssStyles:x}=e;if(n?.rx&&n.ry&&(y=n.rx,v=n.ry),"handDrawn"===e.look){const t=c.Z.svg(a),n=C(e,{}),r=y||v?t.path(w(g,f,l,u,y||0),n):t.rectangle(g,f,l,u,n);m=a.insert((()=>r),":first-child"),m.attr("class","basic label-container").attr("style",(0,s.R7)(x))}else m=a.insert("rect",":first-child"),m.attr("class","basic label-container").attr("style",i).attr("rx",(0,s.R7)(y)).attr("ry",(0,s.R7)(v)).attr("x",g).attr("y",f).attr("width",l).attr("height",u);return d(e,m),e.intersect=function(t){return V.rect(e,t)},a}async function Lt(t,e){const{shapeSvg:n,bbox:r,label:i}=await h(t,e,"label"),a=n.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),n.attr("class","label edgeLabel"),i.attr("transform",`translate(${-r.width/2-(r.x-(r.left??0))}, ${-r.height/2-(r.y-(r.top??0))})`),d(e,a),e.intersect=function(t){return V.rect(e,t)},n}async function Mt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),o=Math.max(a.height+(e.padding??0),e?.height??0),l=[{x:0,y:0},{x:s+3*o/6,y:0},{x:s,y:-o},{x:-3*o/6,y:-o}];let u;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=g(l),a=t.path(r,n);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),f&&u.attr("style",f)}else u=X(i,s,o,l);return r&&u.attr("style",r),e.width=s,e.height=o,d(e,u),e.intersect=function(t){return V.polygon(e,l,t)},i}async function Nt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),o=Math.max(a.height+(e.padding??0),e?.height??0),l=[{x:-3*o/6,y:0},{x:s,y:0},{x:s+3*o/6,y:-o},{x:0,y:-o}];let u;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=g(l),a=t.path(r,n);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),f&&u.attr("style",f)}else u=X(i,s,o,l);return r&&u.attr("style",r),e.width=s,e.height=o,d(e,u),e.intersect=function(t){return V.polygon(e,l,t)},i}function It(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.label="",e.labelStyle=n;const i=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),h=[{x:s,y:0},{x:0,y:l+3.5},{x:s-14,y:l+3.5},{x:0,y:2*l},{x:s,y:l-3.5},{x:14,y:l-3.5}],u=c.Z.svg(i),f=C(e,{});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");const m=g(h),y=u.path(m,f),v=i.insert((()=>y),":first-child");return a&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",a),r&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",r),v.attr("transform",`translate(-${s/2},${-l})`),d(e,v),e.intersect=function(t){return o.cM.info("lightningBolt intersect",e,t),V.polygon(e,h,t)},i}(0,o.eW)(bt,"hexagon"),(0,o.eW)(wt,"hourglass"),(0,o.eW)(kt,"icon"),(0,o.eW)(Tt,"iconCircle"),(0,o.eW)(_t,"iconRounded"),(0,o.eW)(Et,"iconSquare"),(0,o.eW)(St,"imageSquare"),(0,o.eW)(Ct,"inv_trapezoid"),(0,o.eW)(At,"drawRect"),(0,o.eW)(Lt,"labelRect"),(0,o.eW)(Mt,"lean_left"),(0,o.eW)(Nt,"lean_right"),(0,o.eW)(It,"lightningBolt");var Rt=(0,o.eW)(((t,e,n,r,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,"l0,"+-r,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${n},0`].join(" ")),"createCylinderPathD"),Dt=(0,o.eW)(((t,e,n,r,i,a,s)=>[`M${t},${e+a}`,`M${t+n},${e+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,"l0,"+-r,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${n},0`].join(" ")),"createOuterCylinderPathD"),Ot=(0,o.eW)(((t,e,n,r,i,a)=>[`M${t-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(" ")),"createInnerCylinderPathD");async function Pt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:o}=await h(t,e,p(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,g=u/(2.5+l/50),f=Math.max(a.height+g+(e.padding??0),e.height??0),m=.1*f;let y;const{cssStyles:v}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=Dt(0,0,l,f,u,g,m),r=Ot(0,g,l,f,u,g),a=C(e,{}),s=t.path(n,a),o=t.path(r,a);i.insert((()=>o),":first-child").attr("class","line"),y=i.insert((()=>s),":first-child"),y.attr("class","basic label-container"),v&&y.attr("style",v)}else{const t=Rt(0,0,l,f,u,g,m);y=i.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,s.R7)(v)).attr("style",r)}return y.attr("label-offset-y",g),y.attr("transform",`translate(${-l/2}, ${-(f/2+g)})`),d(e,y),o.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-a.height/2+g-(a.y-(a.top??0))})`),e.intersect=function(t){const n=V.rect(e,t),r=n.x-(e.x??0);if(0!=u&&(Math.abs(r)<(e.width??0)/2||Math.abs(r)==(e.width??0)/2&&Math.abs(n.y-(e.y??0))>(e.height??0)/2-g)){let i=g*g*(1-r*r/(u*u));i>0&&(i=Math.sqrt(i)),i=g-i,t.y-(e.y??0)>0&&(i=-i),n.y+=i}return n},i}async function $t(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/4,g=l+u,{cssStyles:m}=e,y=c.Z.svg(i),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=[{x:-o/2-o/2*.1,y:-g/2},{x:-o/2-o/2*.1,y:g/2},...f(-o/2-o/2*.1,g/2,o/2+o/2*.1,g/2,u,.8),{x:o/2+o/2*.1,y:-g/2},{x:-o/2-o/2*.1,y:-g/2},{x:-o/2,y:-g/2},{x:-o/2,y:g/2*1.1},{x:-o/2,y:-g/2}],b=y.polygon(x.map((t=>[t.x,t.y])),v),w=i.insert((()=>b),":first-child");return w.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",m),r&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",r),w.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)+o/2*.1/2-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),d(e,w),e.intersect=function(t){return V.polygon(e,x,t)},i}async function Bt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=-o/2,f=-l/2,{cssStyles:m}=e,y=c.Z.svg(i),v=C(e,{}),x=[{x:u-5,y:f+5},{x:u-5,y:f+l+5},{x:u+o-5,y:f+l+5},{x:u+o-5,y:f+l},{x:u+o,y:f+l},{x:u+o,y:f+l-5},{x:u+o+5,y:f+l-5},{x:u+o+5,y:f-5},{x:u+5,y:f-5},{x:u+5,y:f},{x:u,y:f},{x:u,y:f+5}],b=[{x:u,y:f+5},{x:u+o-5,y:f+5},{x:u+o-5,y:f+l},{x:u+o,y:f+l},{x:u+o,y:f},{x:u,y:f}];"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const w=g(x),k=y.path(w,v),T=g(b),_=y.path(T,{...v,fill:"none"}),E=i.insert((()=>_),":first-child");return E.insert((()=>k),":first-child"),E.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",m),r&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",r),s.attr("transform",`translate(${-a.width/2-5-(a.x-(a.left??0))}, ${-a.height/2+5-(a.y-(a.top??0))})`),d(e,E),e.intersect=function(t){return V.polygon(e,x,t)},i}async function Ft(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/4,m=l+u,y=-o/2,v=-m/2,{cssStyles:x}=e,b=f(y-5,v+m+5,y+o-5,v+m+5,u,.8),w=b?.[b.length-1],k=[{x:y-5,y:v+5},{x:y-5,y:v+m+5},...b,{x:y+o-5,y:w.y-5},{x:y+o,y:w.y-5},{x:y+o,y:w.y-10},{x:y+o+5,y:w.y-10},{x:y+o+5,y:v-5},{x:y+5,y:v-5},{x:y+5,y:v},{x:y,y:v},{x:y,y:v+5}],T=[{x:y,y:v+5},{x:y+o-5,y:v+5},{x:y+o-5,y:w.y-5},{x:y+o,y:w.y-5},{x:y+o,y:v},{x:y,y:v}],_=c.Z.svg(i),E=C(e,{});"handDrawn"!==e.look&&(E.roughness=0,E.fillStyle="solid");const A=g(k),L=_.path(A,E),M=g(T),N=_.path(M,E),I=i.insert((()=>L),":first-child");return I.insert((()=>N)),I.attr("class","basic label-container"),x&&"handDrawn"!==e.look&&I.selectAll("path").attr("style",x),r&&"handDrawn"!==e.look&&I.selectAll("path").attr("style",r),I.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-a.width/2-5-(a.x-(a.left??0))}, ${-a.height/2+5-u/2-(a.y-(a.top??0))})`),d(e,I),e.intersect=function(t){return V.polygon(e,k,t)},i}async function Wt(t,e,{config:{themeVariables:n}}){const{labelStyles:r,nodeStyles:i}=S(e);e.labelStyle=r,e.useHtmlLabels||!1!==(0,o.iE)().flowchart?.htmlLabels||(e.centerLabel=!0);const{shapeSvg:a,bbox:s}=await h(t,e,p(e)),l=Math.max(s.width+2*(e.padding??0),e?.width??0),u=Math.max(s.height+2*(e.padding??0),e?.height??0),g=-l/2,f=-u/2,{cssStyles:m}=e,y=c.Z.svg(a),v=C(e,{fill:n.noteBkgColor,stroke:n.noteBorderColor});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=y.rectangle(g,f,l,u,v),b=a.insert((()=>x),":first-child");return b.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&b.selectAll("path").attr("style",m),i&&"handDrawn"!==e.look&&b.selectAll("path").attr("style",i),d(e,b),e.intersect=function(t){return V.rect(e,t)},a}(0,o.eW)(Pt,"linedCylinder"),(0,o.eW)($t,"linedWaveEdgedRect"),(0,o.eW)(Bt,"multiRect"),(0,o.eW)(Ft,"multiWaveEdgedRectangle"),(0,o.eW)(Wt,"note");var zt=(0,o.eW)(((t,e,n)=>[`M${t+n/2},${e}`,`L${t+n},${e-n/2}`,`L${t+n/2},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" ")),"createDecisionBoxPathD");async function Zt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=a.width+e.padding+(a.height+e.padding),l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];let u;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=zt(0,0,s),a=t.path(r,n);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-s/2}, ${s/2})`),g&&u.attr("style",g)}else u=X(i,s,s,l);return r&&u.attr("style",r),d(e,u),e.intersect=function(t){return o.cM.debug("APA12 Intersect called SPLIT\npoint:",t,"\nnode:\n",e,"\nres:",V.polygon(e,l,t)),V.polygon(e,l,t)},i}async function Yt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=-Math.max(a.width+(e.padding??0),e?.width??0)/2,l=-Math.max(a.height+(e.padding??0),e?.height??0)/2,u=l/2,f=[{x:o+u,y:l},{x:o,y:0},{x:o+u,y:-l},{x:-o,y:-l},{x:-o,y:l}],{cssStyles:m}=e,y=c.Z.svg(i),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=g(f),b=y.path(x,v),w=i.insert((()=>b),":first-child");return w.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",m),r&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",r),w.attr("transform",`translate(${-u/2},0)`),s.attr("transform",`translate(${-u/2-a.width/2-(a.x-(a.left??0))}, ${-a.height/2-(a.y-(a.top??0))})`),d(e,w),e.intersect=function(t){return V.polygon(e,f,t)},i}async function Ut(t,e){const{labelStyles:n,nodeStyles:r}=S(e);let i;e.labelStyle=n,i=e.cssClasses?"node "+e.cssClasses:"node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),h=a.insert("g").attr("class","label").attr("style",r),u=e.description,p=e.label,g=h.node().appendChild(await b(p,e.labelStyle,!0,!0));let f={width:0,height:0};if((0,o.ku)((0,o.nV)()?.flowchart?.htmlLabels)){const t=g.children[0],e=(0,l.Ys)(g);f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}o.cM.info("Text 2",u);const m=u||[],y=g.getBBox(),v=h.node().appendChild(await b(m.join?m.join("<br/>"):m,e.labelStyle,!0,!0)),x=v.children[0],k=(0,l.Ys)(v);f=x.getBoundingClientRect(),k.attr("width",f.width),k.attr("height",f.height);const T=(e.padding||0)/2;(0,l.Ys)(v).attr("transform","translate( "+(f.width>y.width?0:(y.width-f.width)/2)+", "+(y.height+T+5)+")"),(0,l.Ys)(g).attr("transform","translate( "+(f.width<y.width?0:-(y.width-f.width)/2)+", 0)"),f=h.node().getBBox(),h.attr("transform","translate("+-f.width/2+", "+(-f.height/2-T+3)+")");const _=f.width+(e.padding||0),E=f.height+(e.padding||0),A=-f.width/2-T,L=-f.height/2-T;let M,N;if("handDrawn"===e.look){const t=c.Z.svg(a),n=C(e,{}),r=t.path(w(A,L,_,E,e.rx||0),n),i=t.line(-f.width/2-T,-f.height/2-T+y.height+T,f.width/2+T,-f.height/2-T+y.height+T,n);N=a.insert((()=>(o.cM.debug("Rough node insert CXC",r),i)),":first-child"),M=a.insert((()=>(o.cM.debug("Rough node insert CXC",r),r)),":first-child")}else M=s.insert("rect",":first-child"),N=s.insert("line"),M.attr("class","outer title-state").attr("style",r).attr("x",-f.width/2-T).attr("y",-f.height/2-T).attr("width",f.width+(e.padding||0)).attr("height",f.height+(e.padding||0)),N.attr("class","divider").attr("x1",-f.width/2-T).attr("x2",f.width/2+T).attr("y1",-f.height/2-T+y.height+T).attr("y2",-f.height/2-T+y.height+T);return d(e,M),e.intersect=function(t){return V.rect(e,t)},a}async function Gt(t,e){return At(t,e,{rx:5,ry:5,classes:"",labelPaddingX:1*(e?.padding||0),labelPaddingY:1*(e?.padding||0)})}async function Vt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:o}=await h(t,e,p(e)),l=e?.padding??0,u=Math.max(a.width+2*(e.padding??0),e?.width??0),g=Math.max(a.height+2*(e.padding??0),e?.height??0),f=-a.width/2-l,m=-a.height/2-l,{cssStyles:y}=e,v=c.Z.svg(i),x=C(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=[{x:f,y:m},{x:f+u+8,y:m},{x:f+u+8,y:m+g},{x:f-8,y:m+g},{x:f-8,y:m},{x:f,y:m},{x:f,y:m+g}],w=v.polygon(b.map((t=>[t.x,t.y])),x),k=i.insert((()=>w),":first-child");return k.attr("class","basic label-container").attr("style",(0,s.R7)(y)),r&&"handDrawn"!==e.look&&k.selectAll("path").attr("style",r),y&&"handDrawn"!==e.look&&k.selectAll("path").attr("style",r),o.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-g/2+(e.padding??0)-(a.y-(a.top??0))})`),d(e,k),e.intersect=function(t){return V.rect(e,t)},i}async function qt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=-o/2,f=-l/2,{cssStyles:m}=e,y=c.Z.svg(i),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=[{x:u,y:f},{x:u,y:f+l},{x:u+o,y:f+l},{x:u+o,y:f-l/2}],b=g(x),w=y.path(b,v),k=i.insert((()=>w),":first-child");return k.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&k.selectChildren("path").attr("style",m),r&&"handDrawn"!==e.look&&k.selectChildren("path").attr("style",r),k.attr("transform",`translate(0, ${l/4})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))}, ${-l/4+(e.padding??0)-(a.y-(a.top??0))})`),d(e,k),e.intersect=function(t){return V.polygon(e,x,t)},i}async function jt(t,e){return At(t,e,{rx:0,ry:0,classes:"",labelPaddingX:2*(e?.padding||0),labelPaddingY:1*(e?.padding||0)})}async function Ht(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),o=a.height+e.padding,l=a.width+o/4+e.padding;let u;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=w(-l/2,-o/2,l,o,o/2),a=t.path(r,n);u=i.insert((()=>a),":first-child"),u.attr("class","basic label-container").attr("style",(0,s.R7)(g))}else u=i.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",r).attr("rx",o/2).attr("ry",o/2).attr("x",-l/2).attr("y",-o/2).attr("width",l).attr("height",o);return d(e,u),e.intersect=function(t){return V.rect(e,t)},i}async function Xt(t,e){return At(t,e,{rx:5,ry:5,classes:"flowchart-node"})}function Kt(t,e,{config:{themeVariables:n}}){const{labelStyles:r,nodeStyles:i}=S(e);e.labelStyle=r;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l}=n,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),u=c.Z.svg(h),p=C(e,{});"handDrawn"!==e.look&&(p.roughness=0,p.fillStyle="solid");const g=u.circle(0,0,14,{...p,stroke:s,strokeWidth:2}),f=o??l,m=u.circle(0,0,5,{...p,fill:f,stroke:f,strokeWidth:2,fillStyle:"solid"}),y=h.insert((()=>g),":first-child");return y.insert((()=>m)),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),d(e,y),e.intersect=function(t){return V.circle(e,7,t)},h}function Qt(t,e,{config:{themeVariables:n}}){const{lineColor:r}=n,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let a;if("handDrawn"===e.look){const t=c.Z.svg(i).circle(0,0,14,k(r));a=i.insert((()=>t)),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return d(e,a),e.intersect=function(t){return V.circle(e,7,t)},i}async function Jt(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),o=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,g=-a.width/2-o,f=-a.height/2-o,m=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=t.rectangle(g-8,f,l+16,u,n),a=t.line(g,f,g,f+u,n),o=t.line(g+l,f,g+l,f+u,n);i.insert((()=>a),":first-child"),i.insert((()=>o),":first-child");const h=i.insert((()=>r),":first-child"),{cssStyles:p}=e;h.attr("class","basic label-container").attr("style",(0,s.R7)(p)),d(e,h)}else{const t=X(i,l,u,m);r&&t.attr("style",r),d(e,t)}return e.intersect=function(t){return V.polygon(e,m,t)},i}async function te(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),o=Math.max(a.height+2*(e.padding??0),e?.height??0),l=-s/2,u=-o/2,f=.2*o,m=.2*o,{cssStyles:y}=e,v=c.Z.svg(i),x=C(e,{}),b=[{x:l-f/2,y:u},{x:l+s+f/2,y:u},{x:l+s+f/2,y:u+o},{x:l-f/2,y:u+o}],w=[{x:l+s-f/2,y:u+o},{x:l+s+f/2,y:u+o},{x:l+s+f/2,y:u+o-m}];"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const k=g(b),T=v.path(k,x),_=g(w),E=v.path(_,{...x,fillStyle:"solid"}),A=i.insert((()=>E),":first-child");return A.insert((()=>T),":first-child"),A.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",y),r&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",r),d(e,A),e.intersect=function(t){return V.polygon(e,b,t)},i}async function ee(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/4,m=.2*o,y=.2*l,v=l+u,{cssStyles:x}=e,b=c.Z.svg(i),w=C(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");const k=[{x:-o/2-o/2*.1,y:v/2},...f(-o/2-o/2*.1,v/2,o/2+o/2*.1,v/2,u,.8),{x:o/2+o/2*.1,y:-v/2},{x:-o/2-o/2*.1,y:-v/2}],T=-o/2+o/2*.1,_=-v/2-.4*y,E=[{x:T+o-m,y:1.4*(_+l)},{x:T+o,y:_+l-y},{x:T+o,y:.9*(_+l)},...f(T+o,1.3*(_+l),T+o-m,1.5*(_+l),.03*-l,.5)],A=g(k),L=b.path(A,w),M=g(E),N=b.path(M,{...w,fillStyle:"solid"}),I=i.insert((()=>N),":first-child");return I.insert((()=>L),":first-child"),I.attr("class","basic label-container"),x&&"handDrawn"!==e.look&&I.selectAll("path").attr("style",x),r&&"handDrawn"!==e.look&&I.selectAll("path").attr("style",r),I.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),d(e,I),e.intersect=function(t){return V.polygon(e,k,t)},i}async function ne(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(a.width+e.padding,e?.width||0),o=Math.max(a.height+e.padding,e?.height||0),l=-s/2,c=-o/2,u=i.insert("rect",":first-child");return u.attr("class","text").attr("style",r).attr("rx",0).attr("ry",0).attr("x",l).attr("y",c).attr("width",s).attr("height",o),d(e,u),e.intersect=function(t){return V.rect(e,t)},i}(0,o.eW)(Zt,"question"),(0,o.eW)(Yt,"rect_left_inv_arrow"),(0,o.eW)(Ut,"rectWithTitle"),(0,o.eW)(Gt,"roundedRect"),(0,o.eW)(Vt,"shadedProcess"),(0,o.eW)(qt,"slopedRect"),(0,o.eW)(jt,"squareRect"),(0,o.eW)(Ht,"stadium"),(0,o.eW)(Xt,"state"),(0,o.eW)(Kt,"stateEnd"),(0,o.eW)(Qt,"stateStart"),(0,o.eW)(Jt,"subroutine"),(0,o.eW)(te,"taggedRect"),(0,o.eW)(ee,"taggedWaveEdgedRectangle"),(0,o.eW)(ne,"text");var re=(0,o.eW)(((t,e,n,r,i,a)=>`M${t},${e}\n a${i},${a} 0,0,1 0,${-r}\n l${n},0\n a${i},${a} 0,0,1 0,${r}\n M${n},${-r}\n a${i},${a} 0,0,0 0,${r}\n l${-n},0`),"createCylinderPathD"),ie=(0,o.eW)(((t,e,n,r,i,a)=>[`M${t},${e}`,`M${t+n},${e}`,`a${i},${a} 0,0,0 0,${-r}`,`l${-n},0`,`a${i},${a} 0,0,0 0,${r}`,`l${n},0`].join(" ")),"createOuterCylinderPathD"),ae=(0,o.eW)(((t,e,n,r,i,a)=>[`M${t+n/2},${-r/2}`,`a${i},${a} 0,0,0 0,${r}`].join(" ")),"createInnerCylinderPathD");async function se(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:o,halfPadding:l}=await h(t,e,p(e)),u="neo"===e.look?2*l:l,g=a.height+u,f=g/2,m=f/(2.5+g/50),y=a.width+m+u,{cssStyles:v}=e;let x;if("handDrawn"===e.look){const t=c.Z.svg(i),n=ie(0,0,y,g,m,f),r=ae(0,0,y,g,m,f),a=t.path(n,C(e,{})),s=t.path(r,C(e,{fill:"none"}));x=i.insert((()=>s),":first-child"),x=i.insert((()=>a),":first-child"),x.attr("class","basic label-container"),v&&x.attr("style",v)}else{const t=re(0,0,y,g,m,f);x=i.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,s.R7)(v)).attr("style",r),x.attr("class","basic label-container"),v&&x.selectAll("path").attr("style",v),r&&x.selectAll("path").attr("style",r)}return x.attr("label-offset-x",m),x.attr("transform",`translate(${-y/2}, ${g/2} )`),o.attr("transform",`translate(${-a.width/2-m-(a.x-(a.left??0))}, ${-a.height/2-(a.y-(a.top??0))})`),d(e,x),e.intersect=function(t){const n=V.rect(e,t),r=n.y-(e.y??0);if(0!=f&&(Math.abs(r)<(e.height??0)/2||Math.abs(r)==(e.height??0)/2&&Math.abs(n.x-(e.x??0))>(e.width??0)/2-m)){let i=m*m*(1-r*r/(f*f));0!=i&&(i=Math.sqrt(Math.abs(i))),i=m-i,t.x-(e.x??0)>0&&(i=-i),n.x+=i}return n},i}async function oe(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=a.width+e.padding,o=a.height+e.padding,l=[{x:-3*o/6,y:0},{x:s+3*o/6,y:0},{x:s,y:-o},{x:0,y:-o}];let u;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=c.Z.svg(i),n=C(e,{}),r=g(l),a=t.path(r,n);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),f&&u.attr("style",f)}else u=X(i,s,o,l);return r&&u.attr("style",r),e.width=s,e.height=o,d(e,u),e.intersect=function(t){return V.polygon(e,l,t)},i}async function le(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(60,a.width+2*(e.padding??0),e?.width??0),o=Math.max(20,a.height+2*(e.padding??0),e?.height??0),{cssStyles:l}=e,u=c.Z.svg(i),f=C(e,{});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");const m=[{x:-s/2*.8,y:-o/2},{x:s/2*.8,y:-o/2},{x:s/2,y:-o/2*.6},{x:s/2,y:o/2},{x:-s/2,y:o/2},{x:-s/2,y:-o/2*.6}],y=g(m),v=u.path(y,f),x=i.insert((()=>v),":first-child");return x.attr("class","basic label-container"),l&&"handDrawn"!==e.look&&x.selectChildren("path").attr("style",l),r&&"handDrawn"!==e.look&&x.selectChildren("path").attr("style",r),d(e,x),e.intersect=function(t){return V.polygon(e,m,t)},i}async function ce(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),l=(0,o.ku)((0,o.nV)().flowchart?.htmlLabels),u=a.width+(e.padding??0),f=u+a.height,m=u+a.height,y=[{x:0,y:0},{x:m,y:0},{x:m/2,y:-f}],{cssStyles:v}=e,x=c.Z.svg(i),b=C(e,{});"handDrawn"!==e.look&&(b.roughness=0,b.fillStyle="solid");const w=g(y),k=x.path(w,b),T=i.insert((()=>k),":first-child").attr("transform",`translate(${-f/2}, ${f/2})`);return v&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",v),r&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",r),e.width=u,e.height=f,d(e,T),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${f/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(t){return o.cM.info("Triangle intersect",e,y,t),V.polygon(e,y,t)},i}async function he(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/8,m=l+u,{cssStyles:y}=e,v=70-o,x=v>0?v/2:0,b=c.Z.svg(i),w=C(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");const k=[{x:-o/2-x,y:m/2},...f(-o/2-x,m/2,o/2+x,m/2,u,.8),{x:o/2+x,y:-m/2},{x:-o/2-x,y:-m/2}],T=g(k),_=b.path(T,w),E=i.insert((()=>_),":first-child");return E.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",y),r&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",r),E.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u-(a.y-(a.top??0))})`),d(e,E),e.intersect=function(t){return V.polygon(e,k,t)},i}async function ue(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a}=await h(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),o=Math.max(a.height+2*(e.padding??0),e?.height??0),l=s/o;let u=s,m=o;u>m*l?m=u/l:u=m*l,u=Math.max(u,100),m=Math.max(m,50);const y=Math.min(.2*m,m/4),v=m+2*y,{cssStyles:x}=e,b=c.Z.svg(i),w=C(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");const k=[{x:-u/2,y:v/2},...f(-u/2,v/2,u/2,v/2,y,1),{x:u/2,y:-v/2},...f(u/2,-v/2,-u/2,-v/2,y,-1)],T=g(k),_=b.path(T,w),E=i.insert((()=>_),":first-child");return E.attr("class","basic label-container"),x&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",x),r&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",r),d(e,E),e.intersect=function(t){return V.polygon(e,k,t)},i}async function de(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const{shapeSvg:i,bbox:a,label:s}=await h(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=-o/2,g=-l/2,{cssStyles:f}=e,m=c.Z.svg(i),y=C(e,{}),v=[{x:u-5,y:g-5},{x:u-5,y:g+l},{x:u+o,y:g+l},{x:u+o,y:g-5}],x=`M${u-5},${g-5} L${u+o},${g-5} L${u+o},${g+l} L${u-5},${g+l} L${u-5},${g-5}\n M${u-5},${g} L${u+o},${g}\n M${u},${g-5} L${u},${g+l}`;"handDrawn"!==e.look&&(y.roughness=0,y.fillStyle="solid");const b=m.path(x,y),w=i.insert((()=>b),":first-child");return w.attr("transform","translate(2.5, 2.5)"),w.attr("class","basic label-container"),f&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",f),r&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",r),s.attr("transform",`translate(${-a.width/2+2.5-(a.x-(a.left??0))}, ${-a.height/2+2.5-(a.y-(a.top??0))})`),d(e,w),e.intersect=function(t){return V.polygon(e,v,t)},i}async function pe(t,e){const n=e;if(n.alias&&(e.label=n.alias),"handDrawn"===e.look){const{themeVariables:n}=(0,o.iE)(),{background:r}=n,i={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${r}`]};await pe(t,i)}const r=(0,o.iE)();e.useHtmlLabels=r.htmlLabels;let i=r.er?.diagramPadding??10,a=r.er?.entityPadding??6;const{cssStyles:h}=e,{labelStyles:u}=S(e);if(0===n.attributes.length&&e.label){const n={rx:0,ry:0,labelPaddingX:i,labelPaddingY:1.5*i,classes:""};(0,s.Cq)(e.label,r)+2*n.labelPaddingX<r.er.minEntityWidth&&(e.width=r.er.minEntityWidth);const a=await At(t,e,n);if(!(0,o.ku)(r.htmlLabels)){const t=a.select("text"),e=t.node()?.getBBox();t.attr("transform",`translate(${-e.width/2}, 0)`)}return a}r.htmlLabels||(i*=1.25,a*=1.25);let g=p(e);g||(g="node default");const f=t.insert("g").attr("class",g).attr("id",e.domId||e.id),m=await ge(f,e.label??"",r,0,0,["name"],u);m.height+=a;let y=0;const v=[];let x=0,b=0,w=0,k=0,T=!0,_=!0;for(const t of n.attributes){const e=await ge(f,t.type,r,0,y,["attribute-type"],u);x=Math.max(x,e.width+i);const n=await ge(f,t.name,r,0,y,["attribute-name"],u);b=Math.max(b,n.width+i);const s=await ge(f,t.keys.join(),r,0,y,["attribute-keys"],u);w=Math.max(w,s.width+i);const o=await ge(f,t.comment,r,0,y,["attribute-comment"],u);k=Math.max(k,o.width+i),y+=Math.max(e.height,n.height,s.height,o.height)+a,v.push(y)}v.pop();let E=4;w<=i&&(T=!1,w=0,E--),k<=i&&(_=!1,k=0,E--);const A=f.node().getBBox();if(m.width+2*i-(x+b+w+k)>0){const t=m.width+2*i-(x+b+w+k);x+=t/E,b+=t/E,w>0&&(w+=t/E),k>0&&(k+=t/E)}const L=x+b+w+k,M=c.Z.svg(f),N=C(e,{});"handDrawn"!==e.look&&(N.roughness=0,N.fillStyle="solid");const I=Math.max(A.width+2*i,e?.width||0,L),R=Math.max(A.height+(v[0]||y)+a,e?.height||0),D=-I/2,O=-R/2;f.selectAll("g:not(:first-child)").each(((t,e,n)=>{const r=(0,l.Ys)(n[e]),s=r.attr("transform");let o=0,c=0;if(s){const t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(s);t&&(o=parseFloat(t[1]),c=parseFloat(t[2]),r.attr("class").includes("attribute-name")?o+=x:r.attr("class").includes("attribute-keys")?o+=x+b:r.attr("class").includes("attribute-comment")&&(o+=x+b+w))}r.attr("transform",`translate(${D+i/2+o}, ${c+O+m.height+a/2})`)})),f.select(".name").attr("transform","translate("+-m.width/2+", "+(O+a/2)+")");const P=M.rectangle(D,O,I,R,N),$=f.insert((()=>P),":first-child").attr("style",h.join("")),{themeVariables:B}=(0,o.iE)(),{rowEven:F,rowOdd:W,nodeBorder:z}=B;v.push(0);for(const[t,e]of v.entries()){if(0===t&&v.length>1)continue;const n=t%2==0&&0!==e,r=M.rectangle(D,m.height+O+e,I,m.height,{...N,fill:n?F:W,stroke:z});f.insert((()=>r),"g.label").attr("style",h.join("")).attr("class","row-rect-"+(t%2==0?"even":"odd"))}let Z=M.line(D,m.height+O,I+D,m.height+O,N);f.insert((()=>Z)).attr("class","divider"),Z=M.line(x+D,m.height+O,x+D,R+O,N),f.insert((()=>Z)).attr("class","divider"),T&&(Z=M.line(x+b+D,m.height+O,x+b+D,R+O,N),f.insert((()=>Z)).attr("class","divider")),_&&(Z=M.line(x+b+w+D,m.height+O,x+b+w+D,R+O,N),f.insert((()=>Z)).attr("class","divider"));for(const t of v)Z=M.line(D,m.height+O+t,I+D,m.height+O+t,N),f.insert((()=>Z)).attr("class","divider");return d(e,$),e.intersect=function(t){return V.rect(e,t)},f}async function ge(t,e,n,r=0,i=0,c=[],h=""){const u=t.insert("g").attr("class",`label ${c.join(" ")}`).attr("transform",`translate(${r}, ${i})`).attr("style",h);e!==(0,o.UO)(e)&&(e=(e=(0,o.UO)(e)).replaceAll("<","&lt;").replaceAll(">","&gt;"));const d=u.node().appendChild(await(0,a.rw)(u,e,{width:(0,s.Cq)(e,n)+100,style:h,useHtmlLabels:n.htmlLabels},n));if(e.includes("&lt;")||e.includes("&gt;")){let t=d.children[0];for(t.textContent=t.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");t.childNodes[0];)t=t.childNodes[0],t.textContent=t.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let p=d.getBBox();if((0,o.ku)(n.htmlLabels)){const t=d.children[0];t.style.textAlign="start";const e=(0,l.Ys)(d);p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}return p}async function fe(t,e,n,r,i=n.class.padding??12){const a=r?0:3,s=t.insert("g").attr("class",p(e)).attr("id",e.domId||e.id);let o=null,l=null,c=null,h=null,u=0,d=0,g=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const t=e.annotations[0];await me(o,{text:`«${t}»`},0),u=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await me(l,e,0,["font-weight: bolder"]);const f=l.node().getBBox();d=f.height,c=s.insert("g").attr("class","members-group text");let m=0;for(const t of e.members)m+=await me(c,t,m,[t.parseClassifier()])+a;g=c.node().getBBox().height,g<=0&&(g=i/2),h=s.insert("g").attr("class","methods-group text");let y=0;for(const t of e.methods)y+=await me(h,t,y,[t.parseClassifier()])+a;let v=s.node().getBBox();if(null!==o){const t=o.node().getBBox();o.attr("transform",`translate(${-t.width/2})`)}return l.attr("transform",`translate(${-f.width/2}, ${u})`),v=s.node().getBBox(),c.attr("transform",`translate(0, ${u+d+2*i})`),v=s.node().getBBox(),h.attr("transform",`translate(0, ${u+d+(g?g+4*i:2*i)})`),v=s.node().getBBox(),{shapeSvg:s,bbox:v}}async function me(t,e,n,r=[]){const i=t.insert("g").attr("class","label").attr("style",r.join("; ")),c=(0,o.iE)();let h="useHtmlLabels"in e?e.useHtmlLabels:(0,o.ku)(c.htmlLabels)??!0,u="";u="text"in e?e.text:e.label,!h&&u.startsWith("\\")&&(u=u.substring(1)),(0,o.l0)(u)&&(h=!0);const d=await(0,a.rw)(i,(0,o.uX)((0,s.SH)(u)),{width:(0,s.Cq)(u,c)+50,classes:"markdown-node-label",useHtmlLabels:h},c);let p,g=1;if(h){const t=d.children[0],e=(0,l.Ys)(d);g=t.innerHTML.split("<br>").length,t.innerHTML.includes("</math>")&&(g+=t.innerHTML.split("<mrow>").length-1);const n=t.getElementsByTagName("img");if(n){const t=""===u.replace(/<img[^>]*>/g,"").trim();await Promise.all([...n].map((e=>new Promise((n=>{function r(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=c.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,n=5,r=parseInt(t,10)*n+"px";e.style.minWidth=r,e.style.maxWidth=r}else e.style.width="100%";n(e)}(0,o.eW)(r,"setupImage"),setTimeout((()=>{e.complete&&r()})),e.addEventListener("error",r),e.addEventListener("load",r)})))))}p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}else{r.includes("font-weight: bolder")&&(0,l.Ys)(d).selectAll("tspan").attr("font-weight",""),g=d.children.length;const t=d.children[0];(""===d.textContent||d.textContent.includes("&gt"))&&(t.textContent=u[0]+u.substring(1).replaceAll("&gt;",">").replaceAll("&lt;","<").trim()," "===u[1]&&(t.textContent=t.textContent[0]+" "+t.textContent.substring(1))),"undefined"===t.textContent&&(t.textContent=""),p=d.getBBox()}return i.attr("transform","translate(0,"+(-p.height/(2*g)+n)+")"),p.height}async function ye(t,e){const n=(0,o.nV)(),r=n.class.padding??12,i=r,a=e.useHtmlLabels??(0,o.ku)(n.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];const{shapeSvg:h,bbox:u}=await fe(t,e,n,a,i),{labelStyles:p,nodeStyles:g}=S(e);e.labelStyle=p,e.cssStyles=s.styles||"";const f=s.styles?.join(";")||g||"";e.cssStyles||(e.cssStyles=f.replaceAll("!important","").split(";"));const m=0===s.members.length&&0===s.methods.length&&!n.class?.hideEmptyMembersBox,y=c.Z.svg(h),v=C(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const x=u.width;let b=u.height;0===s.members.length&&0===s.methods.length?b+=i:s.members.length>0&&0===s.methods.length&&(b+=2*i);const w=-x/2,k=-b/2,T=y.rectangle(w-r,k-r-(m?r:0===s.members.length&&0===s.methods.length?-r/2:0),x+2*r,b+2*r+(m?2*r:0===s.members.length&&0===s.methods.length?-r:0),v),_=h.insert((()=>T),":first-child");_.attr("class","basic label-container");const E=_.node().getBBox();h.selectAll(".text").each(((t,e,n)=>{const i=(0,l.Ys)(n[e]),o=i.attr("transform");let c=0;if(o){const t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(o);t&&(c=parseFloat(t[2]))}let u=c+k+r-(m?r:0===s.members.length&&0===s.methods.length?-r/2:0);a||(u-=4);let d=w;(i.attr("class").includes("label-group")||i.attr("class").includes("annotation-group"))&&(d=-i.node()?.getBBox().width/2||0,h.selectAll("text").each((function(t,e,n){"middle"===window.getComputedStyle(n[e]).textAnchor&&(d=0)}))),i.attr("transform",`translate(${d}, ${u})`)}));const A=h.select(".annotation-group").node().getBBox().height-(m?r/2:0)||0,L=h.select(".label-group").node().getBBox().height-(m?r/2:0)||0,M=h.select(".members-group").node().getBBox().height-(m?r/2:0)||0;if(s.members.length>0||s.methods.length>0||m){const t=y.line(E.x,A+L+k+r,E.x+E.width,A+L+k+r,v);h.insert((()=>t)).attr("class","divider").attr("style",f)}if(m||s.members.length>0||s.methods.length>0){const t=y.line(E.x,A+L+M+k+2*i+r,E.x+E.width,A+L+M+k+r+2*i,v);h.insert((()=>t)).attr("class","divider").attr("style",f)}if("handDrawn"!==s.look&&h.selectAll("path").attr("style",f),_.select(":nth-child(2)").attr("style",f),h.selectAll(".divider").select("path").attr("style",f),e.labelStyle?h.selectAll("span").attr("style",e.labelStyle):h.selectAll("span").attr("style",f),!a){const t=RegExp(/color\s*:\s*([^;]*)/),e=t.exec(f);if(e){const t=e[0].replace("color","fill");h.selectAll("tspan").attr("style",t)}else if(p){const e=t.exec(p);if(e){const t=e[0].replace("color","fill");h.selectAll("tspan").attr("style",t)}}}return d(e,_),e.intersect=function(t){return V.rect(e,t)},h}async function ve(t,e){const{labelStyles:n,nodeStyles:r}=S(e);e.labelStyle=n;const i=e,a=e,s="verifyMethod"in e,o=p(e),h=t.insert("g").attr("class",o).attr("id",e.domId??e.id);let u;u=s?await xe(h,`&lt;&lt;${i.type}&gt;&gt;`,0,e.labelStyle):await xe(h,"&lt;&lt;Element&gt;&gt;",0,e.labelStyle);let g=u;const f=await xe(h,i.name,g,e.labelStyle+"; font-weight: bold;");g+=f+20,s?(g+=await xe(h,i.requirementId?`Id: ${i.requirementId}`:"",g,e.labelStyle),g+=await xe(h,i.text?`Text: ${i.text}`:"",g,e.labelStyle),g+=await xe(h,i.risk?`Risk: ${i.risk}`:"",g,e.labelStyle),await xe(h,i.verifyMethod?`Verification: ${i.verifyMethod}`:"",g,e.labelStyle)):(g+=await xe(h,a.type?`Type: ${a.type}`:"",g,e.labelStyle),await xe(h,a.docRef?`Doc Ref: ${a.docRef}`:"",g,e.labelStyle));const m=(h.node()?.getBBox().width??200)+20,y=(h.node()?.getBBox().height??200)+20,v=-m/2,x=-y/2,b=c.Z.svg(h),w=C(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");const k=b.rectangle(v,x,m,y,w),T=h.insert((()=>k),":first-child");if(T.attr("class","basic label-container").attr("style",r),h.selectAll(".label").each(((t,e,n)=>{const r=(0,l.Ys)(n[e]),i=r.attr("transform");let a=0,s=0;if(i){const t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);t&&(a=parseFloat(t[1]),s=parseFloat(t[2]))}const o=s-y/2;let c=v+10;0!==e&&1!==e||(c=a),r.attr("transform",`translate(${c}, ${o+20})`)})),g>u+f+20){const t=b.line(v,x+u+f+20,v+m,x+u+f+20,w);h.insert((()=>t)).attr("style",r)}return d(e,T),e.intersect=function(t){return V.rect(e,t)},h}async function xe(t,e,n,r=""){if(""===e)return 0;const i=t.insert("g").attr("class","label").attr("style",r),c=(0,o.nV)(),h=c.htmlLabels??!0,u=await(0,a.rw)(i,(0,o.uX)((0,s.SH)(e)),{width:(0,s.Cq)(e,c)+50,classes:"markdown-node-label",useHtmlLabels:h,style:r},c);let d;if(h){const t=u.children[0],e=(0,l.Ys)(u);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}else{const t=u.children[0];for(const e of t.children)e.textContent=e.textContent.replaceAll("&gt;",">").replaceAll("&lt;","<"),r&&e.setAttribute("style",r);d=u.getBBox(),d.height+=6}return i.attr("transform",`translate(${-d.width/2},${-d.height/2+n})`),d.height}(0,o.eW)(se,"tiltedCylinder"),(0,o.eW)(oe,"trapezoid"),(0,o.eW)(le,"trapezoidalPentagon"),(0,o.eW)(ce,"triangle"),(0,o.eW)(he,"waveEdgedRectangle"),(0,o.eW)(ue,"waveRectangle"),(0,o.eW)(de,"windowPane"),(0,o.eW)(pe,"erBox"),(0,o.eW)(ge,"addText"),(0,o.eW)(fe,"textHelper"),(0,o.eW)(me,"addText"),(0,o.eW)(ye,"classBox"),(0,o.eW)(ve,"requirementBox"),(0,o.eW)(xe,"addText");var be=(0,o.eW)((t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}}),"colorFromPriority");async function we(t,e,{config:n}){const{labelStyles:r,nodeStyles:i}=S(e);e.labelStyle=r||"";const a=e.width;e.width=(e.width??200)-10;const{shapeSvg:s,bbox:o,label:l}=await h(t,e,p(e)),g=e.padding||10;let f,m="";"ticket"in e&&e.ticket&&n?.kanban?.ticketBaseUrl&&(m=n?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),f=s.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",m).attr("target","_blank"));const y={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let v,x;({label:v,bbox:x}=f?await u(f,"ticket"in e&&e.ticket||"",y):await u(s,"ticket"in e&&e.ticket||"",y));const{label:b,bbox:k}=await u(s,"assigned"in e&&e.assigned||"",y);e.width=a;const T=e?.width||0,_=Math.max(x.height,k.height)/2,E=Math.max(o.height+20,e?.height||0)+_,A=-T/2,L=-E/2;let M;l.attr("transform","translate("+(g-T/2)+", "+(-_-o.height/2)+")"),v.attr("transform","translate("+(g-T/2)+", "+(-_+o.height/2)+")"),b.attr("transform","translate("+(g+T/2-k.width-20)+", "+(-_+o.height/2)+")");const{rx:N,ry:I}=e,{cssStyles:R}=e;if("handDrawn"===e.look){const t=c.Z.svg(s),n=C(e,{}),r=N||I?t.path(w(A,L,T,E,N||0),n):t.rectangle(A,L,T,E,n);M=s.insert((()=>r),":first-child"),M.attr("class","basic label-container").attr("style",R||null)}else{M=s.insert("rect",":first-child"),M.attr("class","basic label-container __APA__").attr("style",i).attr("rx",N??5).attr("ry",I??5).attr("x",A).attr("y",L).attr("width",T).attr("height",E);const t="priority"in e&&e.priority;if(t){const e=s.append("line"),n=A+2,r=L+Math.floor((N??0)/2),i=L+E-Math.floor((N??0)/2);e.attr("x1",n).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width","4").attr("stroke",be(t))}}return d(e,M),e.height=E,e.intersect=function(t){return V.rect(e,t)},s}(0,o.eW)(we,"kanbanItem");var ke=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:jt},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Gt},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Ht},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:Jt},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:dt},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:J},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:Zt},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:bt},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:Nt},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:Mt},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:oe},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:Ct},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:gt},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:ne},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:K},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Vt},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:Qt},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:Kt},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:yt},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:wt},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:rt},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:at},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:ot},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:It},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:he},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:vt},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:se},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Pt},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:lt},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:pt},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:ce},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:de},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:ft},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:le},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:mt},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:qt},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Ft},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Bt},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:H},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:et},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:ee},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:te},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:ue},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:Yt},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:$t}],Te=(0,o.eW)((()=>{const t={state:Xt,choice:Q,note:Wt,rectWithTitle:Ut,labelRect:Lt,iconSquare:Et,iconCircle:Tt,icon:kt,iconRounded:_t,imageSquare:St,anchor:q,kanbanItem:we,classBox:ye,erBox:pe,requirementBox:ve},e=[...Object.entries(t),...ke.flatMap((t=>[t.shortName,..."aliases"in t?t.aliases:[],..."internalAliases"in t?t.internalAliases:[]].map((e=>[e,t.handler]))))];return Object.fromEntries(e)}),"generateShapeMap")();function _e(t){return t in Te}(0,o.eW)(_e,"isValidShape");var Ee=new Map;async function Se(t,e,n){let r,i;"rect"===e.shape&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?Te[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;"sandbox"===n.config.securityLevel?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(r,e,n)}else i=await a(t,e,n),r=i;return e.tooltip&&i.attr("title",e.tooltip),Ee.set(e.id,r),e.haveCallback&&r.attr("class",r.attr("class")+" clickable"),r}(0,o.eW)(Se,"insertNode");var Ce=(0,o.eW)(((t,e)=>{Ee.set(e.id,t)}),"setNodeElem"),Ae=(0,o.eW)((()=>{Ee.clear()}),"clear"),Le=(0,o.eW)((t=>{const e=Ee.get(t.id);o.cM.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n}),"positionNode")},1566:(t,e,n)=>{"use strict";n.d(e,{DQ:()=>M,I_:()=>v,Jj:()=>b,QP:()=>C,ZH:()=>m});var r=n(5179),i=n(3583),a=n(1426),s=n(214),o=n(7946),l=n(4082),c=n(3108),h=n(4247),u=(0,l.eW)(((t,e,n,r,i,a)=>{e.arrowTypeStart&&p(t,"start",e.arrowTypeStart,n,r,i,a),e.arrowTypeEnd&&p(t,"end",e.arrowTypeEnd,n,r,i,a)}),"addEdgeMarkers"),d={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},p=(0,l.eW)(((t,e,n,r,i,a,s)=>{const o=d[n];if(!o)return void l.cM.warn(`Unknown arrow type: ${n}`);const c=`${i}_${a}-${o.type}${"start"===e?"Start":"End"}`;if(s&&""!==s.trim()){const n=`${c}_${s.replace(/[^\dA-Za-z]/g,"_")}`;if(!document.getElementById(n)){const t=document.getElementById(c);if(t){const e=t.cloneNode(!0);e.id=n,e.querySelectorAll("path, circle, line").forEach((t=>{t.setAttribute("stroke",s),o.fill&&t.setAttribute("fill",s)})),t.parentNode?.appendChild(e)}}t.attr(`marker-${e}`,`url(${r}#${n})`)}else t.attr(`marker-${e}`,`url(${r}#${c})`)}),"addEdgeMarker"),g=new Map,f=new Map,m=(0,l.eW)((()=>{g.clear(),f.clear()}),"clear"),y=(0,l.eW)((t=>t?t.reduce(((t,e)=>t+";"+e),""):""),"getLabelStyles"),v=(0,l.eW)((async(t,e)=>{let n=(0,l.ku)((0,l.nV)().flowchart.htmlLabels);const r=await(0,s.rw)(t,e.label,{style:y(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1});l.cM.info("abc82",e,e.labelType);const a=t.insert("g").attr("class","edgeLabel"),o=a.insert("g").attr("class","label");o.node().appendChild(r);let h,u=r.getBBox();if(n){const t=r.children[0],e=(0,c.Ys)(r);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}if(o.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),g.set(e.id,a),e.width=u.width,e.height=u.height,e.startLabelLeft){const n=await(0,i.XO)(e.startLabelLeft,y(e.labelStyle)),r=t.insert("g").attr("class","edgeTerminals"),a=r.insert("g").attr("class","inner");h=a.node().appendChild(n);const s=n.getBBox();a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),f.get(e.id)||f.set(e.id,{}),f.get(e.id).startLeft=r,x(h,e.startLabelLeft)}if(e.startLabelRight){const n=await(0,i.XO)(e.startLabelRight,y(e.labelStyle)),r=t.insert("g").attr("class","edgeTerminals"),a=r.insert("g").attr("class","inner");h=r.node().appendChild(n),a.node().appendChild(n);const s=n.getBBox();a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),f.get(e.id)||f.set(e.id,{}),f.get(e.id).startRight=r,x(h,e.startLabelRight)}if(e.endLabelLeft){const n=await(0,i.XO)(e.endLabelLeft,y(e.labelStyle)),r=t.insert("g").attr("class","edgeTerminals"),a=r.insert("g").attr("class","inner");h=a.node().appendChild(n);const s=n.getBBox();a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(n),f.get(e.id)||f.set(e.id,{}),f.get(e.id).endLeft=r,x(h,e.endLabelLeft)}if(e.endLabelRight){const n=await(0,i.XO)(e.endLabelRight,y(e.labelStyle)),r=t.insert("g").attr("class","edgeTerminals"),a=r.insert("g").attr("class","inner");h=a.node().appendChild(n);const s=n.getBBox();a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(n),f.get(e.id)||f.set(e.id,{}),f.get(e.id).endRight=r,x(h,e.endLabelRight)}return r}),"insertEdgeLabel");function x(t,e){(0,l.nV)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,l.eW)(x,"setTerminalWidth");var b=(0,l.eW)(((t,e)=>{l.cM.debug("Moving label abc88 ",t.id,t.label,g.get(t.id),e);let n=e.updatedPath?e.updatedPath:e.originalPath;const r=(0,l.nV)(),{subGraphTitleTotalMargin:i}=(0,a.L)(r);if(t.label){const r=g.get(t.id);let a=t.x,s=t.y;if(n){const r=o.w8.calcLabelPosition(n);l.cM.debug("Moving label "+t.label+" from (",a,",",s,") to (",r.x,",",r.y,") abc88"),e.updatedPath&&(a=r.x,s=r.y)}r.attr("transform",`translate(${a}, ${s+i/2})`)}if(t.startLabelLeft){const e=f.get(t.id).startLeft;let r=t.x,i=t.y;if(n){const e=o.w8.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.startLabelRight){const e=f.get(t.id).startRight;let r=t.x,i=t.y;if(n){const e=o.w8.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelLeft){const e=f.get(t.id).endLeft;let r=t.x,i=t.y;if(n){const e=o.w8.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelRight){const e=f.get(t.id).endRight;let r=t.x,i=t.y;if(n){const e=o.w8.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}}),"positionEdgeLabel"),w=(0,l.eW)(((t,e)=>{const n=t.x,r=t.y,i=Math.abs(e.x-n),a=Math.abs(e.y-r),s=t.width/2,o=t.height/2;return i>=s||a>=o}),"outsideNode"),k=(0,l.eW)(((t,e,n)=>{l.cM.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(n)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const r=t.x,i=t.y,a=Math.abs(r-n.x),s=t.width/2;let o=n.x<e.x?s-a:s+a;const c=t.height/2,h=Math.abs(e.y-n.y),u=Math.abs(e.x-n.x);if(Math.abs(i-e.y)*s>Math.abs(r-e.x)*c){let t=n.y<e.y?e.y-c-i:i-c-e.y;o=u*t/h;const r={x:n.x<e.x?n.x+o:n.x-u+o,y:n.y<e.y?n.y+h-t:n.y-h+t};return 0===o&&(r.x=e.x,r.y=e.y),0===u&&(r.x=e.x),0===h&&(r.y=e.y),l.cM.debug(`abc89 top/bottom calc, Q ${h}, q ${t}, R ${u}, r ${o}`,r),r}{o=n.x<e.x?e.x-s-r:r-s-e.x;let t=h*o/u,i=n.x<e.x?n.x+u-o:n.x-u+o,a=n.y<e.y?n.y+t:n.y-t;return l.cM.debug(`sides calc abc89, Q ${h}, q ${t}, R ${u}, r ${o}`,{_x:i,_y:a}),0===o&&(i=e.x,a=e.y),0===u&&(i=e.x),0===h&&(a=e.y),{x:i,y:a}}}),"intersection"),T=(0,l.eW)(((t,e)=>{l.cM.warn("abc88 cutPathAtIntersect",t,e);let n=[],r=t[0],i=!1;return t.forEach((t=>{if(l.cM.info("abc88 checking point",t,e),w(e,t)||i)l.cM.warn("abc88 outside",t,r),r=t,i||n.push(t);else{const a=k(e,r,t);l.cM.debug("abc88 inside",t,r,a),l.cM.debug("abc88 intersection",a,e);let s=!1;n.forEach((t=>{s=s||t.x===a.x&&t.y===a.y})),n.some((t=>t.x===a.x&&t.y===a.y))?l.cM.warn("abc88 no intersect",a,n):n.push(a),i=!0}})),l.cM.debug("returning points",n),n}),"cutPathAtIntersect");function _(t){const e=[],n=[];for(let r=1;r<t.length-1;r++){const i=t[r-1],a=t[r],s=t[r+1];(i.x===a.x&&a.y===s.y&&Math.abs(a.x-s.x)>5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),n.push(r))}return{cornerPoints:e,cornerPointPositions:n}}(0,l.eW)(_,"extractCornerPoints");var E=(0,l.eW)((function(t,e,n){const r=e.x-t.x,i=e.y-t.y,a=n/Math.sqrt(r*r+i*i);return{x:e.x-a*r,y:e.y-a*i}}),"findAdjacentPoint"),S=(0,l.eW)((function(t){const{cornerPointPositions:e}=_(t),n=[];for(let r=0;r<t.length;r++)if(e.includes(r)){const e=t[r-1],i=t[r+1],a=t[r],s=E(e,a,5),o=E(i,a,5),c=o.x-s.x,h=o.y-s.y;n.push(s);const u=2*Math.sqrt(2);let d={x:a.x,y:a.y};if(Math.abs(i.x-e.x)>10&&Math.abs(i.y-e.y)>=10){l.cM.debug("Corner point fixing",Math.abs(i.x-e.x),Math.abs(i.y-e.y));const t=5;d=a.x===s.x?{x:c<0?s.x-t+u:s.x+t-u,y:h<0?s.y-u:s.y+u}:{x:c<0?s.x-u:s.x+u,y:h<0?s.y-t+u:s.y+t-u}}else l.cM.debug("Corner point skipping fixing",Math.abs(i.x-e.x),Math.abs(i.y-e.y));n.push(d,o)}else n.push(t[r]);return n}),"fixCorners"),C=(0,l.eW)((function(t,e,n,a,s,o,d){const{handDrawnSeed:p}=(0,l.nV)();let g=e.points,f=!1;const m=s;var y=o;const v=[];for(const t in e.cssCompiledStyles)(0,i.Fh)(t)||v.push(e.cssCompiledStyles[t]);y.intersect&&m.intersect&&(g=g.slice(1,e.points.length-1),g.unshift(m.intersect(g[0])),l.cM.debug("Last point APA12",e.start,"--\x3e",e.end,g[g.length-1],y,y.intersect(g[g.length-1])),g.push(y.intersect(g[g.length-1]))),e.toCluster&&(l.cM.info("to cluster abc88",n.get(e.toCluster)),g=T(e.points,n.get(e.toCluster).node),f=!0),e.fromCluster&&(l.cM.debug("from cluster abc88",n.get(e.fromCluster),JSON.stringify(g,null,2)),g=T(g.reverse(),n.get(e.fromCluster).node).reverse(),f=!0);let x=g.filter((t=>!Number.isNaN(t.y)));x=S(x);let b=c.$0Z;switch(b=c.c_6,e.curve){case"linear":b=c.c_6;break;case"basis":default:b=c.$0Z;break;case"cardinal":b=c.YY7;break;case"bumpX":b=c.qpX;break;case"bumpY":b=c.u93;break;case"catmullRom":b=c.zgE;break;case"monotoneX":b=c.FdL;break;case"monotoneY":b=c.ak_;break;case"natural":b=c.SxZ;break;case"step":b=c.eA_;break;case"stepAfter":b=c.jsv;break;case"stepBefore":b=c.iJ}const{x:w,y:k}=(0,r.o)(e),_=(0,c.jvg)().x(w).y(k).curve(b);let E,C;switch(e.thickness){case"normal":default:E="edge-thickness-normal";break;case"thick":E="edge-thickness-thick";break;case"invisible":E="edge-thickness-invisible"}switch(e.pattern){case"solid":default:E+=" edge-pattern-solid";break;case"dotted":E+=" edge-pattern-dotted";break;case"dashed":E+=" edge-pattern-dashed"}let A=_(x);const L=Array.isArray(e.style)?e.style:[e.style];let M=L.find((t=>t?.startsWith("stroke:")));if("handDrawn"===e.look){const n=h.Z.svg(t);Object.assign([],x);const r=n.path(A,{roughness:.3,seed:p});E+=" transition",C=(0,c.Ys)(r).select("path").attr("id",e.id).attr("class"," "+E+(e.classes?" "+e.classes:"")).attr("style",L?L.reduce(((t,e)=>t+";"+e),""):"");let i=C.attr("d");C.attr("d",i),t.node().appendChild(C.node())}else{const n=v.join(";"),r=L?L.reduce(((t,e)=>t+e+";"),""):"";let i="";e.animate&&(i=" edge-animation-fast"),e.animation&&(i=" edge-animation-"+e.animation);const a=n?n+";"+r+";":r;C=t.append("path").attr("d",A).attr("id",e.id).attr("class"," "+E+(e.classes?" "+e.classes:"")+(i??"")).attr("style",a),M=a.match(/stroke:([^;]+)/)?.[1]}let N="";((0,l.nV)().flowchart.arrowMarkerAbsolute||(0,l.nV)().state.arrowMarkerAbsolute)&&(N=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,N=N.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),l.cM.info("arrowTypeStart",e.arrowTypeStart),l.cM.info("arrowTypeEnd",e.arrowTypeEnd),u(C,e,N,d,a,M);let I={};return f&&(I.updatedPath=g),I.originalPath=e.points,I}),"insertEdge"),A=(0,l.eW)(((t,e,n,r)=>{e.forEach((e=>{L[e](t,n,r)}))}),"insertMarkers"),L={extension:(0,l.eW)(((t,e,n)=>{l.cM.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),composition:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),aggregation:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),dependency:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),lollipop:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",n+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),point:(0,l.eW)(((t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),circle:(0,l.eW)(((t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),cross:(0,l.eW)(((t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),barb:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb"),only_one:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",n+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")}),"only_one"),zero_or_one:(0,l.eW)(((t,e,n)=>{const r=t.append("defs").append("marker").attr("id",n+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");r.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",n+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")}),"zero_or_one"),one_or_more:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",n+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")}),"one_or_more"),zero_or_more:(0,l.eW)(((t,e,n)=>{const r=t.append("defs").append("marker").attr("id",n+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");r.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",n+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}),"zero_or_more"),requirement_arrow:(0,l.eW)(((t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d","M0,0\n L20,10\n M20,10\n L0,20")}),"requirement_arrow"),requirement_contains:(0,l.eW)(((t,e,n)=>{const r=t.append("defs").append("marker").attr("id",n+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");r.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),r.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),r.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)}),"requirement_contains")},M=A},1426:(t,e,n)=>{"use strict";n.d(e,{L:()=>r});var r=(0,n(4082).eW)((({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,n=t?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:n,subGraphTitleTotalMargin:e+n}}),"getSubGraphTitleMargins")},7946:(t,e,n)=>{"use strict";n.d(e,{$m:()=>l,Cq:()=>O,Ln:()=>q,MX:()=>L,Ox:()=>C,R7:()=>j,Rb:()=>Y,SH:()=>V,VG:()=>Z,Vy:()=>G,X4:()=>I,XD:()=>D,bZ:()=>W,be:()=>E,le:()=>f,tf:()=>p,w8:()=>U});var r=n(4082),i=n(7967),a=n(3108),s=n(2454),o=n(7103),l="",c={curveBasis:a.$0Z,curveBasisClosed:a.Dts,curveBasisOpen:a.WQY,curveBumpX:a.qpX,curveBumpY:a.u93,curveBundle:a.tFB,curveCardinalClosed:a.OvA,curveCardinalOpen:a.dCK,curveCardinal:a.YY7,curveCatmullRomClosed:a.fGX,curveCatmullRomOpen:a.$m7,curveCatmullRom:a.zgE,curveLinear:a.c_6,curveLinearClosed:a.fxm,curveMonotoneX:a.FdL,curveMonotoneY:a.ak_,curveNatural:a.SxZ,curveStep:a.eA_,curveStepAfter:a.jsv,curveStepBefore:a.iJ},h=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,u=(0,r.eW)((function(t,e){const n=d(t,/(?:init\b)|(?:initialize\b)/);let i={};if(Array.isArray(n)){const t=n.map((t=>t.args));(0,r.NM)(t),i=(0,r.Yc)(i,[...t])}else i=n.args;if(!i)return;let a=(0,r.Vg)(t,e);const s="config";return void 0!==i[s]&&("flowchart-v2"===a&&(a="flowchart"),i[a]=i[s],delete i[s]),i}),"detectInit"),d=(0,r.eW)((function(t,e=null){try{const n=new RegExp(`[%]{2}(?![{]${h.source})(?=[}][%]{2}).*\n`,"ig");let i;t=t.trim().replace(n,"").replace(/'/gm,'"'),r.cM.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);const a=[];for(;null!==(i=r.Zn.exec(t));)if(i.index===r.Zn.lastIndex&&r.Zn.lastIndex++,i&&!e||e&&i[1]?.match(e)||e&&i[2]?.match(e)){const t=i[1]?i[1]:i[2],e=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;a.push({type:t,args:e})}return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(n){return r.cM.error(`ERROR: ${n.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}}),"detectDirective"),p=(0,r.eW)((function(t){return t.replace(r.Zn,"")}),"removeDirectives"),g=(0,r.eW)((function(t,e){for(const[n,r]of e.entries())if(r.match(t))return n;return-1}),"isSubstringInArray");function f(t,e){if(!t)return e;const n=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return c[n]??e}function m(t,e){const n=t.trim();if(n)return"loose"!==e.securityLevel?(0,i.N)(n):n}(0,r.eW)(f,"interpolateToCurve"),(0,r.eW)(m,"formatUrl");var y=(0,r.eW)(((t,...e)=>{const n=t.split("."),i=n.length-1,a=n[i];let s=window;for(let e=0;e<i;e++)if(s=s[n[e]],!s)return void r.cM.error(`Function name: ${t} not found in window`);s[a](...e)}),"runFunc");function v(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function x(t){let e,n=0;return t.forEach((t=>{n+=v(t,e),e=t})),k(t,n/2)}function b(t){return 1===t.length?t[0]:x(t)}(0,r.eW)(v,"distance"),(0,r.eW)(x,"traverseEdge"),(0,r.eW)(b,"calcLabelPosition");var w=(0,r.eW)(((t,e=2)=>{const n=Math.pow(10,e);return Math.round(t*n)/n}),"roundNumber"),k=(0,r.eW)(((t,e)=>{let n,r=e;for(const e of t){if(n){const t=v(e,n);if(0===t)return n;if(t<r)r-=t;else{const i=r/t;if(i<=0)return n;if(i>=1)return{x:e.x,y:e.y};if(i>0&&i<1)return{x:w((1-i)*n.x+i*e.x,5),y:w((1-i)*n.y+i*e.y,5)}}}n=e}throw new Error("Could not find a suitable point for the given distance")}),"calculatePoint"),T=(0,r.eW)(((t,e,n)=>{r.cM.info(`our points ${JSON.stringify(e)}`),e[0]!==n&&(e=e.reverse());const i=k(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o}),"calcCardinalityPosition");function _(t,e,n){const i=structuredClone(n);r.cM.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();const a=k(i,25+t),s=10+.5*t,o=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return"start_left"===e?(l.x=Math.sin(o+Math.PI)*s+(i[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(i[0].y+a.y)/2):"end_right"===e?(l.x=Math.sin(o-Math.PI)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(i[0].y+a.y)/2-5):"end_left"===e?(l.x=Math.sin(o)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(i[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(i[0].x+a.x)/2,l.y=-Math.cos(o)*s+(i[0].y+a.y)/2),l}function E(t){let e="",n="";for(const r of t)void 0!==r&&(r.startsWith("color:")||r.startsWith("text-align:")?n=n+r+";":e=e+r+";");return{style:e,labelStyle:n}}(0,r.eW)(_,"calcTerminalLabelPosition"),(0,r.eW)(E,"getStylesFromArray");var S=0,C=(0,r.eW)((()=>(S++,"id-"+Math.random().toString(36).substr(2,12)+"-"+S)),"generateId");function A(t){let e="";for(let n=0;n<t;n++)e+="0123456789abcdef".charAt(Math.floor(16*Math.random()));return e}(0,r.eW)(A,"makeRandomHex");var L=(0,r.eW)((t=>A(t.length)),"random"),M=(0,r.eW)((function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}}),"getTextObj"),N=(0,r.eW)((function(t,e){const n=e.text.replace(r.SY.lineBreakRegex," "),[,i]=Z(e.fontSize),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.style("text-anchor",e.anchor),a.style("font-family",e.fontFamily),a.style("font-size",i),a.style("font-weight",e.fontWeight),a.attr("fill",e.fill),void 0!==e.class&&a.attr("class",e.class);const s=a.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.attr("fill",e.fill),s.text(n),a}),"drawSimpleText"),I=(0,s.Z)(((t,e,n)=>{if(!t)return t;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),r.SY.lineBreakRegex.test(t))return t;const i=t.split(" ").filter(Boolean),a=[];let s="";return i.forEach(((t,r)=>{const o=O(`${t} `,n),l=O(s,n);if(o>e){const{hyphenatedStrings:r,remainingWord:i}=R(t,e,"-",n);a.push(s,...r),s=i}else l+o>=e?(a.push(s),s=t):s=[s,t].filter(Boolean).join(" ");r+1===i.length&&a.push(s)})),a.filter((t=>""!==t)).join(n.joinWith)}),((t,e,n)=>`${t}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`)),R=(0,s.Z)(((t,e,n="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const i=[...t],a=[];let s="";return i.forEach(((t,o)=>{const l=`${s}${t}`;if(O(l,r)>=e){const t=o+1,e=i.length===t,r=`${l}${n}`;a.push(e?l:r),s=""}else s=l})),{hyphenatedStrings:a,remainingWord:s}}),((t,e,n="-",r)=>`${t}${e}${n}${r.fontSize}${r.fontWeight}${r.fontFamily}`));function D(t,e){return $(t,e).height}function O(t,e){return $(t,e).width}(0,r.eW)(D,"calculateTextHeight"),(0,r.eW)(O,"calculateTextWidth");var P,$=(0,s.Z)(((t,e)=>{const{fontSize:n=12,fontFamily:i="Arial",fontWeight:s=400}=e;if(!t)return{width:0,height:0};const[,o]=Z(n),c=["sans-serif",i],h=t.split(r.SY.lineBreakRegex),u=[],d=(0,a.Ys)("body");if(!d.remove)return{width:0,height:0,lineHeight:0};const p=d.append("svg");for(const t of c){let e=0;const n={width:0,height:0,lineHeight:0};for(const r of h){const i=M();i.text=r||l;const a=N(p,i).style("font-size",o).style("font-weight",s).style("font-family",t),c=(a._groups||a)[0][0].getBBox();if(0===c.width&&0===c.height)throw new Error("svg element not in render tree");n.width=Math.round(Math.max(n.width,c.width)),e=Math.round(c.height),n.height+=e,n.lineHeight=Math.round(Math.max(n.lineHeight,e))}u.push(n)}return p.remove(),u[isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`)),B=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,r.eW)(this,"InitIDGenerator")}},F=(0,r.eW)((function(t){return P=P||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),P.innerHTML=t,unescape(P.textContent)}),"entityDecode");function W(t){return"str"in t}(0,r.eW)(W,"isDetailedError");var z=(0,r.eW)(((t,e,n,r)=>{if(!r)return;const i=t.node()?.getBBox();i&&t.append("text").text(r).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-n).attr("class",e)}),"insertTitle"),Z=(0,r.eW)((t=>{if("number"==typeof t)return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]}),"parseFontSize");function Y(t,e){return(0,o.Z)({},t,e)}(0,r.eW)(Y,"cleanAndMerge");var U={assignWithDepth:r.Yc,wrapLabel:I,calculateTextHeight:D,calculateTextWidth:O,calculateTextDimensions:$,cleanAndMerge:Y,detectInit:u,detectDirective:d,isSubstringInArray:g,interpolateToCurve:f,calcLabelPosition:b,calcCardinalityPosition:T,calcTerminalLabelPosition:_,formatUrl:m,getStylesFromArray:E,generateId:C,random:L,runFunc:y,entityDecode:F,insertTitle:z,parseFontSize:Z,InitIDGenerator:B},G=(0,r.eW)((function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})),e}),"encodeEntities"),V=(0,r.eW)((function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")}),"decodeEntities"),q=(0,r.eW)(((t,e,{counter:n=0,prefix:r,suffix:i},a)=>a||`${r?`${r}_`:""}${t}_${e}_${n}${i?`_${i}`:""}`),"getEdgeId");function j(t){return t??null}(0,r.eW)(j,"handleUndefinedAttr")},907:(t,e,n)=>{"use strict";n.d(e,{j:()=>s,q:()=>a});var r=n(4082),i=n(3108),a=(0,r.eW)(((t,e)=>{let n;return"sandbox"===e&&(n=(0,i.Ys)("#i"+t)),("sandbox"===e?(0,i.Ys)(n.nodes()[0].contentDocument.body):(0,i.Ys)("body")).select(`[id="${t}"]`)}),"getDiagramElement"),s=(0,r.eW)(((t,e,n,i)=>{t.attr("class",n);const{width:a,height:s,x:c,y:h}=o(t,e);(0,r.v2)(t,s,a,i);const u=l(c,h,a,s,e);t.attr("viewBox",u),r.cM.debug(`viewBox configured: ${u} with padding: ${e}`)}),"setupViewPortForSVG"),o=(0,r.eW)(((t,e)=>{const n=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:n.width+2*e,height:n.height+2*e,x:n.x,y:n.y}}),"calculateDimensionsWithPadding"),l=(0,r.eW)(((t,e,n,r,i)=>`${t-i} ${e-i} ${n} ${r}`),"createViewBox")},8337:(t,e,n)=>{"use strict";n.d(e,{_b:()=>u,jM:()=>c,sY:()=>h});var r=n(1566),i=n(3583),a=n(7946),s=n(4082),o={common:s.SY,getConfig:s.iE,insertCluster:i.us,insertEdge:r.QP,insertEdgeLabel:r.I_,insertMarkers:r.DQ,insertNode:i.Lf,interpolateToCurve:a.le,labelHelper:i.C1,log:s.cM,positionEdgeLabel:r.Jj},l={},c=(0,s.eW)((t=>{for(const e of t)l[e.name]=e}),"registerLayoutLoaders");(0,s.eW)((()=>{c([{name:"dagre",loader:(0,s.eW)((async()=>await Promise.resolve().then(n.bind(n,5255))),"loader")}])}),"registerDefaultLayoutLoaders")();var h=(0,s.eW)((async(t,e)=>{if(!(t.layoutAlgorithm in l))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);const n=l[t.layoutAlgorithm];return(await n.loader()).render(t,e,o,{algorithm:n.algorithm})}),"render"),u=(0,s.eW)(((t="",{fallback:e="dagre"}={})=>{if(t in l)return t;if(e in l)return s.cM.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)}),"getRegisteredLayoutAlgorithm")},5179:(t,e,n)=>{"use strict";n.d(e,{o:()=>o});var r=n(4082),i={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};function a(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=s(t),e=s(e);const[n,r]=[t.x,t.y],[i,a]=[e.x,e.y],o=i-n,l=a-r;return{angle:Math.atan(l/o),deltaX:o,deltaY:l}}(0,r.eW)(a,"calculateDeltaAndAngle");var s=(0,r.eW)((t=>Array.isArray(t)?{x:t[0],y:t[1]}:t),"pointTransformer"),o=(0,r.eW)((t=>({x:(0,r.eW)((function(e,n,r){let o=0;const l=s(r[0]).x<s(r[r.length-1]).x?"left":"right";if(0===n&&Object.hasOwn(i,t.arrowTypeStart)){const{angle:e,deltaX:n}=a(r[0],r[1]);o=i[t.arrowTypeStart]*Math.cos(e)*(n>=0?1:-1)}else if(n===r.length-1&&Object.hasOwn(i,t.arrowTypeEnd)){const{angle:e,deltaX:n}=a(r[r.length-1],r[r.length-2]);o=i[t.arrowTypeEnd]*Math.cos(e)*(n>=0?1:-1)}const c=Math.abs(s(e).x-s(r[r.length-1]).x),h=Math.abs(s(e).y-s(r[r.length-1]).y),u=Math.abs(s(e).x-s(r[0]).x),d=Math.abs(s(e).y-s(r[0]).y),p=i[t.arrowTypeStart],g=i[t.arrowTypeEnd];if(c<g&&c>0&&h<g){let t=g+1-c;t*="right"===l?-1:1,o-=t}if(u<p&&u>0&&d<p){let t=p+1-u;t*="right"===l?-1:1,o+=t}return s(e).x+o}),"x"),y:(0,r.eW)((function(e,n,r){let o=0;const l=s(r[0]).y<s(r[r.length-1]).y?"down":"up";if(0===n&&Object.hasOwn(i,t.arrowTypeStart)){const{angle:e,deltaY:n}=a(r[0],r[1]);o=i[t.arrowTypeStart]*Math.abs(Math.sin(e))*(n>=0?1:-1)}else if(n===r.length-1&&Object.hasOwn(i,t.arrowTypeEnd)){const{angle:e,deltaY:n}=a(r[r.length-1],r[r.length-2]);o=i[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(n>=0?1:-1)}const c=Math.abs(s(e).y-s(r[r.length-1]).y),h=Math.abs(s(e).x-s(r[r.length-1]).x),u=Math.abs(s(e).y-s(r[0]).y),d=Math.abs(s(e).x-s(r[0]).x),p=i[t.arrowTypeStart],g=i[t.arrowTypeEnd];if(c<g&&c>0&&h<g){let t=g+1-c;t*="up"===l?-1:1,o-=t}if(u<p&&u>0&&d<p){let t=p+1-u;t*="up"===l?-1:1,o+=t}return s(e).y+o}),"y")})),"getLineFunctionsWithOffset")},7207:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(4082),i=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.eW)(this,"ImperativeState")}reset(){this.records=this.init()}}},4082:(t,e,n)=>{"use strict";n.d(e,{cj:()=>_,r2:()=>m,eW:()=>f,XV:()=>ht,Yc:()=>N,nH:()=>Ft,ZH:()=>ee,LJ:()=>Xt,SY:()=>zt,v2:()=>Ut,u_:()=>Q,Fy:()=>de,vZ:()=>H,Vg:()=>S,Bf:()=>E,Zn:()=>k,ku:()=>Lt,M6:()=>w,Mx:()=>ae,eu:()=>re,iE:()=>lt,nV:()=>he,_7:()=>ve,cq:()=>L,Kr:()=>oe,ZD:()=>st,xN:()=>W,l0:()=>Bt,Vw:()=>mt,cM:()=>v,UO:()=>It,Cq:()=>ye,KO:()=>C,uT:()=>Wt,mc:()=>ut,NM:()=>X,oO:()=>kt,uX:()=>pe,dY:()=>it,U$:()=>ie,GN:()=>ne,v6:()=>ot,Y4:()=>ue,g2:()=>se,Ub:()=>x,Yn:()=>rt,j7:()=>Gt,Rw:()=>ge,Ee:()=>Ht,_j:()=>U,Tb:()=>at});var r=n(7484),i=n(1767),a=n(3438);const s=(t,e)=>{const n=i.Z.parse(t),r={};for(const t in e)e[t]&&(r[t]=n[t]+e[t]);return(0,a.Z)(t,r)};var o=n(1117);const l=(t,e=100)=>{const n=i.Z.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,((t,e,n=50)=>{const{r,g:a,b:s,a:l}=i.Z.parse(t),{r:c,g:h,b:u,a:d}=i.Z.parse(e),p=n/100,g=2*p-1,f=l-d,m=((g*f==-1?g:(g+f)/(1+g*f))+1)/2,y=1-m,v=r*m+c*y,x=a*m+h*y,b=s*m+u*y,w=l*p+d*(1-p);return(0,o.Z)(v,x,b,w)})(n,t,e)};var c,h=n(7201),u=n(2281),d=n(6500),p=n(2424),g=Object.defineProperty,f=(t,e)=>g(t,"name",{value:e,configurable:!0}),m=(t,e)=>{for(var n in e)g(t,n,{get:e[n],enumerable:!0})},y={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},v={trace:f(((...t)=>{}),"trace"),debug:f(((...t)=>{}),"debug"),info:f(((...t)=>{}),"info"),warn:f(((...t)=>{}),"warn"),error:f(((...t)=>{}),"error"),fatal:f(((...t)=>{}),"fatal")},x=f((function(t="fatal"){let e=y.fatal;"string"==typeof t?t.toLowerCase()in y&&(e=y[t]):"number"==typeof t&&(e=t),v.trace=()=>{},v.debug=()=>{},v.info=()=>{},v.warn=()=>{},v.error=()=>{},v.fatal=()=>{},e<=y.fatal&&(v.fatal=console.error?console.error.bind(console,b("FATAL"),"color: orange"):console.log.bind(console,"",b("FATAL"))),e<=y.error&&(v.error=console.error?console.error.bind(console,b("ERROR"),"color: orange"):console.log.bind(console,"",b("ERROR"))),e<=y.warn&&(v.warn=console.warn?console.warn.bind(console,b("WARN"),"color: orange"):console.log.bind(console,"",b("WARN"))),e<=y.info&&(v.info=console.info?console.info.bind(console,b("INFO"),"color: lightblue"):console.log.bind(console,"",b("INFO"))),e<=y.debug&&(v.debug=console.debug?console.debug.bind(console,b("DEBUG"),"color: lightgreen"):console.log.bind(console,"",b("DEBUG"))),e<=y.trace&&(v.trace=console.debug?console.debug.bind(console,b("TRACE"),"color: lightgreen"):console.log.bind(console,"",b("TRACE")))}),"setLogLevel"),b=f((t=>`%c${r().format("ss.SSS")} : ${t} : `),"format"),w=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,k=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,T=/\s*%%.*\n/gm,_=class extends Error{static{f(this,"UnknownDiagramError")}constructor(t){super(t),this.name="UnknownDiagramError"}},E={},S=f((function(t,e){t=t.replace(w,"").replace(k,"").replace(T,"\n");for(const[n,{detector:r}]of Object.entries(E))if(r(t,e))return n;throw new _(`No diagram type detected matching given configuration for text: ${t}`)}),"detectType"),C=f(((...t)=>{for(const{id:e,detector:n,loader:r}of t)A(e,n,r)}),"registerLazyLoadedDiagrams"),A=f(((t,e,n)=>{E[t]&&v.warn(`Detector with key ${t} already exists. Overwriting.`),E[t]={detector:e,loader:n},v.debug(`Detector with key ${t} added${n?" with loader":""}`)}),"addDetector"),L=f((t=>E[t].loader),"getDiagramLoader"),M=f(((t,e,{depth:n=2,clobber:r=!1}={})=>{const i={depth:n,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>M(t,e,i))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e)})),t):void 0===t||n<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((i=>{"object"!=typeof e[i]||void 0!==t[i]&&"object"!=typeof t[i]?(r||"object"!=typeof t[i]&&"object"!=typeof e[i])&&(t[i]=e[i]):(void 0===t[i]&&(t[i]=Array.isArray(e[i])?[]:{}),t[i]=M(t[i],e[i],{depth:n-1,clobber:r}))})),t)}),"assignWithDepth"),N=M,I="#ffffff",R="#f2f2f2",D=f(((t,e)=>s(t,e?{s:-40,l:10}:{s:-40,l:-10})),"mkBorder"),O=class{static{f(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||s(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||s(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||D(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||D(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||D(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||l(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||l(this.tertiaryColor),this.lineColor=this.lineColor||l(this.background),this.arrowheadColor=this.arrowheadColor||l(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,h.Z)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,h.Z)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||l(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,u.Z)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||(0,h.Z)(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||(0,h.Z)(this.mainBkg,10)):(this.rowOdd=this.rowOdd||(0,u.Z)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||(0,u.Z)(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||s(this.primaryColor,{h:30}),this.cScale4=this.cScale4||s(this.primaryColor,{h:60}),this.cScale5=this.cScale5||s(this.primaryColor,{h:90}),this.cScale6=this.cScale6||s(this.primaryColor,{h:120}),this.cScale7=this.cScale7||s(this.primaryColor,{h:150}),this.cScale8=this.cScale8||s(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||s(this.primaryColor,{h:270}),this.cScale10=this.cScale10||s(this.primaryColor,{h:300}),this.cScale11=this.cScale11||s(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||l(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,u.Z)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;const t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||s(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||s(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||s(this.primaryColor,{h:64}),this.fillType3=this.fillType3||s(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||s(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||s(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||s(this.primaryColor,{h:128}),this.fillType7=this.fillType7||s(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||s(this.primaryColor,{l:-10}),this.pie5=this.pie5||s(this.secondaryColor,{l:-10}),this.pie6=this.pie6||s(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||s(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||s(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||s(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||s(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||s(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||s(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||s(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||s(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||s(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||s(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||s(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||s(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,d.Z)(this.quadrant1Fill)?(0,u.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,h.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||s(this.primaryColor,{h:-30}),this.git4=this.git4||s(this.primaryColor,{h:-60}),this.git5=this.git5||s(this.primaryColor,{h:-90}),this.git6=this.git6||s(this.primaryColor,{h:60}),this.git7=this.git7||s(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,u.Z)(this.git0,25),this.git1=(0,u.Z)(this.git1,25),this.git2=(0,u.Z)(this.git2,25),this.git3=(0,u.Z)(this.git3,25),this.git4=(0,u.Z)(this.git4,25),this.git5=(0,u.Z)(this.git5,25),this.git6=(0,u.Z)(this.git6,25),this.git7=(0,u.Z)(this.git7,25)):(this.git0=(0,h.Z)(this.git0,25),this.git1=(0,h.Z)(this.git1,25),this.git2=(0,h.Z)(this.git2,25),this.git3=(0,h.Z)(this.git3,25),this.git4=(0,h.Z)(this.git4,25),this.git5=(0,h.Z)(this.git5,25),this.git6=(0,h.Z)(this.git6,25),this.git7=(0,h.Z)(this.git7,25)),this.gitInv0=this.gitInv0||l(this.git0),this.gitInv1=this.gitInv1||l(this.git1),this.gitInv2=this.gitInv2||l(this.git2),this.gitInv3=this.gitInv3||l(this.git3),this.gitInv4=this.gitInv4||l(this.git4),this.gitInv5=this.gitInv5||l(this.git5),this.gitInv6=this.gitInv6||l(this.git6),this.gitInv7=this.gitInv7||l(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||I,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||R}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},P=f((t=>{const e=new O;return e.calculate(t),e}),"getThemeVariables"),$=class{static{f(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,u.Z)(this.primaryColor,16),this.tertiaryColor=s(this.primaryColor,{h:-160}),this.primaryBorderColor=l(this.background),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.tertiaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,u.Z)(l("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=(0,o.Z)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,h.Z)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,h.Z)(this.sectionBkgColor,10),this.taskBorderColor=(0,o.Z)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,o.Z)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||(0,u.Z)(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||(0,h.Z)(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=(0,u.Z)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,u.Z)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,u.Z)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=s(this.primaryColor,{h:64}),this.fillType3=s(this.secondaryColor,{h:64}),this.fillType4=s(this.primaryColor,{h:-64}),this.fillType5=s(this.secondaryColor,{h:-64}),this.fillType6=s(this.primaryColor,{h:128}),this.fillType7=s(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||s(this.primaryColor,{h:30}),this.cScale4=this.cScale4||s(this.primaryColor,{h:60}),this.cScale5=this.cScale5||s(this.primaryColor,{h:90}),this.cScale6=this.cScale6||s(this.primaryColor,{h:120}),this.cScale7=this.cScale7||s(this.primaryColor,{h:150}),this.cScale8=this.cScale8||s(this.primaryColor,{h:210}),this.cScale9=this.cScale9||s(this.primaryColor,{h:270}),this.cScale10=this.cScale10||s(this.primaryColor,{h:300}),this.cScale11=this.cScale11||s(this.primaryColor,{h:330});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||l(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScalePeer"+t]=this["cScalePeer"+t]||(0,u.Z)(this["cScale"+t],10);for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||s(this.mainBkg,{h:30,s:-30,l:-(4*t-10)}),this["surfacePeer"+t]=this["surfacePeer"+t]||s(this.mainBkg,{h:30,s:-30,l:-(4*t-7)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||s(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||s(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||s(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||s(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||s(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||s(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,d.Z)(this.quadrant1Fill)?(0,u.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,h.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,u.Z)(this.secondaryColor,20),this.git1=(0,u.Z)(this.pie2||this.secondaryColor,20),this.git2=(0,u.Z)(this.pie3||this.tertiaryColor,20),this.git3=(0,u.Z)(this.pie4||s(this.primaryColor,{h:-30}),20),this.git4=(0,u.Z)(this.pie5||s(this.primaryColor,{h:-60}),20),this.git5=(0,u.Z)(this.pie6||s(this.primaryColor,{h:-90}),10),this.git6=(0,u.Z)(this.pie7||s(this.primaryColor,{h:60}),10),this.git7=(0,u.Z)(this.pie8||s(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||l(this.git0),this.gitInv1=this.gitInv1||l(this.git1),this.gitInv2=this.gitInv2||l(this.git2),this.gitInv3=this.gitInv3||l(this.git3),this.gitInv4=this.gitInv4||l(this.git4),this.gitInv5=this.gitInv5||l(this.git5),this.gitInv6=this.gitInv6||l(this.git6),this.gitInv7=this.gitInv7||l(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||l(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||l(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,u.Z)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,u.Z)(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},B=f((t=>{const e=new $;return e.calculate(t),e}),"getThemeVariables"),F=class{static{f(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=s(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=s(this.primaryColor,{h:-160}),this.primaryBorderColor=D(this.primaryColor,this.darkMode),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.tertiaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,o.Z)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||s(this.primaryColor,{h:30}),this.cScale4=this.cScale4||s(this.primaryColor,{h:60}),this.cScale5=this.cScale5||s(this.primaryColor,{h:90}),this.cScale6=this.cScale6||s(this.primaryColor,{h:120}),this.cScale7=this.cScale7||s(this.primaryColor,{h:150}),this.cScale8=this.cScale8||s(this.primaryColor,{h:210}),this.cScale9=this.cScale9||s(this.primaryColor,{h:270}),this.cScale10=this.cScale10||s(this.primaryColor,{h:300}),this.cScale11=this.cScale11||s(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,h.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,h.Z)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||s(this["cScale"+t],{h:180});for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||s(this.mainBkg,{h:30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||s(this.mainBkg,{h:30,l:-(7+5*t)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||l(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||l(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=(0,u.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||(0,u.Z)(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||(0,u.Z)(this.primaryColor,1),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=s(this.primaryColor,{h:64}),this.fillType3=s(this.secondaryColor,{h:64}),this.fillType4=s(this.primaryColor,{h:-64}),this.fillType5=s(this.secondaryColor,{h:-64}),this.fillType6=s(this.primaryColor,{h:128}),this.fillType7=s(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||s(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||s(this.primaryColor,{l:-10}),this.pie5=this.pie5||s(this.secondaryColor,{l:-30}),this.pie6=this.pie6||s(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||s(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||s(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||s(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||s(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||s(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||s(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||s(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||s(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||s(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||s(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||s(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||s(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,d.Z)(this.quadrant1Fill)?(0,u.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||s(this.primaryColor,{h:-30}),this.git4=this.git4||s(this.primaryColor,{h:-60}),this.git5=this.git5||s(this.primaryColor,{h:-90}),this.git6=this.git6||s(this.primaryColor,{h:60}),this.git7=this.git7||s(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,u.Z)(this.git0,25),this.git1=(0,u.Z)(this.git1,25),this.git2=(0,u.Z)(this.git2,25),this.git3=(0,u.Z)(this.git3,25),this.git4=(0,u.Z)(this.git4,25),this.git5=(0,u.Z)(this.git5,25),this.git6=(0,u.Z)(this.git6,25),this.git7=(0,u.Z)(this.git7,25)):(this.git0=(0,h.Z)(this.git0,25),this.git1=(0,h.Z)(this.git1,25),this.git2=(0,h.Z)(this.git2,25),this.git3=(0,h.Z)(this.git3,25),this.git4=(0,h.Z)(this.git4,25),this.git5=(0,h.Z)(this.git5,25),this.git6=(0,h.Z)(this.git6,25),this.git7=(0,h.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,h.Z)(l(this.git0),25),this.gitInv1=this.gitInv1||l(this.git1),this.gitInv2=this.gitInv2||l(this.git2),this.gitInv3=this.gitInv3||l(this.git3),this.gitInv4=this.gitInv4||l(this.git4),this.gitInv5=this.gitInv5||l(this.git5),this.gitInv6=this.gitInv6||l(this.git6),this.gitInv7=this.gitInv7||l(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||l(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||l(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||I,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||R}calculate(t){if(Object.keys(this).forEach((t=>{"calculated"===this[t]&&(this[t]=void 0)})),"object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},W=f((t=>{const e=new F;return e.calculate(t),e}),"getThemeVariables"),z=class{static{f(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,u.Z)("#cde498",10),this.primaryBorderColor=D(this.primaryColor,this.darkMode),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.primaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=(0,h.Z)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||s(this.primaryColor,{h:30}),this.cScale4=this.cScale4||s(this.primaryColor,{h:60}),this.cScale5=this.cScale5||s(this.primaryColor,{h:90}),this.cScale6=this.cScale6||s(this.primaryColor,{h:120}),this.cScale7=this.cScale7||s(this.primaryColor,{h:150}),this.cScale8=this.cScale8||s(this.primaryColor,{h:210}),this.cScale9=this.cScale9||s(this.primaryColor,{h:270}),this.cScale10=this.cScale10||s(this.primaryColor,{h:300}),this.cScale11=this.cScale11||s(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,h.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,h.Z)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||s(this["cScale"+t],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||s(this.mainBkg,{h:30,s:-30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||s(this.mainBkg,{h:30,s:-30,l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||(0,u.Z)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||(0,u.Z)(this.mainBkg,20),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=s(this.primaryColor,{h:64}),this.fillType3=s(this.secondaryColor,{h:64}),this.fillType4=s(this.primaryColor,{h:-64}),this.fillType5=s(this.secondaryColor,{h:-64}),this.fillType6=s(this.primaryColor,{h:128}),this.fillType7=s(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||s(this.primaryColor,{l:-30}),this.pie5=this.pie5||s(this.secondaryColor,{l:-30}),this.pie6=this.pie6||s(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||s(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||s(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||s(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||s(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||s(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||s(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||s(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||s(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||s(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||s(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||s(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||s(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,d.Z)(this.quadrant1Fill)?(0,u.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||s(this.primaryColor,{h:-30}),this.git4=this.git4||s(this.primaryColor,{h:-60}),this.git5=this.git5||s(this.primaryColor,{h:-90}),this.git6=this.git6||s(this.primaryColor,{h:60}),this.git7=this.git7||s(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,u.Z)(this.git0,25),this.git1=(0,u.Z)(this.git1,25),this.git2=(0,u.Z)(this.git2,25),this.git3=(0,u.Z)(this.git3,25),this.git4=(0,u.Z)(this.git4,25),this.git5=(0,u.Z)(this.git5,25),this.git6=(0,u.Z)(this.git6,25),this.git7=(0,u.Z)(this.git7,25)):(this.git0=(0,h.Z)(this.git0,25),this.git1=(0,h.Z)(this.git1,25),this.git2=(0,h.Z)(this.git2,25),this.git3=(0,h.Z)(this.git3,25),this.git4=(0,h.Z)(this.git4,25),this.git5=(0,h.Z)(this.git5,25),this.git6=(0,h.Z)(this.git6,25),this.git7=(0,h.Z)(this.git7,25)),this.gitInv0=this.gitInv0||l(this.git0),this.gitInv1=this.gitInv1||l(this.git1),this.gitInv2=this.gitInv2||l(this.git2),this.gitInv3=this.gitInv3||l(this.git3),this.gitInv4=this.gitInv4||l(this.git4),this.gitInv5=this.gitInv5||l(this.git5),this.gitInv6=this.gitInv6||l(this.git6),this.gitInv7=this.gitInv7||l(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||l(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||l(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||I,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||R}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},Z=f((t=>{const e=new z;return e.calculate(t),e}),"getThemeVariables"),Y=class{static{f(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,u.Z)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=s(this.primaryColor,{h:-160}),this.primaryBorderColor=D(this.primaryColor,this.darkMode),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.tertiaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||(0,u.Z)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=(0,u.Z)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,u.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||l(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,u.Z)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||s(this.mainBkg,{l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||s(this.mainBkg,{l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=(0,u.Z)(this.contrast,30),this.sectionBkgColor2=(0,u.Z)(this.contrast,30),this.taskBorderColor=(0,h.Z)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,u.Z)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,h.Z)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=s(this.primaryColor,{h:64}),this.fillType3=s(this.secondaryColor,{h:64}),this.fillType4=s(this.primaryColor,{h:-64}),this.fillType5=s(this.secondaryColor,{h:-64}),this.fillType6=s(this.primaryColor,{h:128}),this.fillType7=s(this.secondaryColor,{h:128});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||s(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||s(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||s(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||s(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||s(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||s(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,d.Z)(this.quadrant1Fill)?(0,u.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,h.Z)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||s(this.primaryColor,{h:-30}),this.git4=this.pie5||s(this.primaryColor,{h:-60}),this.git5=this.pie6||s(this.primaryColor,{h:-90}),this.git6=this.pie7||s(this.primaryColor,{h:60}),this.git7=this.pie8||s(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||l(this.git0),this.gitInv1=this.gitInv1||l(this.git1),this.gitInv2=this.gitInv2||l(this.git2),this.gitInv3=this.gitInv3||l(this.git3),this.gitInv4=this.gitInv4||l(this.git4),this.gitInv5=this.gitInv5||l(this.git5),this.gitInv6=this.gitInv6||l(this.git6),this.gitInv7=this.gitInv7||l(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||I,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||R}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},U={base:{getThemeVariables:P},dark:{getThemeVariables:B},default:{getThemeVariables:W},forest:{getThemeVariables:Z},neutral:{getThemeVariables:f((t=>{const e=new Y;return e.calculate(t),e}),"getThemeVariables")}},G={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},V={...G,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF"},themeCSS:void 0,themeVariables:U.default.getThemeVariables(),sequence:{...G.sequence,messageFont:f((function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}),"messageFont"),noteFont:f((function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}}),"noteFont"),actorFont:f((function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}),"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...G.gantt,tickInterval:void 0,useWidth:void 0},c4:{...G.c4,useWidth:void 0,personFont:f((function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}}),"personFont"),external_personFont:f((function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}}),"external_personFont"),systemFont:f((function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}}),"systemFont"),external_systemFont:f((function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}}),"external_systemFont"),system_dbFont:f((function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}}),"system_dbFont"),external_system_dbFont:f((function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}}),"external_system_dbFont"),system_queueFont:f((function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}}),"system_queueFont"),external_system_queueFont:f((function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}}),"external_system_queueFont"),containerFont:f((function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}}),"containerFont"),external_containerFont:f((function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}}),"external_containerFont"),container_dbFont:f((function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}}),"container_dbFont"),external_container_dbFont:f((function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}}),"external_container_dbFont"),container_queueFont:f((function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}}),"container_queueFont"),external_container_queueFont:f((function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}}),"external_container_queueFont"),componentFont:f((function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}}),"componentFont"),external_componentFont:f((function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}}),"external_componentFont"),component_dbFont:f((function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}}),"component_dbFont"),external_component_dbFont:f((function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}}),"external_component_dbFont"),component_queueFont:f((function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}}),"component_queueFont"),external_component_queueFont:f((function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}}),"external_component_queueFont"),boundaryFont:f((function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}}),"boundaryFont"),messageFont:f((function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}),"messageFont")},pie:{...G.pie,useWidth:984},xyChart:{...G.xyChart,useWidth:void 0},requirement:{...G.requirement,useWidth:void 0},packet:{...G.packet},radar:{...G.radar}},q=f(((t,e="")=>Object.keys(t).reduce(((n,r)=>Array.isArray(t[r])?n:"object"==typeof t[r]&&null!==t[r]?[...n,e+r,...q(t[r],"")]:[...n,e+r]),[])),"keyify"),j=new Set(q(V,"")),H=V,X=f((t=>{if(v.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t)if(Array.isArray(t))t.forEach((t=>X(t)));else{for(const e of Object.keys(t)){if(v.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!j.has(e)||null==t[e]){v.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){v.debug("sanitizing object",e),X(t[e]);continue}const n=["themeCSS","fontFamily","altFontFamily"];for(const r of n)e.includes(r)&&(v.debug("sanitizing css option",e),t[e]=K(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const n=t.themeVariables[e];n?.match&&!n.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}v.debug("After sanitization",t)}}),"sanitizeDirective"),K=f((t=>{let e=0,n=0;for(const r of t){if(e<n)return"{ /* ERROR: Unbalanced CSS */ }";"{"===r?e++:"}"===r&&n++}return e!==n?"{ /* ERROR: Unbalanced CSS */ }":t}),"sanitizeCss"),Q=Object.freeze(H),J=N({},Q),tt=[],et=N({},Q),nt=f(((t,e)=>{let n=N({},t),r={};for(const t of e)ct(t),r=N(r,t);if(n=N(n,r),r.theme&&r.theme in U){const t=N({},c),e=N(t.themeVariables||{},r.themeVariables);n.theme&&n.theme in U&&(n.themeVariables=U[n.theme].getThemeVariables(e))}return ft(et=n),et}),"updateCurrentConfig"),rt=f((t=>(J=N({},Q),J=N(J,t),t.theme&&U[t.theme]&&(J.themeVariables=U[t.theme].getThemeVariables(t.themeVariables)),nt(J,tt),J)),"setSiteConfig"),it=f((t=>{c=N({},t)}),"saveConfigFromInitialize"),at=f((t=>(J=N(J,t),nt(J,tt),J)),"updateSiteConfig"),st=f((()=>N({},J)),"getSiteConfig"),ot=f((t=>(ft(t),N(et,t),lt())),"setConfig"),lt=f((()=>N({},et)),"getConfig"),ct=f((t=>{t&&(["secure",...J.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(v.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&ct(t[e])})))}),"sanitize"),ht=f((t=>{X(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),tt.push(t),nt(J,tt)}),"addDirective"),ut=f(((t=J)=>{nt(t,tt=[])}),"reset"),dt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},pt={},gt=f((t=>{pt[t]||(v.warn(dt[t]),pt[t]=!0)}),"issueWarning"),ft=f((t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&gt("LAZY_LOAD_DEPRECATED")}),"checkConfig"),mt=/<br\s*\/?>/gi,yt=f((t=>t?Ct(t).replace(/\\n/g,"#br#").split("#br#"):[""]),"getRows"),vt=(()=>{let t=!1;return()=>{t||(xt(),t=!0)}})();function xt(){const t="data-temp-href-target";p.Z.addHook("beforeSanitizeAttributes",(e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")})),p.Z.addHook("afterSanitizeAttributes",(e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))}))}f(xt,"setupDompurifyHooks");var bt=f((t=>(vt(),p.Z.sanitize(t))),"removeScript"),wt=f(((t,e)=>{if(!1!==e.flowchart?.htmlLabels){const n=e.securityLevel;"antiscript"===n||"strict"===n?t=bt(t):"loose"!==n&&(t=(t=(t=Ct(t)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),t=St(t))}return t}),"sanitizeMore"),kt=f(((t,e)=>t?t=e.dompurifyConfig?p.Z.sanitize(wt(t,e),e.dompurifyConfig).toString():p.Z.sanitize(wt(t,e),{FORBID_TAGS:["style"]}).toString():t),"sanitizeText"),Tt=f(((t,e)=>"string"==typeof t?kt(t,e):t.flat().map((t=>kt(t,e)))),"sanitizeTextOrArray"),_t=f((t=>mt.test(t)),"hasBreaks"),Et=f((t=>t.split(mt)),"splitBreaks"),St=f((t=>t.replace(/#br#/g,"<br/>")),"placeholderToBreak"),Ct=f((t=>t.replace(mt,"#br#")),"breakToPlaceholder"),At=f((t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e}),"getUrl"),Lt=f((t=>!1!==t&&!["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Mt=f((function(...t){const e=t.filter((t=>!isNaN(t)));return Math.max(...e)}),"getMax"),Nt=f((function(...t){const e=t.filter((t=>!isNaN(t)));return Math.min(...e)}),"getMin"),It=f((function(t){const e=t.split(/(,)/),n=[];for(let t=0;t<e.length;t++){let r=e[t];if(","===r&&t>0&&t+1<e.length){const i=e[t-1],a=e[t+1];Dt(i,a)&&(r=i+","+a,t++,n.pop())}n.push(Ot(r))}return n.join("")}),"parseGenericTypes"),Rt=f(((t,e)=>Math.max(0,t.split(e).length-1)),"countOccurrence"),Dt=f(((t,e)=>{const n=Rt(t,"~"),r=Rt(e,"~");return 1===n&&1===r}),"shouldCombineSets"),Ot=f((t=>{const e=Rt(t,"~");let n=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),n=!0);const r=[...t];let i=r.indexOf("~"),a=r.lastIndexOf("~");for(;-1!==i&&-1!==a&&i!==a;)r[i]="<",r[a]=">",i=r.indexOf("~"),a=r.lastIndexOf("~");return n&&r.unshift("~"),r.join("")}),"processSet"),Pt=f((()=>void 0!==window.MathMLElement),"isMathMLSupported"),$t=/\$\$(.*)\$\$/g,Bt=f((t=>(t.match($t)?.length??0)>0),"hasKatex"),Ft=f((async(t,e)=>{t=await Wt(t,e);const n=document.createElement("div");n.innerHTML=t,n.id="katex-temp",n.style.visibility="hidden",n.style.position="absolute",n.style.top="0";const r=document.querySelector("body");r?.insertAdjacentElement("beforeend",n);const i={width:n.clientWidth,height:n.clientHeight};return n.remove(),i}),"calculateMathMLDimensions"),Wt=f((async(t,e)=>{if(!Bt(t))return t;if(!(Pt()||e.legacyMathML||e.forceLegacyMathML))return t.replace($t,"MathML is unsupported in this environment.");const{default:r}=await Promise.resolve().then(n.bind(n,4433)),i=e.forceLegacyMathML||!Pt()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(mt).map((t=>Bt(t)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${t}</div>`:`<div>${t}</div>`)).join("").replace($t,((t,e)=>r.renderToString(e,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,"")))}),"renderKatex"),zt={getRows:yt,sanitizeText:kt,sanitizeTextOrArray:Tt,hasBreaks:_t,splitBreaks:Et,lineBreakRegex:mt,removeScript:bt,getUrl:At,evaluate:Lt,getMax:Mt,getMin:Nt},Zt=f((function(t,e){for(let n of e)t.attr(n[0],n[1])}),"d3Attrs"),Yt=f((function(t,e,n){let r=new Map;return n?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r}),"calculateSvgSizeAttrs"),Ut=f((function(t,e,n,r){const i=Yt(e,n,r);Zt(t,i)}),"configureSvgSize"),Gt=f((function(t,e,n,r){const i=e.node().getBBox(),a=i.width,s=i.height;v.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;v.info(`Graph bounds: ${o}x${l}`,t),o=a+2*n,l=s+2*n,v.info(`Calculated bounds: ${o}x${l}`),Ut(e,l,o,r);const c=`${i.x-n} ${i.y-n} ${i.width+2*n} ${i.height+2*n}`;e.attr("viewBox",c)}),"setupGraphViewbox"),Vt={},qt=f(((t,e,n)=>{let r="";return t in Vt&&Vt[t]?r=Vt[t](n):v.warn(`No theme found for ${t}`),` & {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n fill: ${n.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${n.errorBkgColor};\n }\n & .error-text {\n fill: ${n.errorTextColor};\n stroke: ${n.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 1px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${n.lineColor};\n stroke: ${n.lineColor};\n }\n & .marker.cross {\n stroke: ${n.lineColor};\n }\n\n & svg {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${r}\n\n ${e}\n`}),"getStyles"),jt=f(((t,e)=>{void 0!==e&&(Vt[t]=e)}),"addStylesForDiagram"),Ht=qt,Xt={};m(Xt,{clear:()=>ee,getAccDescription:()=>ae,getAccTitle:()=>re,getDiagramTitle:()=>oe,setAccDescription:()=>ie,setAccTitle:()=>ne,setDiagramTitle:()=>se});var Kt="",Qt="",Jt="",te=f((t=>kt(t,lt())),"sanitizeText"),ee=f((()=>{Kt="",Jt="",Qt=""}),"clear"),ne=f((t=>{Kt=te(t).replace(/^\s+/g,"")}),"setAccTitle"),re=f((()=>Kt),"getAccTitle"),ie=f((t=>{Jt=te(t).replace(/\n\s+/g,"\n")}),"setAccDescription"),ae=f((()=>Jt),"getAccDescription"),se=f((t=>{Qt=te(t)}),"setDiagramTitle"),oe=f((()=>Qt),"getDiagramTitle"),le=v,ce=x,he=lt,ue=ot,de=Q,pe=f((t=>kt(t,he())),"sanitizeText"),ge=Gt,fe=f((()=>Xt),"getCommonDb"),me={},ye=f(((t,e,n)=>{me[t]&&le.warn(`Diagram with id ${t} already registered. Overwriting.`),me[t]=e,n&&A(t,n),jt(t,e.styles),e.injectUtils?.(le,ce,he,pe,ge,fe(),(()=>{}))}),"registerDiagram"),ve=f((t=>{if(t in me)return me[t];throw new xe(t)}),"getDiagram"),xe=class extends Error{static{f(this,"DiagramNotFoundError")}constructor(t){super(`Diagram ${t} not found.`)}}},5635:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>a});var r=n(762),i=(n(907),n(8337),n(1566),n(5179),n(3583),n(1426),n(6241),n(214),n(7946),n(4082)),a={parser:r.P0,get db(){return new r.dR},renderer:r.b0,styles:r.Ee,init:(0,i.eW)((t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute}),"init")}},9876:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>a});var r=n(762),i=(n(907),n(8337),n(1566),n(5179),n(3583),n(1426),n(6241),n(214),n(7946),n(4082)),a={parser:r.P0,get db(){return new r.dR},renderer:r.b0,styles:r.Ee,init:(0,i.eW)((t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute}),"init")}},5255:(t,e,n)=>{"use strict";n.r(e),n.d(e,{render:()=>N});var r=n(1566),i=(n(5179),n(3583)),a=n(1426),s=(n(6241),n(214),n(7946),n(4082)),o=n(4840),l=n(9360),c=n(2346),h=n(3836);function u(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:d(t),edges:p(t)};return l.Z(t.graph())||(e.value=c.Z(t.graph())),e}function d(t){return h.Z(t.nodes(),(function(e){var n=t.node(e),r=t.parent(e),i={v:e};return l.Z(n)||(i.value=n),l.Z(r)||(i.parent=r),i}))}function p(t){return h.Z(t.edges(),(function(e){var n=t.edge(e),r={v:e.v,w:e.w};return l.Z(e.name)||(r.name=e.name),l.Z(n)||(r.value=n),r}))}n(7556);var g=n(5625),f=new Map,m=new Map,y=new Map,v=(0,s.eW)((()=>{m.clear(),y.clear(),f.clear()}),"clear"),x=(0,s.eW)(((t,e)=>{const n=m.get(e)||[];return s.cM.trace("In isDescendant",e," ",t," = ",n.includes(t)),n.includes(t)}),"isDescendant"),b=(0,s.eW)(((t,e)=>{const n=m.get(e)||[];return s.cM.info("Descendants of ",e," is ",n),s.cM.info("Edge is ",t),t.v!==e&&t.w!==e&&(n?n.includes(t.v)||x(t.v,e)||x(t.w,e)||n.includes(t.w):(s.cM.debug("Tilt, ",e,",not in descendants"),!1))}),"edgeInCluster"),w=(0,s.eW)(((t,e,n,r)=>{s.cM.warn("Copying children of ",t,"root",r,"data",e.node(t),r);const i=e.children(t)||[];t!==r&&i.push(t),s.cM.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach((i=>{if(e.children(i).length>0)w(i,e,n,r);else{const a=e.node(i);s.cM.info("cp ",i," to ",r," with parent ",t),n.setNode(i,a),r!==e.parent(i)&&(s.cM.warn("Setting parent",i,e.parent(i)),n.setParent(i,e.parent(i))),t!==r&&i!==t?(s.cM.debug("Setting parent",i,t),n.setParent(i,t)):(s.cM.info("In copy ",t,"root",r,"data",e.node(t),r),s.cM.debug("Not Setting parent for node=",i,"cluster!==rootId",t!==r,"node!==clusterId",i!==t));const o=e.edges(i);s.cM.debug("Copying Edges",o),o.forEach((i=>{s.cM.info("Edge",i);const a=e.edge(i.v,i.w,i.name);s.cM.info("Edge data",a,r);try{b(i,r)?(s.cM.info("Copying as ",i.v,i.w,a,i.name),n.setEdge(i.v,i.w,a,i.name),s.cM.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.cM.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",r," clusterId:",t)}catch(t){s.cM.error(t)}}))}s.cM.debug("Removing node",i),e.removeNode(i)}))}),"copy"),k=(0,s.eW)(((t,e)=>{const n=e.children(t);let r=[...n];for(const i of n)y.set(i,t),r=[...r,...k(i,e)];return r}),"extractDescendants"),T=(0,s.eW)(((t,e,n)=>{const r=t.edges().filter((t=>t.v===e||t.w===e)),i=t.edges().filter((t=>t.v===n||t.w===n)),a=r.map((t=>({v:t.v===e?n:t.v,w:t.w===e?e:t.w}))),s=i.map((t=>({v:t.v,w:t.w})));return a.filter((t=>s.some((e=>t.v===e.v&&t.w===e.w))))}),"findCommonEdges"),_=(0,s.eW)(((t,e,n)=>{const r=e.children(t);if(s.cM.trace("Searching children of id ",t,r),r.length<1)return t;let i;for(const t of r){const r=_(t,e,n),a=T(e,n,r);if(r){if(!(a.length>0))return r;i=r}}return i}),"findNonClusterChild"),E=(0,s.eW)((t=>f.has(t)&&f.get(t).externalConnections&&f.has(t)?f.get(t).id:t),"getAnchorId"),S=(0,s.eW)(((t,e)=>{if(!t||e>10)s.cM.debug("Opting out, no graph ");else{s.cM.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(s.cM.warn("Cluster identified",e," Replacement id in edges: ",_(e,t,e)),m.set(e,k(e,t)),f.set(e,{id:_(e,t,e),clusterData:t.node(e)}))})),t.nodes().forEach((function(e){const n=t.children(e),r=t.edges();n.length>0?(s.cM.debug("Cluster identified",e,m),r.forEach((t=>{x(t.v,e)^x(t.w,e)&&(s.cM.warn("Edge: ",t," leaves cluster ",e),s.cM.warn("Descendants of XXX ",e,": ",m.get(e)),f.get(e).externalConnections=!0)}))):s.cM.debug("Not a cluster ",e,m)}));for(let e of f.keys()){const n=f.get(e).id,r=t.parent(n);r!==e&&f.has(r)&&!f.get(r).externalConnections&&(f.get(e).id=r)}t.edges().forEach((function(e){const n=t.edge(e);s.cM.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.cM.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let r=e.v,i=e.w;if(s.cM.warn("Fix XXX",f,"ids:",e.v,e.w,"Translating: ",f.get(e.v)," --- ",f.get(e.w)),f.get(e.v)||f.get(e.w)){if(s.cM.warn("Fixing and trying - removing XXX",e.v,e.w,e.name),r=E(e.v),i=E(e.w),t.removeEdge(e.v,e.w,e.name),r!==e.v){const i=t.parent(r);f.get(i).externalConnections=!0,n.fromCluster=e.v}if(i!==e.w){const r=t.parent(i);f.get(r).externalConnections=!0,n.toCluster=e.w}s.cM.warn("Fix Replacing with XXX",r,i,e.name),t.setEdge(r,i,n,e.name)}})),s.cM.warn("Adjusted Graph",u(t)),C(t,0),s.cM.trace(f)}}),"adjustClustersAndEdges"),C=(0,s.eW)(((t,e)=>{if(s.cM.warn("extractor - ",e,u(t),t.children("D")),e>10)return void s.cM.error("Bailing out");let n=t.nodes(),r=!1;for(const e of n){const n=t.children(e);r=r||n.length>0}if(r){s.cM.debug("Nodes = ",n,e);for(const r of n)if(s.cM.debug("Extracting node",r,f,f.has(r)&&!f.get(r).externalConnections,!t.parent(r),t.node(r),t.children("D")," Depth ",e),f.has(r))if(!f.get(r).externalConnections&&t.children(r)&&t.children(r).length>0){s.cM.warn("Cluster without external connections, without a parent and with children",r,e);let n="TB"===t.graph().rankdir?"LR":"TB";f.get(r)?.clusterData?.dir&&(n=f.get(r).clusterData.dir,s.cM.warn("Fixing dir",f.get(r).clusterData.dir,n));const i=new g.k({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));s.cM.warn("Old graph before copy",u(t)),w(r,t,i,r),t.setNode(r,{clusterNode:!0,id:r,clusterData:f.get(r).clusterData,label:f.get(r).label,graph:i}),s.cM.warn("New graph after copy node: (",r,")",u(i)),s.cM.debug("Old graph after copy",u(t))}else s.cM.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!f.get(r).externalConnections," no parent: ",!t.parent(r)," children ",t.children(r)&&t.children(r).length>0,t.children("D"),e),s.cM.debug(f);else s.cM.debug("Not a cluster",r,e);n=t.nodes(),s.cM.warn("New list of nodes",n);for(const r of n){const n=t.node(r);s.cM.warn(" Now next level",r,n),n?.clusterNode&&C(n.graph,e+1)}}else s.cM.debug("Done, no node has children",t.nodes())}),"extractor"),A=(0,s.eW)(((t,e)=>{if(0===e.length)return[];let n=Object.assign([],e);return e.forEach((e=>{const r=t.children(e),i=A(t,r);n=[...n,...i]})),n}),"sorter"),L=(0,s.eW)((t=>A(t,t.children())),"sortNodesByHierarchy"),M=(0,s.eW)((async(t,e,n,l,c,h)=>{s.cM.warn("Graph in recursive render:XAX",u(e),c);const d=e.graph().rankdir;s.cM.trace("Dir in recursive render - dir:",d);const p=t.insert("g").attr("class","root");e.nodes()?s.cM.info("Recursive render XXX",e.nodes()):s.cM.info("No nodes found for",e),e.edges().length>0&&s.cM.info("Recursive edges",e.edge(e.edges()[0]));const g=p.insert("g").attr("class","clusters"),m=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");await Promise.all(e.nodes().map((async function(t){const r=e.node(t);if(void 0!==c){const n=JSON.parse(JSON.stringify(c.clusterData));s.cM.trace("Setting data for parent cluster XXX\n Node.id = ",t,"\n data=",n.height,"\nParent cluster",c.height),e.setNode(c.id,n),e.parent(t)||(s.cM.trace("Setting parent",t,c.id),e.setParent(t,c.id,n))}if(s.cM.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),r?.clusterNode){s.cM.info("Cluster identified XBX",t,r.width,e.node(t));const{ranksep:a,nodesep:o}=e.graph();r.graph.setGraph({...r.graph.graph(),ranksep:a+25,nodesep:o});const c=await M(v,r.graph,n,l,e.node(t),h),u=c.elem;(0,i.jr)(r,u),r.diff=c.diff||0,s.cM.info("New compound node after recursive render XAX",t,"width",r.width,"height",r.height),(0,i.Yn)(u,r)}else e.children(t).length>0?(s.cM.trace("Cluster - the non recursive path XBX",t,r.id,r,r.width,"Graph:",e),s.cM.trace(_(r.id,e)),f.set(r.id,{id:_(r.id,e),node:r})):(s.cM.trace("Node - the non recursive path XAX",t,v,e.node(t),d),await(0,i.Lf)(v,e.node(t),{config:h,dir:d}))})));const x=(0,s.eW)((async()=>{const t=e.edges().map((async function(t){const n=e.edge(t.v,t.w,t.name);s.cM.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),s.cM.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),s.cM.info("Fix",f,"ids:",t.v,t.w,"Translating: ",f.get(t.v),f.get(t.w)),await(0,r.I_)(y,n)}));await Promise.all(t)}),"processEdges");await x(),s.cM.info("Graph before layout:",JSON.stringify(u(e))),s.cM.info("############################################# XXX"),s.cM.info("### Layout ### XXX"),s.cM.info("############################################# XXX"),(0,o.bK)(e),s.cM.info("Graph after layout:",JSON.stringify(u(e)));let b=0,{subGraphTitleTotalMargin:w}=(0,a.L)(h);return await Promise.all(L(e).map((async function(t){const n=e.node(t);if(s.cM.info("Position XBX => "+t+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=w,s.cM.info("A tainted cluster node XBX1",t,n.id,n.width,n.height,n.x,n.y,e.parent(t)),f.get(n.id).node=n,(0,i.aH)(n);else if(e.children(t).length>0){s.cM.info("A pure cluster node XBX1",t,n.id,n.x,n.y,n.width,n.height,e.parent(t)),n.height+=w,e.node(n.parentId);const r=n?.padding/2||0,a=n?.labelBBox?.height||0,o=a-r||0;s.cM.debug("OffsetY",o,"labelHeight",a,"halfPadding",r),await(0,i.us)(g,n),f.get(n.id).node=n}else{const t=e.node(n.parentId);n.y+=w/2,s.cM.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",t,t?.offsetY,n),(0,i.aH)(n)}}))),e.edges().forEach((function(t){const i=e.edge(t);s.cM.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(i),i),i.points.forEach((t=>t.y+=w/2));const a=e.node(t.v);var o=e.node(t.w);const c=(0,r.QP)(m,i,f,n,a,o,l);(0,r.Jj)(i,c)})),e.nodes().forEach((function(t){const n=e.node(t);s.cM.info(t,n.type,n.diff),n.isGroup&&(b=n.diff)})),s.cM.warn("Returning from recursive render XAX",p,b),{elem:p,diff:b}}),"recursiveRender"),N=(0,s.eW)((async(t,e)=>{const n=new g.k({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),a=e.select("g");(0,r.DQ)(a,t.markers,t.type,t.diagramId),(0,i.gU)(),(0,r.ZH)(),(0,i.ZH)(),v(),t.nodes.forEach((t=>{n.setNode(t.id,{...t}),t.parentId&&n.setParent(t.id,t.parentId)})),s.cM.debug("Edges:",t.edges),t.edges.forEach((t=>{if(t.start===t.end){const e=t.start,r=e+"---"+e+"---1",i=e+"---"+e+"---2",a=n.node(e);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(i,a.parentId);const s=structuredClone(t),o=structuredClone(t),l=structuredClone(t);s.label="",s.arrowTypeEnd="none",s.id=e+"-cyclic-special-1",o.arrowTypeStart="none",o.arrowTypeEnd="none",o.id=e+"-cyclic-special-mid",l.label="",a.isGroup&&(s.fromCluster=e,l.toCluster=e),l.id=e+"-cyclic-special-2",l.arrowTypeStart="none",n.setEdge(e,r,s,e+"-cyclic-special-0"),n.setEdge(r,i,o,e+"-cyclic-special-1"),n.setEdge(i,e,l,e+"-cyc<lic-special-2")}else n.setEdge(t.start,t.end,{...t},t.id)})),s.cM.warn("Graph at first:",JSON.stringify(u(n))),S(n),s.cM.warn("Graph after XAX:",JSON.stringify(u(n)));const o=(0,s.nV)();await M(a,n,t.type,t.diagramId,void 0,o)}),"render")},6672:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>R});var r=n(1957),i=n(7946),a=n(5430),s=n(4082),o=n(2491),l={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},c={axes:[],curves:[],options:l},h=structuredClone(c),u=s.vZ.radar,d=(0,s.eW)((()=>(0,i.Rb)({...u,...(0,s.iE)().radar})),"getConfig"),p=(0,s.eW)((()=>h.axes),"getAxes"),g=(0,s.eW)((()=>h.curves),"getCurves"),f=(0,s.eW)((()=>h.options),"getOptions"),m=(0,s.eW)((t=>{h.axes=t.map((t=>({name:t.name,label:t.label??t.name})))}),"setAxes"),y=(0,s.eW)((t=>{h.curves=t.map((t=>({name:t.name,label:t.label??t.name,entries:v(t.entries)})))}),"setCurves"),v=(0,s.eW)((t=>{if(null==t[0].axis)return t.map((t=>t.value));const e=p();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map((e=>{const n=t.find((t=>t.axis?.$refText===e.name));if(void 0===n)throw new Error("Missing entry for axis "+e.label);return n.value}))}),"computeCurveEntries"),x={getAxes:p,getCurves:g,getOptions:f,setAxes:m,setCurves:y,setOptions:(0,s.eW)((t=>{const e=t.reduce(((t,e)=>(t[e.name]=e,t)),{});h.options={showLegend:e.showLegend?.value??l.showLegend,ticks:e.ticks?.value??l.ticks,max:e.max?.value??l.max,min:e.min?.value??l.min,graticule:e.graticule?.value??l.graticule}}),"setOptions"),getConfig:d,clear:(0,s.eW)((()=>{(0,s.ZH)(),h=structuredClone(c)}),"clear"),setAccTitle:s.GN,getAccTitle:s.eu,setDiagramTitle:s.g2,getDiagramTitle:s.Kr,getAccDescription:s.Mx,setAccDescription:s.U$},b=(0,s.eW)((t=>{(0,r.A)(t,x);const{axes:e,curves:n,options:i}=t;x.setAxes(e),x.setCurves(n),x.setOptions(i)}),"populate"),w={parse:(0,s.eW)((async t=>{const e=await(0,o.Qc)("radar",t);s.cM.debug(e),b(e)}),"parse")},k=(0,s.eW)(((t,e,n,r)=>{const i=r.db,s=i.getAxes(),o=i.getCurves(),l=i.getOptions(),c=i.getConfig(),h=i.getDiagramTitle(),u=(0,a.P)(e),d=T(u,c),p=l.max??Math.max(...o.map((t=>Math.max(...t.entries)))),g=l.min,f=Math.min(c.width,c.height)/2;_(d,s,f,l.ticks,l.graticule),E(d,s,f,c),S(d,s,o,g,p,l.graticule,c),L(d,o,l.showLegend,c),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-c.height/2-c.marginTop)}),"draw"),T=(0,s.eW)(((t,e)=>{const n=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,i=e.marginLeft+e.width/2,a=e.marginTop+e.height/2;return t.attr("viewbox",`0 0 ${n} ${r}`).attr("width",n).attr("height",r),t.append("g").attr("transform",`translate(${i}, ${a})`)}),"drawFrame"),_=(0,s.eW)(((t,e,n,r,i)=>{if("circle"===i)for(let e=0;e<r;e++){const i=n*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===i){const i=e.length;for(let a=0;a<r;a++){const s=n*(a+1)/r,o=e.map(((t,e)=>{const n=2*e*Math.PI/i-Math.PI/2;return`${s*Math.cos(n)},${s*Math.sin(n)}`})).join(" ");t.append("polygon").attr("points",o).attr("class","radarGraticule")}}}),"drawGraticule"),E=(0,s.eW)(((t,e,n,r)=>{const i=e.length;for(let a=0;a<i;a++){const s=e[a].label,o=2*a*Math.PI/i-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",n*r.axisScaleFactor*Math.cos(o)).attr("y2",n*r.axisScaleFactor*Math.sin(o)).attr("class","radarAxisLine"),t.append("text").text(s).attr("x",n*r.axisLabelFactor*Math.cos(o)).attr("y",n*r.axisLabelFactor*Math.sin(o)).attr("class","radarAxisLabel")}}),"drawAxes");function S(t,e,n,r,i,a,s){const o=e.length,l=Math.min(s.width,s.height)/2;n.forEach(((e,n)=>{if(e.entries.length!==o)return;const c=e.entries.map(((t,e)=>{const n=2*Math.PI*e/o-Math.PI/2,a=C(t,r,i,l);return{x:a*Math.cos(n),y:a*Math.sin(n)}}));"circle"===a?t.append("path").attr("d",A(c,s.curveTension)).attr("class",`radarCurve-${n}`):"polygon"===a&&t.append("polygon").attr("points",c.map((t=>`${t.x},${t.y}`)).join(" ")).attr("class",`radarCurve-${n}`)}))}function C(t,e,n,r){return r*(Math.min(Math.max(t,e),n)-e)/(n-e)}function A(t,e){const n=t.length;let r=`M${t[0].x},${t[0].y}`;for(let i=0;i<n;i++){const a=t[(i-1+n)%n],s=t[i],o=t[(i+1)%n],l=t[(i+2)%n],c={x:s.x+(o.x-a.x)*e,y:s.y+(o.y-a.y)*e},h={x:o.x-(l.x-s.x)*e,y:o.y-(l.y-s.y)*e};r+=` C${c.x},${c.y} ${h.x},${h.y} ${o.x},${o.y}`}return`${r} Z`}function L(t,e,n,r){if(!n)return;const i=3*(r.width/2+r.marginRight)/4,a=3*-(r.height/2+r.marginTop)/4;e.forEach(((e,n)=>{const r=t.append("g").attr("transform",`translate(${i}, ${a+20*n})`);r.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${n}`),r.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)}))}(0,s.eW)(S,"drawCurves"),(0,s.eW)(C,"relativeRadius"),(0,s.eW)(A,"closedRoundCurve"),(0,s.eW)(L,"drawLegend");var M={draw:k},N=(0,s.eW)(((t,e)=>{let n="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){const i=t[`cScale${r}`];n+=`\n\t\t.radarCurve-${r} {\n\t\t\tcolor: ${i};\n\t\t\tfill: ${i};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${i};\n\t\t\tstroke-width: ${e.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${r} {\n\t\t\tfill: ${i};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${i};\n\t\t}\n\t\t`}return n}),"genIndexStyles"),I=(0,s.eW)((t=>{const e=(0,s.xN)(),n=(0,s.iE)(),r=(0,i.Rb)(e,n.themeVariables);return{themeVariables:r,radarOptions:(0,i.Rb)(r.radar,t)}}),"buildRadarStyleOptions"),R={parser:w,db:x,renderer:M,styles:(0,s.eW)((({radar:t}={})=>{const{themeVariables:e,radarOptions:n}=I(t);return`\n\t.radarTitle {\n\t\tfont-size: ${e.fontSize};\n\t\tcolor: ${e.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${n.axisColor};\n\t\tstroke-width: ${n.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${n.axisLabelFontSize}px;\n\t\tcolor: ${n.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${n.graticuleColor};\n\t\tfill-opacity: ${n.graticuleOpacity};\n\t\tstroke: ${n.graticuleColor};\n\t\tstroke-width: ${n.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${n.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${N(e,n)}\n\t`}),"styles")}},4628:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>b});var r=n(1957),i=n(7946),a=n(5430),s=n(4082),o=n(2491),l={packet:[]},c=structuredClone(l),h=s.vZ.packet,u=(0,s.eW)((()=>{const t=(0,i.Rb)({...h,...(0,s.iE)().packet});return t.showBits&&(t.paddingY+=10),t}),"getConfig"),d=(0,s.eW)((()=>c.packet),"getPacket"),p={pushWord:(0,s.eW)((t=>{t.length>0&&c.packet.push(t)}),"pushWord"),getPacket:d,getConfig:u,clear:(0,s.eW)((()=>{(0,s.ZH)(),c=structuredClone(l)}),"clear"),setAccTitle:s.GN,getAccTitle:s.eu,setDiagramTitle:s.g2,getDiagramTitle:s.Kr,getAccDescription:s.Mx,setAccDescription:s.U$},g=(0,s.eW)((t=>{(0,r.A)(t,p);let e=-1,n=[],i=1;const{bitsPerRow:a}=p.getConfig();for(let{start:r,end:o,label:l}of t.blocks){if(o&&o<r)throw new Error(`Packet block ${r} - ${o} is invalid. End must be greater than start.`);if(r!==e+1)throw new Error(`Packet block ${r} - ${o??r} is not contiguous. It should start from ${e+1}.`);for(e=o??r,s.cM.debug(`Packet block ${r} - ${e} with label ${l}`);n.length<=a+1&&p.getPacket().length<1e4;){const[t,e]=f({start:r,end:o,label:l},i,a);if(n.push(t),t.end+1===i*a&&(p.pushWord(n),n=[],i++),!e)break;({start:r,end:o,label:l}=e)}}p.pushWord(n)}),"populate"),f=(0,s.eW)(((t,e,n)=>{if(void 0===t.end&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*n?[t,void 0]:[{start:t.start,end:e*n-1,label:t.label},{start:e*n,end:t.end,label:t.label}]}),"getNextFittingBlock"),m={parse:(0,s.eW)((async t=>{const e=await(0,o.Qc)("packet",t);s.cM.debug(e),g(e)}),"parse")},y=(0,s.eW)(((t,e,n,r)=>{const i=r.db,o=i.getConfig(),{rowHeight:l,paddingY:c,bitWidth:h,bitsPerRow:u}=o,d=i.getPacket(),p=i.getDiagramTitle(),g=l+c,f=g*(d.length+1)-(p?0:l),m=h*u+2,y=(0,a.P)(e);y.attr("viewbox",`0 0 ${m} ${f}`),(0,s.v2)(y,f,m,o.useMaxWidth);for(const[t,e]of d.entries())v(y,e,t,o);y.append("text").text(p).attr("x",m/2).attr("y",f-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")}),"draw"),v=(0,s.eW)(((t,e,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const c=t.append("g"),h=n*(r+a)+a;for(const t of e){const e=t.start%o*s+1,n=(t.end-t.start+1)*s-i;if(c.append("rect").attr("x",e).attr("y",h).attr("width",n).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",e+n/2).attr("y",h+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!l)continue;const a=t.end===t.start,u=h-2;c.append("text").attr("x",e+(a?n/2:0)).attr("y",u).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(t.start),a||c.append("text").attr("x",e+n).attr("y",u).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}}),"drawWord"),x={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},b={parser:m,db:p,renderer:{draw:y},styles:(0,s.eW)((({packet:t}={})=>{const e=(0,i.Rb)(x,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`}),"styles")}},9640:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>m});var r=n(907),i=n(8337),a=(n(1566),n(5179),n(3583),n(1426),n(6241),n(214),n(7946)),s=n(4082),o=n(3108),l=n(9792),c=n(1117),h=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],n=[1,10],r=[1,11],i=[1,12],a=[1,13],o=[1,20],l=[1,21],c=[1,22],h=[1,23],u=[1,24],d=[1,19],p=[1,25],g=[1,26],f=[1,18],m=[1,33],y=[1,34],v=[1,35],x=[1,36],b=[1,37],w=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],k=[1,42],T=[1,43],_=[1,52],E=[40,50,68,69],S=[1,63],C=[1,61],A=[1,58],L=[1,62],M=[1,64],N=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],I=[63,64,65,66,67],R=[1,81],D=[1,80],O=[1,78],P=[1,79],$=[6,10,42,47],B=[6,10,13,41,42,47,48,49],F=[1,89],W=[1,88],z=[1,87],Z=[19,56],Y=[1,98],U=[1,97],G=[19,56,58,60],V={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:case 55:case 78:case 62:case 63:case 66:this.$=a[o];break;case 8:r.addEntity(a[o-4]),r.addEntity(a[o-2]),r.addRelationship(a[o-4],a[o],a[o-2],a[o-3]);break;case 9:r.addEntity(a[o-8]),r.addEntity(a[o-4]),r.addRelationship(a[o-8],a[o],a[o-4],a[o-5]),r.setClass([a[o-8]],a[o-6]),r.setClass([a[o-4]],a[o-2]);break;case 10:r.addEntity(a[o-6]),r.addEntity(a[o-2]),r.addRelationship(a[o-6],a[o],a[o-2],a[o-3]),r.setClass([a[o-6]],a[o-4]);break;case 11:r.addEntity(a[o-6]),r.addEntity(a[o-4]),r.addRelationship(a[o-6],a[o],a[o-4],a[o-5]),r.setClass([a[o-4]],a[o-2]);break;case 12:r.addEntity(a[o-3]),r.addAttributes(a[o-3],a[o-1]);break;case 13:r.addEntity(a[o-5]),r.addAttributes(a[o-5],a[o-1]),r.setClass([a[o-5]],a[o-3]);break;case 14:r.addEntity(a[o-2]);break;case 15:r.addEntity(a[o-4]),r.setClass([a[o-4]],a[o-2]);break;case 16:r.addEntity(a[o]);break;case 17:r.addEntity(a[o-2]),r.setClass([a[o-2]],a[o]);break;case 18:r.addEntity(a[o-6],a[o-4]),r.addAttributes(a[o-6],a[o-1]);break;case 19:r.addEntity(a[o-8],a[o-6]),r.addAttributes(a[o-8],a[o-1]),r.setClass([a[o-8]],a[o-3]);break;case 20:r.addEntity(a[o-5],a[o-3]);break;case 21:r.addEntity(a[o-7],a[o-5]),r.setClass([a[o-7]],a[o-2]);break;case 22:r.addEntity(a[o-3],a[o-1]);break;case 23:r.addEntity(a[o-5],a[o-3]),r.setClass([a[o-5]],a[o]);break;case 24:case 25:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=a[o-3],r.addClass(a[o-2],a[o-1]);break;case 37:case 38:case 56:case 64:case 43:this.$=[a[o]];break;case 39:case 40:this.$=a[o-2].concat([a[o]]);break;case 41:this.$=a[o-2],r.setClass(a[o-1],a[o]);break;case 42:this.$=a[o-3],r.addCssStyles(a[o-2],a[o-1]);break;case 44:case 65:a[o-2].push(a[o]),this.$=a[o-2];break;case 46:this.$=a[o-1]+a[o];break;case 54:case 76:case 77:case 67:this.$=a[o].replace(/"/g,"");break;case 57:a[o].push(a[o-1]),this.$=a[o];break;case 58:this.$={type:a[o-1],name:a[o]};break;case 59:this.$={type:a[o-2],name:a[o-1],keys:a[o]};break;case 60:this.$={type:a[o-2],name:a[o-1],comment:a[o]};break;case 61:this.$={type:a[o-3],name:a[o-2],keys:a[o-1],comment:a[o]};break;case 68:this.$={cardA:a[o],relType:a[o-1],cardB:a[o-2]};break;case 69:this.$=r.Cardinality.ZERO_OR_ONE;break;case 70:this.$=r.Cardinality.ZERO_OR_MORE;break;case 71:this.$=r.Cardinality.ONE_OR_MORE;break;case 72:this.$=r.Cardinality.ONLY_ONE;break;case 73:this.$=r.Cardinality.MD_PARENT;break;case 74:this.$=r.Identification.NON_IDENTIFYING;break;case 75:this.$=r.Identification.IDENTIFYING}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:n,24:r,26:i,28:a,29:14,30:15,31:16,32:17,33:o,34:l,35:c,36:h,37:u,40:d,43:p,44:g,50:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:27,11:9,22:n,24:r,26:i,28:a,29:14,30:15,31:16,32:17,33:o,34:l,35:c,36:h,37:u,40:d,43:p,44:g,50:f},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:m,64:y,65:v,66:x,67:b}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(w,[2,54]),t(w,[2,55]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:41,40:k,41:T},{16:44,40:k,41:T},{16:45,40:k,41:T},t(e,[2,4]),{11:46,40:d,50:f},{16:47,40:k,41:T},{18:48,19:[1,49],51:50,52:51,56:_},{11:53,40:d,50:f},{62:54,68:[1,55],69:[1,56]},t(E,[2,69]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:S,38:57,41:C,42:A,45:59,46:60,48:L,49:M},t(N,[2,37]),t(N,[2,38]),{16:65,40:k,41:T,42:A},{13:S,38:66,41:C,42:A,45:59,46:60,48:L,49:M},{13:[1,67],15:[1,68]},t(e,[2,17],{61:32,12:69,17:[1,70],42:A,63:m,64:y,65:v,66:x,67:b}),{19:[1,71]},t(e,[2,14]),{18:72,19:[2,56],51:50,52:51,56:_},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:m,64:y,65:v,66:x,67:b},t(I,[2,74]),t(I,[2,75]),{6:R,10:D,39:77,42:O,47:P},{40:[1,82],41:[1,83]},t($,[2,43],{46:84,13:S,41:C,48:L,49:M}),t(B,[2,45]),t(B,[2,50]),t(B,[2,51]),t(B,[2,52]),t(B,[2,53]),t(e,[2,41],{42:A}),{6:R,10:D,39:85,42:O,47:P},{14:86,40:F,50:W,70:z},{16:90,40:k,41:T},{11:91,40:d,50:f},{18:92,19:[1,93],51:50,52:51,56:_},t(e,[2,12]),{19:[2,57]},t(Z,[2,58],{54:94,55:95,57:96,59:Y,60:U}),t([19,56,59,60],[2,63]),t(e,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(e,[2,36]),{13:S,41:C,45:101,46:60,48:L,49:M},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(N,[2,39]),t(N,[2,40]),t(B,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,76]),t(e,[2,77]),t(e,[2,78]),{13:[1,102],42:A},{13:[1,104],15:[1,103]},{19:[1,105]},t(e,[2,15]),t(Z,[2,59],{55:106,58:[1,107],60:U}),t(Z,[2,60]),t(G,[2,64]),t(Z,[2,67]),t(G,[2,66]),{18:108,19:[1,109],51:50,52:51,56:_},{16:110,40:k,41:T},t($,[2,44],{46:84,13:S,41:C,48:L,49:M}),{14:111,40:F,50:W,70:z},{16:112,40:k,41:T},{14:113,40:F,50:W,70:z},t(e,[2,13]),t(Z,[2,61]),{57:114,59:Y},{19:[1,115]},t(e,[2,20]),t(e,[2,23],{17:[1,116],42:A}),t(e,[2,11]),{13:[1,117],42:A},t(e,[2,10]),t(G,[2,65]),t(e,[2,18]),{18:118,19:[1,119],51:50,52:51,56:_},{14:120,40:F,50:W,70:z},{19:[1,121]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},q=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 28:case 35:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 38:return 49;case 20:case 37:return 42;case 21:return 15;case 22:case 36:return 13;case 24:return 59;case 25:case 26:return 56;case 27:return 60;case 29:return this.popState(),19;case 30:case 73:return e.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 39:return this.begin("style"),37;case 40:return 43;case 41:case 45:case 46:case 59:return 63;case 42:case 43:case 44:case 52:case 54:case 61:return 65;case 47:case 48:case 49:case 50:case 51:case 53:case 60:return 64;case 55:case 56:case 57:case 58:return 66;case 62:return 67;case 63:case 66:case 67:case 68:return 68;case 64:case 65:return 69;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 74:return 6}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}}}();function j(){this.yy={}}return V.lexer=q,(0,s.eW)(j,"Parser"),j.prototype=V,V.Parser=j,new j}();h.parser=h;var u=h,d=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=s.GN,this.getAccTitle=s.eu,this.setAccDescription=s.U$,this.getAccDescription=s.Mx,this.setDiagramTitle=s.g2,this.getDiagramTitle=s.Kr,this.getConfig=(0,s.eW)((()=>(0,s.nV)().er),"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,s.eW)(this,"ErDB")}addEntity(t,e=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&e&&(this.entities.get(t).alias=e,s.cM.info(`Add alias '${e}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:e,shape:"erBox",look:(0,s.nV)().look??"default",cssClasses:"default",cssStyles:[]}),s.cM.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,e){const n=this.addEntity(t);let r;for(r=e.length-1;r>=0;r--)e[r].keys||(e[r].keys=[]),e[r].comment||(e[r].comment=""),n.attributes.push(e[r]),s.cM.debug("Added attribute ",e[r].name)}addRelationship(t,e,n,r){const i=this.entities.get(t),a=this.entities.get(n);if(!i||!a)return;const o={entityA:i.id,roleA:e,entityB:a.id,relSpec:r};this.relationships.push(o),s.cM.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let e=[];for(const n of t){const t=this.classes.get(n);t?.styles&&(e=[...e,...t.styles??[]].map((t=>t.trim()))),t?.textStyles&&(e=[...e,...t.textStyles??[]].map((t=>t.trim())))}return e}addCssStyles(t,e){for(const n of t){const t=this.entities.get(n);if(!e||!t)return;for(const n of e)t.cssStyles.push(n)}}addClass(t,e){t.forEach((t=>{let n=this.classes.get(t);void 0===n&&(n={id:t,styles:[],textStyles:[]},this.classes.set(t,n)),e&&e.forEach((function(t){if(/color/.exec(t)){const e=t.replace("fill","bgFill");n.textStyles.push(e)}n.styles.push(t)}))}))}setClass(t,e){for(const n of t){const t=this.entities.get(n);if(t)for(const n of e)t.cssClasses+=" "+n}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],(0,s.ZH)()}getData(){const t=[],e=[],n=(0,s.nV)();for(const e of this.entities.keys()){const n=this.entities.get(e);n&&(n.cssCompiledStyles=this.getCompiledStyles(n.cssClasses.split(" ")),t.push(n))}let r=0;for(const t of this.relationships){const i={id:(0,a.Ln)(t.entityA,t.entityB,{prefix:"id",counter:r++}),type:"normal",curve:"basis",start:t.entityA,end:t.entityB,label:t.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:t.relSpec.cardB.toLowerCase(),arrowTypeEnd:t.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==t.relSpec.relType?"solid":"dashed",look:n.look};e.push(i)}return{nodes:t,edges:e,other:{},config:n,direction:"TB"}}},p={};(0,s.r2)(p,{draw:()=>g});var g=(0,s.eW)((async function(t,e,n,l){s.cM.info("REF0:"),s.cM.info("Drawing er diagram (unified)",e);const{securityLevel:c,er:h,layout:u}=(0,s.nV)(),d=l.db.getData(),p=(0,r.q)(e,c);d.type=l.type,d.layoutAlgorithm=(0,i._b)(u),d.config.flowchart.nodeSpacing=h?.nodeSpacing||140,d.config.flowchart.rankSpacing=h?.rankSpacing||80,d.direction=l.db.getDirection(),d.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],d.diagramId=e,await(0,i.sY)(d,p),"elk"===d.layoutAlgorithm&&p.select(".edges").lower();const g=p.selectAll('[id*="-background"]');Array.from(g).length>0&&g.each((function(){const t=(0,o.Ys)(this),e=t.attr("id").replace("-background",""),n=p.select(`#${CSS.escape(e)}`);if(!n.empty()){const e=n.attr("transform");t.attr("transform",e)}})),a.w8.insertTitle(p,"erDiagramTitleText",h?.titleTopMargin??25,l.db.getDiagramTitle()),(0,r.j)(p,8,"erDiagram",h?.useMaxWidth??!0)}),"draw"),f=(0,s.eW)(((t,e)=>{const n=l.Z,r=n(t,"r"),i=n(t,"g"),a=n(t,"b");return c.Z(r,i,a,e)}),"fade"),m={parser:u,get db(){return new d},renderer:p,styles:(0,s.eW)((t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${f(t.tertiaryColor,.5)};\n }\n\n .edgeLabel .label {\n fill: ${t.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n`),"getStyles")}},9389:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>x});var r=n(9241),i=n(907),a=n(8337),s=(n(1566),n(5179),n(3583)),o=(n(1426),n(6241),n(214),n(7946)),l=n(4082),c=n(3108),h=n(9792),u=n(1117),d=class{constructor(){this.vertexCounter=0,this.config=(0,l.nV)(),this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=l.GN,this.setAccDescription=l.U$,this.setDiagramTitle=l.g2,this.getAccTitle=l.eu,this.getAccDescription=l.Mx,this.getDiagramTitle=l.Kr,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,l.eW)(this,"FlowDB")}sanitizeText(t){return l.SY.sanitizeText(t,this.config)}lookUpDomId(t){for(const e of this.vertices.values())if(e.id===t)return e.domId;return t}addVertex(t,e,n,i,a,o,c={},h){if(!t||0===t.trim().length)return;let u;if(void 0!==h){let t;t=h.includes("\n")?h+"\n":"{\n"+h+"\n}",u=(0,r.z)(t,{schema:r.A})}const d=this.edges.find((e=>e.id===t));if(d){const t=u;return void 0!==t?.animate&&(d.animate=t.animate),void(void 0!==t?.animation&&(d.animation=t.animation))}let p,g=this.vertices.get(t);if(void 0===g&&(g={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,g)),this.vertexCounter++,void 0!==e?(this.config=(0,l.nV)(),p=this.sanitizeText(e.text.trim()),g.labelType=e.type,p.startsWith('"')&&p.endsWith('"')&&(p=p.substring(1,p.length-1)),g.text=p):void 0===g.text&&(g.text=t),void 0!==n&&(g.type=n),null!=i&&i.forEach((t=>{g.styles.push(t)})),null!=a&&a.forEach((t=>{g.classes.push(t)})),void 0!==o&&(g.dir=o),void 0===g.props?g.props=c:void 0!==c&&Object.assign(g.props,c),void 0!==u){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!(0,s.dW)(u.shape))throw new Error(`No such shape: ${u.shape}.`);g.type=u?.shape}u?.label&&(g.text=u?.label),u?.icon&&(g.icon=u?.icon,u.label?.trim()||g.text!==t||(g.text="")),u?.form&&(g.form=u?.form),u?.pos&&(g.pos=u?.pos),u?.img&&(g.img=u?.img,u.label?.trim()||g.text!==t||(g.text="")),u?.constraint&&(g.constraint=u.constraint),u.w&&(g.assetWidth=Number(u.w)),u.h&&(g.assetHeight=Number(u.h))}}addSingleLink(t,e,n,r){const i={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};l.cM.info("abc78 Got edge...",i);const a=n.text;if(void 0!==a&&(i.text=this.sanitizeText(a.text.trim()),i.text.startsWith('"')&&i.text.endsWith('"')&&(i.text=i.text.substring(1,i.text.length-1)),i.labelType=a.type),void 0!==n&&(i.type=n.type,i.stroke=n.stroke,i.length=n.length>10?10:n.length),r&&!this.edges.some((t=>t.id===r)))i.id=r,i.isUserDefinedId=!0;else{const t=this.edges.filter((t=>t.start===i.start&&t.end===i.end));0===t.length?i.id=(0,o.Ln)(i.start,i.end,{counter:0,prefix:"L"}):i.id=(0,o.Ln)(i.start,i.end,{counter:t.length+1,prefix:"L"})}if(!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);l.cM.info("Pushing edge..."),this.edges.push(i)}isLinkData(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,n){const r=this.isLinkData(n)?n.id.replace("@",""):void 0;l.cM.info("addLink",t,e,r);for(const i of t)for(const a of e){const s=i===t[t.length-1],o=a===e[0];s&&o?this.addSingleLink(i,a,n,r):this.addSingleLink(i,a,n,void 0)}}updateLinkInterpolate(t,e){t.forEach((t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e}))}updateLink(t,e){t.forEach((t=>{if("number"==typeof t&&t>=this.edges.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,(this.edges[t]?.style?.length??0)>0&&!this.edges[t]?.style?.some((t=>t?.startsWith("fill")))&&this.edges[t]?.style?.push("fill:none"))}))}addClass(t,e){const n=e.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");t.split(",").forEach((t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=n&&n.forEach((t=>{if(/color/.exec(t)){const n=t.replace("fill","bgFill");e.textStyles.push(n)}e.styles.push(t)}))}))}setDirection(t){this.direction=t,/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(const n of t.split(",")){const t=this.vertices.get(n);t&&t.classes.push(e);const r=this.edges.find((t=>t.id===n));r&&r.classes.push(e);const i=this.subGraphLookup.get(n);i&&i.classes.push(e)}}setTooltip(t,e){if(void 0!==e){e=this.sanitizeText(e);for(const n of t.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(n):n,e)}}setClickFun(t,e,n){const r=this.lookUpDomId(t);if("loose"!==(0,l.nV)().securityLevel)return;if(void 0===e)return;let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t);const a=this.vertices.get(t);a&&(a.haveCallback=!0,this.funs.push((()=>{const t=document.querySelector(`[id="${r}"]`);null!==t&&t.addEventListener("click",(()=>{o.w8.runFunc(e,...i)}),!1)})))}setLink(t,e,n){t.split(",").forEach((t=>{const r=this.vertices.get(t);void 0!==r&&(r.link=o.w8.formatUrl(e,this.config),r.linkTarget=n)})),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,n){t.split(",").forEach((t=>{this.setClickFun(t,e,n)})),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach((e=>{e(t)}))}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=(0,c.Ys)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=(0,c.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,c.Ys)(t).select("svg").selectAll("g.node").on("mouseover",(t=>{const n=(0,c.Ys)(t.currentTarget);if(null===n.attr("title"))return;const r=t.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(n.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),n.classed("hover",!0)})).on("mouseout",(t=>{e.transition().duration(500).style("opacity",0),(0,c.Ys)(t.currentTarget).classed("hover",!1)}))}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=(0,l.nV)(),(0,l.ZH)()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,n){let r=t.text.trim(),i=n.text;t===n&&/\s/.exec(n.text)&&(r=void 0);const a=(0,l.eW)((t=>{const e={boolean:{},number:{},string:{}},n=[];let r;return{nodeList:t.filter((function(t){const i=typeof t;return t.stmt&&"dir"===t.stmt?(r=t.value,!1):""!==t.trim()&&(i in e?!e[i].hasOwnProperty(t)&&(e[i][t]=!0):!n.includes(t)&&n.push(t))})),dir:r}}),"uniq"),{nodeList:s,dir:o}=a(e.flat());if("gen-1"===this.version)for(let t=0;t<s.length;t++)s[t]=this.lookUpDomId(s[t]);r=r??"subGraph"+this.subCount,i=i||"",i=this.sanitizeText(i),this.subCount=this.subCount+1;const c={id:r,nodes:s,title:i.trim(),classes:[],dir:o,labelType:n.type};return l.cM.info("Adding",c.id,c.nodes,c.dir),c.nodes=this.makeUniq(c,this.subGraphs).nodes,this.subGraphs.push(c),this.subGraphLookup.set(r,c),r}getPosForId(t){for(const[e,n]of this.subGraphs.entries())if(n.id===t)return e;return-1}indexNodes2(t,e){const n=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let r=0,i=1;for(;r<n.length;){const e=this.getPosForId(n[r]);if(e>=0){const n=this.indexNodes2(t,e);if(n.result)return{result:!0,count:i+n.count};i+=n.count}r+=1}return{result:!1,count:i}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(t){let e=t.trim(),n="arrow_open";switch(e[0]){case"<":n="arrow_point",e=e.slice(1);break;case"x":n="arrow_cross",e=e.slice(1);break;case"o":n="arrow_circle",e=e.slice(1)}let r="normal";return e.includes("=")&&(r="thick"),e.includes(".")&&(r="dotted"),{type:n,stroke:r}}countChar(t,e){const n=e.length;let r=0;for(let i=0;i<n;++i)e[i]===t&&++r;return r}destructEndLink(t){const e=t.trim();let n=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross",e.startsWith("x")&&(r="double_"+r,n=n.slice(1));break;case">":r="arrow_point",e.startsWith("<")&&(r="double_"+r,n=n.slice(1));break;case"o":r="arrow_circle",e.startsWith("o")&&(r="double_"+r,n=n.slice(1))}let i="normal",a=n.length-1;n.startsWith("=")&&(i="thick"),n.startsWith("~")&&(i="invisible");const s=this.countChar(".",n);return s&&(i="dotted",a=s),{type:r,stroke:i,length:a}}destructLink(t,e){const n=this.destructEndLink(t);let r;if(e){if(r=this.destructStartLink(e),r.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===r.type)r.type=n.type;else{if(r.type!==n.type)return{type:"INVALID",stroke:"INVALID"};r.type="double_"+r.type}return"double_arrow"===r.type&&(r.type="double_arrow_point"),r.length=n.length,r}return n}exists(t,e){for(const n of t)if(n.nodes.includes(e))return!0;return!1}makeUniq(t,e){const n=[];return t.nodes.forEach(((r,i)=>{this.exists(e,r)||n.push(t.nodes[i])})),{nodes:n}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find((t=>t.id===e))}destructEdgeType(t){let e="none",n="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":n=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),n=e}return{arrowTypeStart:e,arrowTypeEnd:n}}addNodeFromVertex(t,e,n,r,i,a){const s=n.get(t.id),o=r.get(t.id)??!1,l=this.findNode(e,t.id);if(l)l.cssStyles=t.styles,l.cssCompiledStyles=this.getCompiledStyles(t.classes),l.cssClasses=t.classes.join(" ");else{const n={id:t.id,label:t.text,labelStyle:"",parentId:s,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};o?e.push({...n,isGroup:!0,shape:"rect"}):e.push({...n,isGroup:!1,shape:this.getTypeFromVertex(t)})}}getCompiledStyles(t){let e=[];for(const n of t){const t=this.classes.get(n);t?.styles&&(e=[...e,...t.styles??[]].map((t=>t.trim()))),t?.textStyles&&(e=[...e,...t.textStyles??[]].map((t=>t.trim())))}return e}getData(){const t=(0,l.nV)(),e=[],n=[],r=this.getSubGraphs(),i=new Map,a=new Map;for(let t=r.length-1;t>=0;t--){const e=r[t];e.nodes.length>0&&a.set(e.id,!0);for(const t of e.nodes)i.set(t,e.id)}for(let n=r.length-1;n>=0;n--){const a=r[n];e.push({id:a.id,label:a.title,labelStyle:"",parentId:i.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:t.look})}this.getVertices().forEach((n=>{this.addNodeFromVertex(n,e,i,a,t,t.look||"classic")}));const s=this.getEdges();return s.forEach(((e,r)=>{const{arrowTypeStart:i,arrowTypeEnd:a}=this.destructEdgeType(e.type),l=[...s.defaultStyle??[]];e.style&&l.push(...e.style);const c={id:(0,o.Ln)(e.start,e.end,{counter:r,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:"invisible"===e?.stroke?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===e?.stroke||"arrow_open"===e?.type?"none":i,arrowTypeEnd:"invisible"===e?.stroke||"arrow_open"===e?.type?"none":a,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:l,style:l,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||t.flowchart?.curve};n.push(c)})),{nodes:e,edges:n,other:{},config:t}}defaultConfig(){return l.Fy.flowchart}},p={getClasses:(0,l.eW)((function(t,e){return e.db.getClasses()}),"getClasses"),draw:(0,l.eW)((async function(t,e,n,r){l.cM.info("REF0:"),l.cM.info("Drawing state diagram (v2)",e);const{securityLevel:s,flowchart:h,layout:u}=(0,l.nV)();let d;"sandbox"===s&&(d=(0,c.Ys)("#i"+e));const p="sandbox"===s?d.nodes()[0].contentDocument:document;l.cM.debug("Before getData: ");const g=r.db.getData();l.cM.debug("Data: ",g);const f=(0,i.q)(e,s),m=r.db.getDirection();g.type=r.type,g.layoutAlgorithm=(0,a._b)(u),"dagre"===g.layoutAlgorithm&&"elk"===u&&l.cM.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),g.direction=m,g.nodeSpacing=h?.nodeSpacing||50,g.rankSpacing=h?.rankSpacing||50,g.markers=["point","circle","cross"],g.diagramId=e,l.cM.debug("REF1:",g),await(0,a.sY)(g,f);const y=g.config.flowchart?.diagramPadding??8;o.w8.insertTitle(f,"flowchartTitleText",h?.titleTopMargin||0,r.db.getDiagramTitle()),(0,i.j)(f,y,"flowchart",h?.useMaxWidth||!1);for(const t of g.nodes){const n=(0,c.Ys)(`#${e} [id="${t.id}"]`);if(!n||!t.link)continue;const r=p.createElementNS("http://www.w3.org/2000/svg","a");r.setAttributeNS("http://www.w3.org/2000/svg","class",t.cssClasses),r.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===s?r.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):t.linkTarget&&r.setAttributeNS("http://www.w3.org/2000/svg","target",t.linkTarget);const i=n.insert((function(){return r}),":first-child"),a=n.select(".label-container");a&&i.append((function(){return a.node()}));const o=n.select(".label");o&&i.append((function(){return o.node()}))}}),"draw")},g=function(){var t=(0,l.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,4],n=[1,3],r=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],a=[2,2],s=[1,13],o=[1,14],c=[1,15],h=[1,16],u=[1,23],d=[1,25],p=[1,26],g=[1,27],f=[1,49],m=[1,48],y=[1,29],v=[1,30],x=[1,31],b=[1,32],w=[1,33],k=[1,44],T=[1,46],_=[1,42],E=[1,47],S=[1,43],C=[1,50],A=[1,45],L=[1,51],M=[1,52],N=[1,34],I=[1,35],R=[1,36],D=[1,37],O=[1,57],P=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],$=[1,61],B=[1,60],F=[1,62],W=[8,9,11,75,77,78],z=[1,78],Z=[1,91],Y=[1,96],U=[1,95],G=[1,92],V=[1,88],q=[1,94],j=[1,90],H=[1,97],X=[1,93],K=[1,98],Q=[1,89],J=[8,9,10,11,40,75,77,78],tt=[8,9,10,11,40,46,75,77,78],et=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],nt=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],rt=[44,60,89,102,105,106,109,111,114,115,116],it=[1,121],at=[1,122],st=[1,124],ot=[1,123],lt=[44,60,62,74,89,102,105,106,109,111,114,115,116],ct=[1,133],ht=[1,147],ut=[1,148],dt=[1,149],pt=[1,150],gt=[1,135],ft=[1,137],mt=[1,141],yt=[1,142],vt=[1,143],xt=[1,144],bt=[1,145],wt=[1,146],kt=[1,151],Tt=[1,152],_t=[1,131],Et=[1,132],St=[1,139],Ct=[1,134],At=[1,138],Lt=[1,136],Mt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],Nt=[1,154],It=[1,156],Rt=[8,9,11],Dt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],Ot=[1,176],Pt=[1,172],$t=[1,173],Bt=[1,177],Ft=[1,174],Wt=[1,175],zt=[77,116,119],Zt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Yt=[10,106],Ut=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Gt=[1,247],Vt=[1,245],qt=[1,249],jt=[1,243],Ht=[1,244],Xt=[1,246],Kt=[1,248],Qt=[1,250],Jt=[1,268],te=[8,9,11,106],ee=[8,9,10,11,60,84,105,106,109,110,111,112],ne={trace:(0,l.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:(0,l.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(a[o])||a[o].length>0)&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=a[o];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(a[o-1]),this.$=a[o-1];break;case 27:this.$=a[o-1].nodes;break;case 33:this.$=r.addSubGraph(a[o-6],a[o-1],a[o-4]);break;case 34:this.$=r.addSubGraph(a[o-3],a[o-1],a[o-3]);break;case 35:this.$=r.addSubGraph(void 0,a[o-1],void 0);break;case 37:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 43:case 133:this.$=a[o-1]+a[o];break;case 45:r.addVertex(a[o-1][a[o-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o]),r.addLink(a[o-3].stmt,a[o-1],a[o-2]),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 46:r.addLink(a[o-2].stmt,a[o],a[o-1]),this.$={stmt:a[o],nodes:a[o].concat(a[o-2].nodes)};break;case 47:r.addLink(a[o-3].stmt,a[o-1],a[o-2]),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 48:this.$={stmt:a[o-1],nodes:a[o-1]};break;case 49:r.addVertex(a[o-1][a[o-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o]),this.$={stmt:a[o-1],nodes:a[o-1],shapeData:a[o]};break;case 50:this.$={stmt:a[o],nodes:a[o]};break;case 51:case 128:case 130:this.$=[a[o]];break;case 52:r.addVertex(a[o-5][a[o-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o-4]),this.$=a[o-5].concat(a[o]);break;case 53:this.$=a[o-4].concat(a[o]);break;case 55:this.$=a[o-2],r.setClass(a[o-2],a[o]);break;case 56:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"square");break;case 57:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"doublecircle");break;case 58:this.$=a[o-5],r.addVertex(a[o-5],a[o-2],"circle");break;case 59:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"ellipse");break;case 60:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"stadium");break;case 61:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"subroutine");break;case 62:this.$=a[o-7],r.addVertex(a[o-7],a[o-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[o-5],a[o-3]]]));break;case 63:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"cylinder");break;case 64:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"round");break;case 65:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"diamond");break;case 66:this.$=a[o-5],r.addVertex(a[o-5],a[o-2],"hexagon");break;case 67:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"odd");break;case 68:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"trapezoid");break;case 69:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"inv_trapezoid");break;case 70:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"lean_right");break;case 71:this.$=a[o-3],r.addVertex(a[o-3],a[o-1],"lean_left");break;case 72:this.$=a[o],r.addVertex(a[o]);break;case 73:a[o-1].text=a[o],this.$=a[o-1];break;case 74:case 75:a[o-2].text=a[o-1],this.$=a[o-2];break;case 77:var l=r.destructLink(a[o],a[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[o-1]};break;case 78:l=r.destructLink(a[o],a[o-2]),this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[o-1],id:a[o-3]};break;case 79:case 86:case 101:case 103:this.$={text:a[o],type:"text"};break;case 80:case 87:case 102:this.$={text:a[o-1].text+""+a[o],type:a[o-1].type};break;case 81:case 88:this.$={text:a[o],type:"string"};break;case 82:case 89:case 104:this.$={text:a[o],type:"markdown"};break;case 83:l=r.destructLink(a[o]),this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 84:l=r.destructLink(a[o]),this.$={type:l.type,stroke:l.stroke,length:l.length,id:a[o-1]};break;case 85:this.$=a[o-1];break;case 105:this.$=a[o-4],r.addClass(a[o-2],a[o]);break;case 106:this.$=a[o-4],r.setClass(a[o-2],a[o]);break;case 107:case 115:this.$=a[o-1],r.setClickEvent(a[o-1],a[o]);break;case 108:case 116:this.$=a[o-3],r.setClickEvent(a[o-3],a[o-2]),r.setTooltip(a[o-3],a[o]);break;case 109:this.$=a[o-2],r.setClickEvent(a[o-2],a[o-1],a[o]);break;case 110:this.$=a[o-4],r.setClickEvent(a[o-4],a[o-3],a[o-2]),r.setTooltip(a[o-4],a[o]);break;case 111:this.$=a[o-2],r.setLink(a[o-2],a[o]);break;case 112:this.$=a[o-4],r.setLink(a[o-4],a[o-2]),r.setTooltip(a[o-4],a[o]);break;case 113:this.$=a[o-4],r.setLink(a[o-4],a[o-2],a[o]);break;case 114:this.$=a[o-6],r.setLink(a[o-6],a[o-4],a[o]),r.setTooltip(a[o-6],a[o-2]);break;case 117:this.$=a[o-1],r.setLink(a[o-1],a[o]);break;case 118:this.$=a[o-3],r.setLink(a[o-3],a[o-2]),r.setTooltip(a[o-3],a[o]);break;case 119:this.$=a[o-3],r.setLink(a[o-3],a[o-2],a[o]);break;case 120:this.$=a[o-5],r.setLink(a[o-5],a[o-4],a[o]),r.setTooltip(a[o-5],a[o-2]);break;case 121:this.$=a[o-4],r.addVertex(a[o-2],void 0,void 0,a[o]);break;case 122:this.$=a[o-4],r.updateLink([a[o-2]],a[o]);break;case 123:this.$=a[o-4],r.updateLink(a[o-2],a[o]);break;case 124:this.$=a[o-8],r.updateLinkInterpolate([a[o-6]],a[o-2]),r.updateLink([a[o-6]],a[o]);break;case 125:this.$=a[o-8],r.updateLinkInterpolate(a[o-6],a[o-2]),r.updateLink(a[o-6],a[o]);break;case 126:this.$=a[o-6],r.updateLinkInterpolate([a[o-4]],a[o]);break;case 127:this.$=a[o-6],r.updateLinkInterpolate(a[o-4],a[o]);break;case 129:case 131:a[o-2].push(a[o]),this.$=a[o-2];break;case 182:case 184:this.$=a[o-1]+""+a[o];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"}}}),"anonymous"),table:[{3:1,4:2,9:e,10:n,12:r},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:n,12:r},{4:8,9:e,10:n,12:r},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:u,33:24,34:d,36:p,38:g,42:28,43:38,44:f,45:39,47:40,60:m,84:y,85:v,86:x,87:b,88:w,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M,121:N,122:I,123:R,124:D},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:O,15:53,18:56},t(P,[2,3]),t(P,[2,4]),t(P,[2,5]),t(P,[2,6]),t(P,[2,7]),t(P,[2,8]),{8:$,9:B,11:F,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:$,9:B,11:F,21:67},{8:$,9:B,11:F,21:68},{8:$,9:B,11:F,21:69},{8:$,9:B,11:F,21:70},{8:$,9:B,11:F,21:71},{8:$,9:B,10:[1,72],11:F,21:73},t(P,[2,36]),{35:[1,74]},{37:[1,75]},t(P,[2,39]),t(W,[2,50],{18:76,39:77,10:O,40:z}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:Z,44:Y,60:U,80:[1,86],89:G,95:[1,83],97:[1,84],101:85,105:V,106:q,109:j,111:H,114:X,115:K,116:Q,120:87},t(P,[2,185]),t(P,[2,186]),t(P,[2,187]),t(P,[2,188]),t(J,[2,51]),t(J,[2,54],{46:[1,99]}),t(tt,[2,72],{113:112,29:[1,100],44:f,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:m,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:k,102:T,105:_,106:E,109:S,111:C,114:A,115:L,116:M}),t(et,[2,181]),t(et,[2,142]),t(et,[2,143]),t(et,[2,144]),t(et,[2,145]),t(et,[2,146]),t(et,[2,147]),t(et,[2,148]),t(et,[2,149]),t(et,[2,150]),t(et,[2,151]),t(et,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,113]},t(nt,[2,26],{18:114,10:O}),t(P,[2,27]),{42:115,43:38,44:f,45:39,47:40,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},t(P,[2,40]),t(P,[2,41]),t(P,[2,42]),t(rt,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:it,81:at,116:st,119:ot},{75:[1,125],77:[1,126]},t(lt,[2,83]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,32]),{10:ct,12:ht,14:ut,27:dt,28:127,32:pt,44:gt,60:ft,75:mt,80:[1,129],81:[1,130],83:140,84:yt,85:vt,86:xt,87:bt,88:wt,89:kt,90:Tt,91:128,105:_t,109:Et,111:St,114:Ct,115:At,116:Lt},t(Mt,a,{5:153}),t(P,[2,37]),t(P,[2,38]),t(W,[2,48],{44:Nt}),t(W,[2,49],{18:155,10:O,40:It}),t(J,[2,44]),{44:f,47:157,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},{102:[1,158],103:159,105:[1,160]},{44:f,47:161,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},{44:f,47:162,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},t(Rt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(Rt,[2,115],{120:167,10:[1,166],14:Z,44:Y,60:U,89:G,105:V,106:q,109:j,111:H,114:X,115:K,116:Q}),t(Rt,[2,117],{10:[1,168]}),t(Dt,[2,183]),t(Dt,[2,170]),t(Dt,[2,171]),t(Dt,[2,172]),t(Dt,[2,173]),t(Dt,[2,174]),t(Dt,[2,175]),t(Dt,[2,176]),t(Dt,[2,177]),t(Dt,[2,178]),t(Dt,[2,179]),t(Dt,[2,180]),{44:f,47:169,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},{30:170,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:178,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:180,50:[1,179],67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:181,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:182,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:183,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{109:[1,184]},{30:185,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:186,65:[1,187],67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:188,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:189,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{30:190,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},t(et,[2,182]),t(i,[2,20]),t(nt,[2,25]),t(W,[2,46],{39:191,18:192,10:O,40:z}),t(rt,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{77:[1,196],79:197,116:st,119:ot},t(zt,[2,79]),t(zt,[2,81]),t(zt,[2,82]),t(zt,[2,168]),t(zt,[2,169]),{76:198,79:120,80:it,81:at,116:st,119:ot},t(lt,[2,84]),{8:$,9:B,10:ct,11:F,12:ht,14:ut,21:200,27:dt,29:[1,199],32:pt,44:gt,60:ft,75:mt,83:140,84:yt,85:vt,86:xt,87:bt,88:wt,89:kt,90:Tt,91:201,105:_t,109:Et,111:St,114:Ct,115:At,116:Lt},t(Zt,[2,101]),t(Zt,[2,103]),t(Zt,[2,104]),t(Zt,[2,157]),t(Zt,[2,158]),t(Zt,[2,159]),t(Zt,[2,160]),t(Zt,[2,161]),t(Zt,[2,162]),t(Zt,[2,163]),t(Zt,[2,164]),t(Zt,[2,165]),t(Zt,[2,166]),t(Zt,[2,167]),t(Zt,[2,90]),t(Zt,[2,91]),t(Zt,[2,92]),t(Zt,[2,93]),t(Zt,[2,94]),t(Zt,[2,95]),t(Zt,[2,96]),t(Zt,[2,97]),t(Zt,[2,98]),t(Zt,[2,99]),t(Zt,[2,100]),{6:11,7:12,8:s,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:u,32:[1,202],33:24,34:d,36:p,38:g,42:28,43:38,44:f,45:39,47:40,60:m,84:y,85:v,86:x,87:b,88:w,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M,121:N,122:I,123:R,124:D},{10:O,18:203},{44:[1,204]},t(J,[2,43]),{10:[1,205],44:f,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:112,114:A,115:L,116:M},{10:[1,206]},{10:[1,207],106:[1,208]},t(Yt,[2,128]),{10:[1,209],44:f,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:112,114:A,115:L,116:M},{10:[1,210],44:f,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:112,114:A,115:L,116:M},{80:[1,211]},t(Rt,[2,109],{10:[1,212]}),t(Rt,[2,111],{10:[1,213]}),{80:[1,214]},t(Dt,[2,184]),{80:[1,215],98:[1,216]},t(J,[2,55],{113:112,44:f,60:m,89:k,102:T,105:_,106:E,109:S,111:C,114:A,115:L,116:M}),{31:[1,217],67:Ot,82:218,116:Bt,117:Ft,118:Wt},t(Ut,[2,86]),t(Ut,[2,88]),t(Ut,[2,89]),t(Ut,[2,153]),t(Ut,[2,154]),t(Ut,[2,155]),t(Ut,[2,156]),{49:[1,219],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{30:220,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{51:[1,221],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{53:[1,222],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{55:[1,223],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{57:[1,224],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{60:[1,225]},{64:[1,226],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{66:[1,227],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{30:228,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},{31:[1,229],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{67:Ot,69:[1,230],71:[1,231],82:218,116:Bt,117:Ft,118:Wt},{67:Ot,69:[1,233],71:[1,232],82:218,116:Bt,117:Ft,118:Wt},t(W,[2,45],{18:155,10:O,40:It}),t(W,[2,47],{44:Nt}),t(rt,[2,75]),t(rt,[2,74]),{62:[1,234],67:Ot,82:218,116:Bt,117:Ft,118:Wt},t(rt,[2,77]),t(zt,[2,80]),{77:[1,235],79:197,116:st,119:ot},{30:236,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},t(Mt,a,{5:237}),t(Zt,[2,102]),t(P,[2,35]),{43:238,44:f,45:39,47:40,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},{10:O,18:239},{10:Gt,60:Vt,84:qt,92:240,105:jt,107:241,108:242,109:Ht,110:Xt,111:Kt,112:Qt},{10:Gt,60:Vt,84:qt,92:251,104:[1,252],105:jt,107:241,108:242,109:Ht,110:Xt,111:Kt,112:Qt},{10:Gt,60:Vt,84:qt,92:253,104:[1,254],105:jt,107:241,108:242,109:Ht,110:Xt,111:Kt,112:Qt},{105:[1,255]},{10:Gt,60:Vt,84:qt,92:256,105:jt,107:241,108:242,109:Ht,110:Xt,111:Kt,112:Qt},{44:f,47:257,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},t(Rt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(Rt,[2,116]),t(Rt,[2,118],{10:[1,261]}),t(Rt,[2,119]),t(tt,[2,56]),t(Ut,[2,87]),t(tt,[2,57]),{51:[1,262],67:Ot,82:218,116:Bt,117:Ft,118:Wt},t(tt,[2,64]),t(tt,[2,59]),t(tt,[2,60]),t(tt,[2,61]),{109:[1,263]},t(tt,[2,63]),t(tt,[2,65]),{66:[1,264],67:Ot,82:218,116:Bt,117:Ft,118:Wt},t(tt,[2,67]),t(tt,[2,68]),t(tt,[2,70]),t(tt,[2,69]),t(tt,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(rt,[2,78]),{31:[1,265],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{6:11,7:12,8:s,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:u,32:[1,266],33:24,34:d,36:p,38:g,42:28,43:38,44:f,45:39,47:40,60:m,84:y,85:v,86:x,87:b,88:w,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M,121:N,122:I,123:R,124:D},t(J,[2,53]),{43:267,44:f,45:39,47:40,60:m,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M},t(Rt,[2,121],{106:Jt}),t(te,[2,130],{108:269,10:Gt,60:Vt,84:qt,105:jt,109:Ht,110:Xt,111:Kt,112:Qt}),t(ee,[2,132]),t(ee,[2,134]),t(ee,[2,135]),t(ee,[2,136]),t(ee,[2,137]),t(ee,[2,138]),t(ee,[2,139]),t(ee,[2,140]),t(ee,[2,141]),t(Rt,[2,122],{106:Jt}),{10:[1,270]},t(Rt,[2,123],{106:Jt}),{10:[1,271]},t(Yt,[2,129]),t(Rt,[2,105],{106:Jt}),t(Rt,[2,106],{113:112,44:f,60:m,89:k,102:T,105:_,106:E,109:S,111:C,114:A,115:L,116:M}),t(Rt,[2,110]),t(Rt,[2,112],{10:[1,272]}),t(Rt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:$,9:B,11:F,21:277},t(P,[2,34]),t(J,[2,52]),{10:Gt,60:Vt,84:qt,105:jt,107:278,108:242,109:Ht,110:Xt,111:Kt,112:Qt},t(ee,[2,133]),{14:Z,44:Y,60:U,89:G,101:279,105:V,106:q,109:j,111:H,114:X,115:K,116:Q,120:87},{14:Z,44:Y,60:U,89:G,101:280,105:V,106:q,109:j,111:H,114:X,115:K,116:Q,120:87},{98:[1,281]},t(Rt,[2,120]),t(tt,[2,58]),{30:282,67:Ot,80:Pt,81:$t,82:171,116:Bt,117:Ft,118:Wt},t(tt,[2,66]),t(Mt,a,{5:283}),t(te,[2,131],{108:269,10:Gt,60:Vt,84:qt,105:jt,109:Ht,110:Xt,111:Kt,112:Qt}),t(Rt,[2,126],{120:167,10:[1,284],14:Z,44:Y,60:U,89:G,105:V,106:q,109:j,111:H,114:X,115:K,116:Q}),t(Rt,[2,127],{120:167,10:[1,285],14:Z,44:Y,60:U,89:G,105:V,106:q,109:j,111:H,114:X,115:K,116:Q}),t(Rt,[2,114]),{31:[1,286],67:Ot,82:218,116:Bt,117:Ft,118:Wt},{6:11,7:12,8:s,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:u,32:[1,287],33:24,34:d,36:p,38:g,42:28,43:38,44:f,45:39,47:40,60:m,84:y,85:v,86:x,87:b,88:w,89:k,102:T,105:_,106:E,109:S,111:C,113:41,114:A,115:L,116:M,121:N,122:I,123:R,124:D},{10:Gt,60:Vt,84:qt,92:288,105:jt,107:241,108:242,109:Ht,110:Xt,111:Kt,112:Qt},{10:Gt,60:Vt,84:qt,92:289,105:jt,107:241,108:242,109:Ht,110:Xt,111:Kt,112:Qt},t(tt,[2,62]),t(P,[2,33]),t(Rt,[2,124],{106:Jt}),t(Rt,[2,125],{106:Jt})],defaultActions:{},parseError:(0,l.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,l.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],s=this.table,o="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,l.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=s[w]&&s[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],s[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[o,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=s[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},re=function(){return{EOF:1,parseError:(0,l.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,l.eW)((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}),"setInput"),input:(0,l.eW)((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}),"input"),unput:(0,l.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,l.eW)((function(){return this._more=!0,this}),"more"),reject:(0,l.eW)((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})}),"reject"),less:(0,l.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,l.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,l.eW)((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,"")}),"upcomingInput"),showPosition:(0,l.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,l.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,l.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,l.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,l.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,l.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,l.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,l.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,l.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,l.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,l.eW)((function(t,e,n,r){switch(n){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const n=/\n\s*/g;return e.yytext=e.yytext.replace(n,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:return t.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:case 102:return 111;case 62:return 46;case 63:return 60;case 64:case 103:return 44;case 65:return 8;case 66:return 106;case 67:case 101:return 115;case 68:case 71:case 74:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:case 73:case 76:return 119;case 72:return this.pushState("thickEdgeText"),75;case 75:return this.pushState("dottedEdgeText"),75;case 77:return 77;case 78:return this.popState(),53;case 79:case 115:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}}}();function ie(){this.yy={}}return ne.lexer=re,(0,l.eW)(ie,"Parser"),ie.prototype=ne,ne.Parser=ie,new ie}();g.parser=g;var f=g,m=Object.assign({},f);m.parse=t=>{const e=t.replace(/}\s*\n/g,"}\n");return f.parse(e)};var y=m,v=(0,l.eW)(((t,e)=>{const n=h.Z,r=n(t,"r"),i=n(t,"g"),a=n(t,"b");return u.Z(r,i,a,e)}),"fade"),x={parser:y,get db(){return new d},renderer:p,styles:(0,l.eW)((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${t.lineColor} !important;\n stroke-width: 0;\n stroke: ${t.lineColor};\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${v(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n padding: 2px;\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n`),"getStyles"),init:(0,l.eW)((t=>{t.flowchart||(t.flowchart={}),t.layout&&(0,l.Y4)({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,l.Y4)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})}),"init")}},4748:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>Dt});var r=n(7946),i=n(4082),a=n(7967),s=n(7484),o=n(9542),l=n(285),c=n(8734),h=n(3108),u=function(){var t=(0,i.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],a=[1,28],s=[1,29],o=[1,30],l=[1,31],c=[1,32],h=[1,33],u=[1,34],d=[1,9],p=[1,10],g=[1,11],f=[1,12],m=[1,13],y=[1,14],v=[1,15],x=[1,16],b=[1,19],w=[1,20],k=[1,21],T=[1,22],_=[1,23],E=[1,25],S=[1,35],C={trace:(0,i.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:(0,i.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 1:return a[o-1];case 2:case 6:case 7:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 8:r.setWeekday("monday");break;case 9:r.setWeekday("tuesday");break;case 10:r.setWeekday("wednesday");break;case 11:r.setWeekday("thursday");break;case 12:r.setWeekday("friday");break;case 13:r.setWeekday("saturday");break;case 14:r.setWeekday("sunday");break;case 15:r.setWeekend("friday");break;case 16:r.setWeekend("saturday");break;case 17:r.setDateFormat(a[o].substr(11)),this.$=a[o].substr(11);break;case 18:r.enableInclusiveEndDates(),this.$=a[o].substr(18);break;case 19:r.TopAxis(),this.$=a[o].substr(8);break;case 20:r.setAxisFormat(a[o].substr(11)),this.$=a[o].substr(11);break;case 21:r.setTickInterval(a[o].substr(13)),this.$=a[o].substr(13);break;case 22:r.setExcludes(a[o].substr(9)),this.$=a[o].substr(9);break;case 23:r.setIncludes(a[o].substr(9)),this.$=a[o].substr(9);break;case 24:r.setTodayMarker(a[o].substr(12)),this.$=a[o].substr(12);break;case 27:r.setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 28:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 29:case 30:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 31:r.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 33:r.addTask(a[o-1],a[o]),this.$="task";break;case 34:this.$=a[o-1],r.setClickEvent(a[o-1],a[o],null);break;case 35:this.$=a[o-2],r.setClickEvent(a[o-2],a[o-1],a[o]);break;case 36:this.$=a[o-2],r.setClickEvent(a[o-2],a[o-1],null),r.setLink(a[o-2],a[o]);break;case 37:this.$=a[o-3],r.setClickEvent(a[o-3],a[o-2],a[o-1]),r.setLink(a[o-3],a[o]);break;case 38:this.$=a[o-2],r.setClickEvent(a[o-2],a[o],null),r.setLink(a[o-2],a[o-1]);break;case 39:this.$=a[o-3],r.setClickEvent(a[o-3],a[o-1],a[o]),r.setLink(a[o-3],a[o-2]);break;case 40:this.$=a[o-1],r.setLink(a[o-1],a[o]);break;case 41:case 47:this.$=a[o-1]+" "+a[o];break;case 42:case 43:case 45:this.$=a[o-2]+" "+a[o-1]+" "+a[o];break;case 44:case 46:this.$=a[o-3]+" "+a[o-2]+" "+a[o-1]+" "+a[o]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:a,15:s,16:o,17:l,18:c,19:18,20:h,21:u,22:d,23:p,24:g,25:f,26:m,27:y,28:v,29:x,30:b,31:w,33:k,35:T,36:_,37:24,38:E,40:S},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:a,15:s,16:o,17:l,18:c,19:18,20:h,21:u,22:d,23:p,24:g,25:f,26:m,27:y,28:v,29:x,30:b,31:w,33:k,35:T,36:_,37:24,38:E,40:S},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:(0,i.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,i.eW)((function(t){var e=this,n=[0],r=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=s.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;s.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.eW)((function(t){n.length=n.length-2*t,a.length=a.length-t,s.length=s.length-t}),"popStack"),(0,i.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),a.push(p.yytext),s.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=a[a.length-E],A._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},y&&(A._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],a,s].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),a=a.slice(0,-1*E),s=s.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),a.push(A.$),s.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},A=function(){return{EOF:1,parseError:(0,i.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,i.eW)((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}),"setInput"),input:(0,i.eW)((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}),"input"),unput:(0,i.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,i.eW)((function(){return this._more=!0,this}),"more"),reject:(0,i.eW)((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})}),"reject"),less:(0,i.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,i.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,i.eW)((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,"")}),"upcomingInput"),showPosition:(0,i.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,i.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,i.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,i.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,i.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,i.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,i.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,i.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,i.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,i.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.eW)((function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}}),"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}}}();function L(){this.yy={}}return C.lexer=A,(0,i.eW)(L,"Parser"),L.prototype=C,C.Parser=L,new L}();u.parser=u;var d=u;s.extend(o),s.extend(l),s.extend(c);var p,g,f={friday:5,saturday:6},m="",y="",v=void 0,x="",b=[],w=[],k=new Map,T=[],_=[],E="",S="",C=["active","done","crit","milestone"],A=[],L=!1,M=!1,N="sunday",I="saturday",R=0,D=(0,i.eW)((function(){T=[],_=[],E="",A=[],dt=0,p=void 0,g=void 0,mt=[],m="",y="",S="",v=void 0,x="",b=[],w=[],L=!1,M=!1,R=0,k=new Map,(0,i.ZH)(),N="sunday",I="saturday"}),"clear"),O=(0,i.eW)((function(t){y=t}),"setAxisFormat"),P=(0,i.eW)((function(){return y}),"getAxisFormat"),$=(0,i.eW)((function(t){v=t}),"setTickInterval"),B=(0,i.eW)((function(){return v}),"getTickInterval"),F=(0,i.eW)((function(t){x=t}),"setTodayMarker"),W=(0,i.eW)((function(){return x}),"getTodayMarker"),z=(0,i.eW)((function(t){m=t}),"setDateFormat"),Z=(0,i.eW)((function(){L=!0}),"enableInclusiveEndDates"),Y=(0,i.eW)((function(){return L}),"endDatesAreInclusive"),U=(0,i.eW)((function(){M=!0}),"enableTopAxis"),G=(0,i.eW)((function(){return M}),"topAxisEnabled"),V=(0,i.eW)((function(t){S=t}),"setDisplayMode"),q=(0,i.eW)((function(){return S}),"getDisplayMode"),j=(0,i.eW)((function(){return m}),"getDateFormat"),H=(0,i.eW)((function(t){b=t.toLowerCase().split(/[\s,]+/)}),"setIncludes"),X=(0,i.eW)((function(){return b}),"getIncludes"),K=(0,i.eW)((function(t){w=t.toLowerCase().split(/[\s,]+/)}),"setExcludes"),Q=(0,i.eW)((function(){return w}),"getExcludes"),J=(0,i.eW)((function(){return k}),"getLinks"),tt=(0,i.eW)((function(t){E=t,T.push(t)}),"addSection"),et=(0,i.eW)((function(){return T}),"getSections"),nt=(0,i.eW)((function(){let t=wt(),e=0;for(;!t&&e<10;)t=wt(),e++;return _=mt}),"getTasks"),rt=(0,i.eW)((function(t,e,n,r){return!r.includes(t.format(e.trim()))&&(!(!n.includes("weekends")||t.isoWeekday()!==f[I]&&t.isoWeekday()!==f[I]+1)||!!n.includes(t.format("dddd").toLowerCase())||n.includes(t.format(e.trim())))}),"isInvalidDate"),it=(0,i.eW)((function(t){N=t}),"setWeekday"),at=(0,i.eW)((function(){return N}),"getWeekday"),st=(0,i.eW)((function(t){I=t}),"setWeekend"),ot=(0,i.eW)((function(t,e,n,r){if(!n.length||t.manualEndTime)return;let i,a;i=t.startTime instanceof Date?s(t.startTime):s(t.startTime,e,!0),i=i.add(1,"d"),a=t.endTime instanceof Date?s(t.endTime):s(t.endTime,e,!0);const[o,l]=lt(i,a,e,n,r);t.endTime=o.toDate(),t.renderEndTime=l}),"checkTaskDates"),lt=(0,i.eW)((function(t,e,n,r,i){let a=!1,s=null;for(;t<=e;)a||(s=e.toDate()),a=rt(t,n,r,i),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,s]}),"fixTaskDates"),ct=(0,i.eW)((function(t,e,n){n=n.trim();const r=/^after\s+(?<ids>[\d\w- ]+)/.exec(n);if(null!==r){let t=null;for(const e of r.groups.ids.split(" ")){let n=xt(e);void 0!==n&&(!t||n.endTime>t.endTime)&&(t=n)}if(t)return t.endTime;const e=new Date;return e.setHours(0,0,0,0),e}let a=s(n,e.trim(),!0);if(a.isValid())return a.toDate();{i.cM.debug("Invalid date:"+n),i.cM.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}}),"getStartDate"),ht=(0,i.eW)((function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]}),"parseDuration"),ut=(0,i.eW)((function(t,e,n,r=!1){n=n.trim();const i=/^until\s+(?<ids>[\d\w- ]+)/.exec(n);if(null!==i){let t=null;for(const e of i.groups.ids.split(" ")){let n=xt(e);void 0!==n&&(!t||n.startTime<t.startTime)&&(t=n)}if(t)return t.startTime;const e=new Date;return e.setHours(0,0,0,0),e}let a=s(n,e.trim(),!0);if(a.isValid())return r&&(a=a.add(1,"d")),a.toDate();let o=s(t);const[l,c]=ht(n);if(!Number.isNaN(l)){const t=o.add(l,c);t.isValid()&&(o=t)}return o.toDate()}),"getEndDate"),dt=0,pt=(0,i.eW)((function(t){return void 0===t?"task"+(dt+=1):t}),"parseId"),gt=(0,i.eW)((function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const r=n.split(","),i={};Lt(r,i,C);for(let t=0;t<r.length;t++)r[t]=r[t].trim();let a="";switch(r.length){case 1:i.id=pt(),i.startTime=t.endTime,a=r[0];break;case 2:i.id=pt(),i.startTime=ct(void 0,m,r[0]),a=r[1];break;case 3:i.id=pt(r[0]),i.startTime=ct(void 0,m,r[1]),a=r[2]}return a&&(i.endTime=ut(i.startTime,m,a,L),i.manualEndTime=s(a,"YYYY-MM-DD",!0).isValid(),ot(i,m,w,b)),i}),"compileData"),ft=(0,i.eW)((function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const r=n.split(","),i={};Lt(r,i,C);for(let t=0;t<r.length;t++)r[t]=r[t].trim();switch(r.length){case 1:i.id=pt(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:r[0]};break;case 2:i.id=pt(),i.startTime={type:"getStartDate",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=pt(r[0]),i.startTime={type:"getStartDate",startData:r[1]},i.endTime={data:r[2]}}return i}),"parseData"),mt=[],yt={},vt=(0,i.eW)((function(t,e){const n={section:E,type:E,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=ft(g,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=g,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.order=R,R++;const i=mt.push(n);g=n.id,yt[n.id]=i-1}),"addTask"),xt=(0,i.eW)((function(t){const e=yt[t];return mt[e]}),"findTaskById"),bt=(0,i.eW)((function(t,e){const n={section:E,type:E,description:t,task:t,classes:[]},r=gt(p,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,p=n,_.push(n)}),"addTaskOrg"),wt=(0,i.eW)((function(){const t=(0,i.eW)((function(t){const e=mt[t];let n="";switch(mt[t].raw.startTime.type){case"prevTaskEnd":{const t=xt(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":n=ct(void 0,m,mt[t].raw.startTime.startData),n&&(mt[t].startTime=n)}return mt[t].startTime&&(mt[t].endTime=ut(mt[t].startTime,m,mt[t].raw.endTime.data,L),mt[t].endTime&&(mt[t].processed=!0,mt[t].manualEndTime=s(mt[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),ot(mt[t],m,w,b))),mt[t].processed}),"compileTask");let e=!0;for(const[n,r]of mt.entries())t(n),e=e&&r.processed;return e}),"compileTasks"),kt=(0,i.eW)((function(t,e){let n=e;"loose"!==(0,i.nV)().securityLevel&&(n=(0,a.N)(e)),t.split(",").forEach((function(t){void 0!==xt(t)&&(Et(t,(()=>{window.open(n,"_self")})),k.set(t,n))})),Tt(t,"clickable")}),"setLink"),Tt=(0,i.eW)((function(t,e){t.split(",").forEach((function(t){let n=xt(t);void 0!==n&&n.classes.push(e)}))}),"setClass"),_t=(0,i.eW)((function(t,e,n){if("loose"!==(0,i.nV)().securityLevel)return;if(void 0===e)return;let a=[];if("string"==typeof n){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<a.length;t++){let e=a[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),a[t]=e}}0===a.length&&a.push(t),void 0!==xt(t)&&Et(t,(()=>{r.w8.runFunc(e,...a)}))}),"setClickFun"),Et=(0,i.eW)((function(t,e){A.push((function(){const n=document.querySelector(`[id="${t}"]`);null!==n&&n.addEventListener("click",(function(){e()}))}),(function(){const n=document.querySelector(`[id="${t}-text"]`);null!==n&&n.addEventListener("click",(function(){e()}))}))}),"pushFun"),St=(0,i.eW)((function(t,e,n){t.split(",").forEach((function(t){_t(t,e,n)})),Tt(t,"clickable")}),"setClickEvent"),Ct=(0,i.eW)((function(t){A.forEach((function(e){e(t)}))}),"bindFunctions"),At={getConfig:(0,i.eW)((()=>(0,i.nV)().gantt),"getConfig"),clear:D,setDateFormat:z,getDateFormat:j,enableInclusiveEndDates:Z,endDatesAreInclusive:Y,enableTopAxis:U,topAxisEnabled:G,setAxisFormat:O,getAxisFormat:P,setTickInterval:$,getTickInterval:B,setTodayMarker:F,getTodayMarker:W,setAccTitle:i.GN,getAccTitle:i.eu,setDiagramTitle:i.g2,getDiagramTitle:i.Kr,setDisplayMode:V,getDisplayMode:q,setAccDescription:i.U$,getAccDescription:i.Mx,addSection:tt,getSections:et,getTasks:nt,addTask:vt,findTaskById:xt,addTaskOrg:bt,setIncludes:H,getIncludes:X,setExcludes:K,getExcludes:Q,setClickEvent:St,setLink:kt,getLinks:J,bindFunctions:Ct,parseDuration:ht,isInvalidDate:rt,setWeekday:it,getWeekday:at,setWeekend:st};function Lt(t,e,n){let r=!0;for(;r;)r=!1,n.forEach((function(n){const i=new RegExp("^\\s*"+n+"\\s*$");t[0].match(i)&&(e[n]=!0,t.shift(1),r=!0)}))}(0,i.eW)(Lt,"getTaskTags");var Mt,Nt=(0,i.eW)((function(){i.cM.debug("Something is calling, setConf, remove the call")}),"setConf"),It={monday:h.Ox9,tuesday:h.YDX,wednesday:h.EFj,thursday:h.Igq,friday:h.y2j,saturday:h.LqH,sunday:h.Zyz},Rt=(0,i.eW)(((t,e)=>{let n=[...t].map((()=>-1/0)),r=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),i=0;for(const t of r)for(let r=0;r<n.length;r++)if(t.startTime>=n[r]){n[r]=t.endTime,t.order=r+e,r>i&&(i=r);break}return i}),"getMaxIntersections"),Dt={parser:d,db:At,renderer:{setConf:Nt,draw:(0,i.eW)((function(t,e,n,r){const a=(0,i.nV)().gantt,o=(0,i.nV)().securityLevel;let l;"sandbox"===o&&(l=(0,h.Ys)("#i"+e));const c="sandbox"===o?(0,h.Ys)(l.nodes()[0].contentDocument.body):(0,h.Ys)("body"),u="sandbox"===o?l.nodes()[0].contentDocument:document,d=u.getElementById(e);void 0===(Mt=d.parentElement.offsetWidth)&&(Mt=1200),void 0!==a.useWidth&&(Mt=a.useWidth);const p=r.db.getTasks();let g=[];for(const t of p)g.push(t.type);g=S(g);const f={};let m=2*a.topPadding;if("compact"===r.db.getDisplayMode()||"compact"===a.displayMode){const t={};for(const e of p)void 0===t[e.section]?t[e.section]=[e]:t[e.section].push(e);let e=0;for(const n of Object.keys(t)){const r=Rt(t[n],e)+1;e+=r,m+=r*(a.barHeight+a.barGap),f[n]=r}}else{m+=p.length*(a.barHeight+a.barGap);for(const t of g)f[t]=p.filter((e=>e.type===t)).length}d.setAttribute("viewBox","0 0 "+Mt+" "+m);const y=c.select(`[id="${e}"]`),v=(0,h.Xf)().domain([(0,h.VV$)(p,(function(t){return t.startTime})),(0,h.Fp7)(p,(function(t){return t.endTime}))]).rangeRound([0,Mt-a.leftPadding-a.rightPadding]);function x(t,e){const n=t.startTime,r=e.startTime;let i=0;return n>r?i=1:n<r&&(i=-1),i}function b(t,e,n){const i=a.barHeight,s=i+a.barGap,o=a.topPadding,l=a.leftPadding;(0,h.BYU)().domain([0,g.length]).range(["#00B9FA","#F95002"]).interpolate(h.JHv);k(s,o,l,0,n,t,r.db.getExcludes(),r.db.getIncludes()),T(l,o,0,n),w(t,s,o,l,i,0,e),_(s,o),E(l,0,0,n)}function w(t,n,s,o,l,c,u){const d=[...new Set(t.map((t=>t.order)))].map((e=>t.find((t=>t.order===e))));y.append("g").selectAll("rect").data(d).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*n+s-2})).attr("width",(function(){return u-a.rightPadding/2})).attr("height",n).attr("class",(function(t){for(const[e,n]of g.entries())if(t.type===n)return"section section"+e%a.numberSectionStyles;return"section section0"}));const p=y.append("g").selectAll("rect").data(t).enter(),f=r.db.getLinks();if(p.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?v(t.startTime)+o+.5*(v(t.endTime)-v(t.startTime))-.5*l:v(t.startTime)+o})).attr("y",(function(t,e){return t.order*n+s})).attr("width",(function(t){return t.milestone?l:v(t.renderEndTime||t.endTime)-v(t.startTime)})).attr("height",l).attr("transform-origin",(function(t,e){return e=t.order,(v(t.startTime)+o+.5*(v(t.endTime)-v(t.startTime))).toString()+"px "+(e*n+s+.5*l).toString()+"px"})).attr("class",(function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let n=0;for(const[e,r]of g.entries())t.type===r&&(n=e%a.numberSectionStyles);let r="";return t.active?t.crit?r+=" activeCrit":r=" active":t.done?r=t.crit?" doneCrit":" done":t.crit&&(r+=" crit"),0===r.length&&(r=" task"),t.milestone&&(r=" milestone "+r),r+=n,r+=" "+e,"task"+r})),p.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",a.fontSize).attr("x",(function(t){let e=v(t.startTime),n=v(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(v(t.endTime)-v(t.startTime))-.5*l),t.milestone&&(n=e+l);const r=this.getBBox().width;return r>n-e?n+r+1.5*a.leftPadding>u?e+o-5:n+o+5:(n-e)/2+e+o})).attr("y",(function(t,e){return t.order*n+a.barHeight/2+(a.fontSize/2-2)+s})).attr("text-height",l).attr("class",(function(t){const e=v(t.startTime);let n=v(t.endTime);t.milestone&&(n=e+l);const r=this.getBBox().width;let i="";t.classes.length>0&&(i=t.classes.join(" "));let s=0;for(const[e,n]of g.entries())t.type===n&&(s=e%a.numberSectionStyles);let o="";return t.active&&(o=t.crit?"activeCritText"+s:"activeText"+s),t.done?o=t.crit?o+" doneCritText"+s:o+" doneText"+s:t.crit&&(o=o+" critText"+s),t.milestone&&(o+=" milestoneText"),r>n-e?n+r+1.5*a.leftPadding>u?i+" taskTextOutsideLeft taskTextOutside"+s+" "+o:i+" taskTextOutsideRight taskTextOutside"+s+" "+o+" width-"+r:i+" taskText taskText"+s+" "+o+" width-"+r})),"sandbox"===(0,i.nV)().securityLevel){let t;t=(0,h.Ys)("#i"+e);const n=t.nodes()[0].contentDocument;p.filter((function(t){return f.has(t.id)})).each((function(t){var e=n.querySelector("#"+t.id),r=n.querySelector("#"+t.id+"-text");const i=e.parentNode;var a=n.createElement("a");a.setAttribute("xlink:href",f.get(t.id)),a.setAttribute("target","_top"),i.appendChild(a),a.appendChild(e),a.appendChild(r)}))}}function k(t,e,n,o,l,c,h,u){if(0===h.length&&0===u.length)return;let d,p;for(const{startTime:t,endTime:e}of c)(void 0===d||t<d)&&(d=t),(void 0===p||e>p)&&(p=e);if(!d||!p)return;if(s(p).diff(s(d),"year")>5)return void i.cM.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const g=r.db.getDateFormat(),f=[];let m=null,x=s(d);for(;x.valueOf()<=p;)r.db.isInvalidDate(x,g,h,u)?m?m.end=x:m={start:x,end:x}:m&&(f.push(m),m=null),x=x.add(1,"d");y.append("g").selectAll("rect").data(f).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return v(t.start)+n})).attr("y",a.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return v(e)-v(t.start)})).attr("height",l-e-a.gridLineStartPadding).attr("transform-origin",(function(e,r){return(v(e.start)+n+.5*(v(e.end)-v(e.start))).toString()+"px "+(r*t+.5*l).toString()+"px"})).attr("class","exclude-range")}function T(t,e,n,i){let s=(0,h.LLu)(v).tickSize(-i+e+a.gridLineStartPadding).tickFormat((0,h.i$Z)(r.db.getAxisFormat()||a.axisFormat||"%Y-%m-%d"));const o=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||a.tickInterval);if(null!==o){const t=o[1],e=o[2],n=r.db.getWeekday()||a.weekday;switch(e){case"millisecond":s.ticks(h.U8T.every(t));break;case"second":s.ticks(h.S1K.every(t));break;case"minute":s.ticks(h.Z_i.every(t));break;case"hour":s.ticks(h.WQD.every(t));break;case"day":s.ticks(h.rr1.every(t));break;case"week":s.ticks(It[n].every(t));break;case"month":s.ticks(h.F0B.every(t))}}if(y.append("g").attr("class","grid").attr("transform","translate("+t+", "+(i-50)+")").call(s).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||a.topAxis){let n=(0,h.F5q)(v).tickSize(-i+e+a.gridLineStartPadding).tickFormat((0,h.i$Z)(r.db.getAxisFormat()||a.axisFormat||"%Y-%m-%d"));if(null!==o){const t=o[1],e=o[2],i=r.db.getWeekday()||a.weekday;switch(e){case"millisecond":n.ticks(h.U8T.every(t));break;case"second":n.ticks(h.S1K.every(t));break;case"minute":n.ticks(h.Z_i.every(t));break;case"hour":n.ticks(h.WQD.every(t));break;case"day":n.ticks(h.rr1.every(t));break;case"week":n.ticks(It[i].every(t));break;case"month":n.ticks(h.F0B.every(t))}}y.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function _(t,e){let n=0;const r=Object.keys(f).map((t=>[t,f[t]]));y.append("g").selectAll("text").data(r).enter().append((function(t){const e=t[0].split(i.SY.lineBreakRegex),n=-(e.length-1)/2,r=u.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("dy",n+"em");for(const[t,n]of e.entries()){const e=u.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,r.appendChild(e)}return r})).attr("x",10).attr("y",(function(i,a){if(!(a>0))return i[1]*t/2+e;for(let s=0;s<a;s++)return n+=r[a-1][1],i[1]*t/2+n*t+e})).attr("font-size",a.sectionFontSize).attr("class",(function(t){for(const[e,n]of g.entries())if(t[0]===n)return"sectionTitle sectionTitle"+e%a.numberSectionStyles;return"sectionTitle"}))}function E(t,e,n,i){const s=r.db.getTodayMarker();if("off"===s)return;const o=y.append("g").attr("class","today"),l=new Date,c=o.append("line");c.attr("x1",v(l)+t).attr("x2",v(l)+t).attr("y1",a.titleTopMargin).attr("y2",i-a.titleTopMargin).attr("class","today"),""!==s&&c.attr("style",s.replace(/,/g,";"))}function S(t){const e={},n=[];for(let r=0,i=t.length;r<i;++r)Object.prototype.hasOwnProperty.call(e,t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(0,i.eW)(x,"taskCompare"),p.sort(x),b(p,Mt,m),(0,i.v2)(y,m,Mt,a.useMaxWidth),y.append("text").text(r.db.getDiagramTitle()).attr("x",Mt/2).attr("y",a.titleTopMargin).attr("class","titleText"),(0,i.eW)(b,"makeGantt"),(0,i.eW)(w,"drawRects"),(0,i.eW)(k,"drawExcludeDays"),(0,i.eW)(T,"makeGrid"),(0,i.eW)(_,"vertLabels"),(0,i.eW)(E,"drawToday"),(0,i.eW)(S,"checkUnique")}),"draw")},styles:(0,i.eW)((t=>`\n .mermaid-main-font {\n font-family: ${t.fontFamily};\n }\n\n .exclude-range {\n fill: ${t.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${t.sectionBkgColor};\n }\n\n .section2 {\n fill: ${t.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${t.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: ${t.fontFamily};\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${t.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: ${t.fontFamily};\n }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n font-family: ${t.fontFamily};\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${t.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${t.taskBkgColor};\n stroke: ${t.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${t.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${t.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${t.activeTaskBkgColor};\n stroke: ${t.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${t.doneTaskBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.titleColor||t.textColor};\n font-family: ${t.fontFamily};\n }\n`),"getStyles")}},4290:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>vt});var r=n(1957),i=n(7207),a=n(7946),s=n(4082),o=n(2491),l=n(3108),c={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},h=s.vZ.gitGraph,u=(0,s.eW)((()=>(0,a.Rb)({...h,...(0,s.iE)().gitGraph})),"getConfig"),d=new i.A((()=>{const t=u(),e=t.mainBranchName,n=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:n}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}}));function p(){return(0,a.MX)({length:7})}function g(t,e){const n=Object.create(null);return t.reduce(((t,r)=>{const i=e(r);return n[i]||(n[i]=!0,t.push(r)),t}),[])}(0,s.eW)(p,"getID"),(0,s.eW)(g,"uniqBy");var f=(0,s.eW)((function(t){d.records.direction=t}),"setDirection"),m=(0,s.eW)((function(t){s.cM.debug("options str",t),t=t?.trim(),t=t||"{}";try{d.records.options=JSON.parse(t)}catch(t){s.cM.error("error while parsing gitGraph options",t.message)}}),"setOptions"),y=(0,s.eW)((function(){return d.records.options}),"getOptions"),v=(0,s.eW)((function(t){let e=t.msg,n=t.id;const r=t.type;let i=t.tags;s.cM.info("commit",e,n,r,i),s.cM.debug("Entering commit:",e,n,r,i);const a=u();n=s.SY.sanitizeText(n,a),e=s.SY.sanitizeText(e,a),i=i?.map((t=>s.SY.sanitizeText(t,a)));const o={id:n||d.records.seq+"-"+p(),message:e,seq:d.records.seq++,type:r??c.NORMAL,tags:i??[],parents:null==d.records.head?[]:[d.records.head.id],branch:d.records.currBranch};d.records.head=o,s.cM.info("main branch",a.mainBranchName),d.records.commits.set(o.id,o),d.records.branches.set(d.records.currBranch,o.id),s.cM.debug("in pushCommit "+o.id)}),"commit"),x=(0,s.eW)((function(t){let e=t.name;const n=t.order;if(e=s.SY.sanitizeText(e,u()),d.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);d.records.branches.set(e,null!=d.records.head?d.records.head.id:null),d.records.branchConfig.set(e,{name:e,order:n}),k(e),s.cM.debug("in createBranch")}),"branch"),b=(0,s.eW)((t=>{let e=t.branch,n=t.id;const r=t.type,i=t.tags,a=u();e=s.SY.sanitizeText(e,a),n&&(n=s.SY.sanitizeText(n,a));const o=d.records.branches.get(d.records.currBranch),l=d.records.branches.get(e),h=o?d.records.commits.get(o):void 0,g=l?d.records.commits.get(l):void 0;if(h&&g&&h.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(d.records.currBranch===e){const t=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(void 0===h||!h){const t=new Error(`Incorrect usage of "merge". Current branch (${d.records.currBranch})has no commits`);throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},t}if(!d.records.branches.has(e)){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},t}if(void 0===g||!g){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},t}if(h===g){const t=new Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(n&&d.records.commits.has(n)){const t=new Error('Incorrect usage of "merge". Commit with id:'+n+" already exists, use different custom Id");throw t.hash={text:`merge ${e} ${n} ${r} ${i?.join(" ")}`,token:`merge ${e} ${n} ${r} ${i?.join(" ")}`,expected:[`merge ${e} ${n}_UNIQUE ${r} ${i?.join(" ")}`]},t}const f=l||"",m={id:n||`${d.records.seq}-${p()}`,message:`merged branch ${e} into ${d.records.currBranch}`,seq:d.records.seq++,parents:null==d.records.head?[]:[d.records.head.id,f],branch:d.records.currBranch,type:c.MERGE,customType:r,customId:!!n,tags:i??[]};d.records.head=m,d.records.commits.set(m.id,m),d.records.branches.set(d.records.currBranch,m.id),s.cM.debug(d.records.branches),s.cM.debug("in mergeBranch")}),"merge"),w=(0,s.eW)((function(t){let e=t.id,n=t.targetId,r=t.tags,i=t.parent;s.cM.debug("Entering cherryPick:",e,n,r);const a=u();if(e=s.SY.sanitizeText(e,a),n=s.SY.sanitizeText(n,a),r=r?.map((t=>s.SY.sanitizeText(t,a))),i=s.SY.sanitizeText(i,a),!e||!d.records.commits.has(e)){const t=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}const o=d.records.commits.get(e);if(void 0===o||!o)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&(!Array.isArray(o.parents)||!o.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const l=o.branch;if(o.type===c.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!n||!d.records.commits.has(n)){if(l===d.records.currBranch){const t=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}const t=d.records.branches.get(d.records.currBranch);if(void 0===t||!t){const t=new Error(`Incorrect usage of "cherry-pick". Current branch (${d.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}const a=d.records.commits.get(t);if(void 0===a||!a){const t=new Error(`Incorrect usage of "cherry-pick". Current branch (${d.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}const h={id:d.records.seq+"-"+p(),message:`cherry-picked ${o?.message} into ${d.records.currBranch}`,seq:d.records.seq++,parents:null==d.records.head?[]:[d.records.head.id,o.id],branch:d.records.currBranch,type:c.CHERRY_PICK,tags:r?r.filter(Boolean):[`cherry-pick:${o.id}${o.type===c.MERGE?`|parent:${i}`:""}`]};d.records.head=h,d.records.commits.set(h.id,h),d.records.branches.set(d.records.currBranch,h.id),s.cM.debug(d.records.branches),s.cM.debug("in cherryPick")}}),"cherryPick"),k=(0,s.eW)((function(t){if(t=s.SY.sanitizeText(t,u()),!d.records.branches.has(t)){const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}{d.records.currBranch=t;const e=d.records.branches.get(d.records.currBranch);d.records.head=void 0!==e&&e?d.records.commits.get(e)??null:null}}),"checkout");function T(t,e,n){const r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}function _(t){const e=t.reduce(((t,e)=>t.seq>e.seq?t:e),t[0]);let n="";t.forEach((function(t){n+=t===e?"\t*":"\t|"}));const r=[n,e.id,e.seq];for(const t in d.records.branches)d.records.branches.get(t)===e.id&&r.push(t);if(s.cM.debug(r.join(" ")),e.parents&&2==e.parents.length&&e.parents[0]&&e.parents[1]){const n=d.records.commits.get(e.parents[0]);T(t,e,n),e.parents[1]&&t.push(d.records.commits.get(e.parents[1]))}else{if(0==e.parents.length)return;if(e.parents[0]){const n=d.records.commits.get(e.parents[0]);T(t,e,n)}}_(t=g(t,(t=>t.id)))}(0,s.eW)(T,"upsert"),(0,s.eW)(_,"prettyPrintCommitHistory");var E=(0,s.eW)((function(){s.cM.debug(d.records.commits),_([M()[0]])}),"prettyPrint"),S=(0,s.eW)((function(){d.reset(),(0,s.ZH)()}),"clear"),C=(0,s.eW)((function(){return[...d.records.branchConfig.values()].map(((t,e)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${e}`)})).sort(((t,e)=>(t.order??0)-(e.order??0))).map((({name:t})=>({name:t})))}),"getBranchesAsObjArray"),A=(0,s.eW)((function(){return d.records.branches}),"getBranches"),L=(0,s.eW)((function(){return d.records.commits}),"getCommits"),M=(0,s.eW)((function(){const t=[...d.records.commits.values()];return t.forEach((function(t){s.cM.debug(t.id)})),t.sort(((t,e)=>t.seq-e.seq)),t}),"getCommitsArray"),N={commitType:c,getConfig:u,setDirection:f,setOptions:m,getOptions:y,commit:v,branch:x,merge:b,cherryPick:w,checkout:k,prettyPrint:E,clear:S,getBranchesAsObjArray:C,getBranches:A,getCommits:L,getCommitsArray:M,getCurrentBranch:(0,s.eW)((function(){return d.records.currBranch}),"getCurrentBranch"),getDirection:(0,s.eW)((function(){return d.records.direction}),"getDirection"),getHead:(0,s.eW)((function(){return d.records.head}),"getHead"),setAccTitle:s.GN,getAccTitle:s.eu,getAccDescription:s.Mx,setAccDescription:s.U$,setDiagramTitle:s.g2,getDiagramTitle:s.Kr},I=(0,s.eW)(((t,e)=>{(0,r.A)(t,e),t.dir&&e.setDirection(t.dir);for(const n of t.statements)R(n,e)}),"populate"),R=(0,s.eW)(((t,e)=>{const n={Commit:(0,s.eW)((t=>e.commit(D(t))),"Commit"),Branch:(0,s.eW)((t=>e.branch(O(t))),"Branch"),Merge:(0,s.eW)((t=>e.merge(P(t))),"Merge"),Checkout:(0,s.eW)((t=>e.checkout($(t))),"Checkout"),CherryPicking:(0,s.eW)((t=>e.cherryPick(B(t))),"CherryPicking")}[t.$type];n?n(t):s.cM.error(`Unknown statement type: ${t.$type}`)}),"parseStatement"),D=(0,s.eW)((t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?c[t.type]:c.NORMAL,tags:t.tags??void 0})),"parseCommit"),O=(0,s.eW)((t=>({name:t.name,order:t.order??0})),"parseBranch"),P=(0,s.eW)((t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?c[t.type]:void 0,tags:t.tags??void 0})),"parseMerge"),$=(0,s.eW)((t=>t.branch),"parseCheckout"),B=(0,s.eW)((t=>({id:t.id,targetId:"",tags:0===t.tags?.length?void 0:t.tags,parent:t.parent})),"parseCherryPicking"),F={parse:(0,s.eW)((async t=>{const e=await(0,o.Qc)("gitGraph",t);s.cM.debug(e),I(e,N)}),"parse")},W=(0,s.nV)(),z=W?.gitGraph,Z=10,Y=40,U=new Map,G=new Map,V=new Map,q=[],j=0,H="LR",X=(0,s.eW)((()=>{U.clear(),G.clear(),V.clear(),j=0,q=[],H="LR"}),"clear"),K=(0,s.eW)((t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach((t=>{const n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=t.trim(),e.appendChild(n)})),e}),"drawText"),Q=(0,s.eW)((t=>{let e,n,r;return"BT"===H?(n=(0,s.eW)(((t,e)=>t<=e),"comparisonFunc"),r=1/0):(n=(0,s.eW)(((t,e)=>t>=e),"comparisonFunc"),r=0),t.forEach((t=>{const i="TB"===H||"BT"==H?G.get(t)?.y:G.get(t)?.x;void 0!==i&&n(i,r)&&(e=t,r=i)})),e}),"findClosestParent"),J=(0,s.eW)((t=>{let e="",n=1/0;return t.forEach((t=>{const r=G.get(t).y;r<=n&&(e=t,n=r)})),e||void 0}),"findClosestParentBT"),tt=(0,s.eW)(((t,e,n)=>{let r=n,i=n;const a=[];t.forEach((t=>{const n=e.get(t);if(!n)throw new Error(`Commit not found for key ${t}`);n.parents.length?(r=nt(n),i=Math.max(r,i)):a.push(n),rt(n,r)})),r=i,a.forEach((t=>{it(t,r,n)})),t.forEach((t=>{const n=e.get(t);if(n?.parents.length){const t=J(n.parents);r=G.get(t).y-Y,r<=i&&(i=r);const e=U.get(n.branch).pos,a=r-Z;G.set(n.id,{x:e,y:a})}}))}),"setParallelBTPos"),et=(0,s.eW)((t=>{const e=Q(t.parents.filter((t=>null!==t)));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const n=G.get(e)?.y;if(void 0===n)throw new Error(`Closest parent position not found for commit ${t.id}`);return n}),"findClosestParentPos"),nt=(0,s.eW)((t=>et(t)+Y),"calculateCommitPosition"),rt=(0,s.eW)(((t,e)=>{const n=U.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const r=n.pos,i=e+Z;return G.set(t.id,{x:r,y:i}),{x:r,y:i}}),"setCommitPosition"),it=(0,s.eW)(((t,e,n)=>{const r=U.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const i=e+n,a=r.pos;G.set(t.id,{x:a,y:i})}),"setRootPosition"),at=(0,s.eW)(((t,e,n,r,i,a)=>{if(a===c.HIGHLIGHT)t.append("rect").attr("x",n.x-10).attr("y",n.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%8} ${r}-outer`),t.append("rect").attr("x",n.x-6).attr("y",n.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%8} ${r}-inner`);else if(a===c.CHERRY_PICK)t.append("circle").attr("cx",n.x).attr("cy",n.y).attr("r",10).attr("class",`commit ${e.id} ${r}`),t.append("circle").attr("cx",n.x-3).attr("cy",n.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${r}`),t.append("circle").attr("cx",n.x+3).attr("cy",n.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${r}`),t.append("line").attr("x1",n.x+3).attr("y1",n.y+1).attr("x2",n.x).attr("y2",n.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${r}`),t.append("line").attr("x1",n.x-3).attr("y1",n.y+1).attr("x2",n.x).attr("y2",n.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${r}`);else{const s=t.append("circle");if(s.attr("cx",n.x),s.attr("cy",n.y),s.attr("r",e.type===c.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%8}`),a===c.MERGE){const a=t.append("circle");a.attr("cx",n.x),a.attr("cy",n.y),a.attr("r",6),a.attr("class",`commit ${r} ${e.id} commit${i%8}`)}a===c.REVERSE&&t.append("path").attr("d",`M ${n.x-5},${n.y-5}L${n.x+5},${n.y+5}M${n.x-5},${n.y+5}L${n.x+5},${n.y-5}`).attr("class",`commit ${r} ${e.id} commit${i%8}`)}}),"drawCommitBullet"),st=(0,s.eW)(((t,e,n,r)=>{if(e.type!==c.CHERRY_PICK&&(e.customId&&e.type===c.MERGE||e.type!==c.MERGE)&&z?.showCommitLabel){const i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",r).attr("y",n.y+25).attr("class","commit-label").text(e.id),o=s.node()?.getBBox();if(o&&(a.attr("x",n.posWithOffset-o.width/2-2).attr("y",n.y+13.5).attr("width",o.width+4).attr("height",o.height+4),"TB"===H||"BT"===H?(a.attr("x",n.x-(o.width+16+5)).attr("y",n.y-12),s.attr("x",n.x-(o.width+16)).attr("y",n.y+o.height-12)):s.attr("x",n.posWithOffset-o.width/2),z.rotateCommitLabel))if("TB"===H||"BT"===H)s.attr("transform","rotate(-45, "+n.x+", "+n.y+")"),a.attr("transform","rotate(-45, "+n.x+", "+n.y+")");else{const t=-7.5-(o.width+10)/25*9.5,e=10+o.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+r+", "+n.y+")")}}}),"drawCommitLabel"),ot=(0,s.eW)(((t,e,n,r)=>{if(e.tags.length>0){let i=0,a=0,s=0;const o=[];for(const r of e.tags.reverse()){const e=t.insert("polygon"),l=t.append("circle"),c=t.append("text").attr("y",n.y-16-i).attr("class","tag-label").text(r),h=c.node()?.getBBox();if(!h)throw new Error("Tag bbox not found");a=Math.max(a,h.width),s=Math.max(s,h.height),c.attr("x",n.posWithOffset-h.width/2),o.push({tag:c,hole:l,rect:e,yOffset:i}),i+=20}for(const{tag:t,hole:e,rect:i,yOffset:l}of o){const o=s/2,c=n.y-19.2-l;if(i.attr("class","tag-label-bkg").attr("points",`\n ${r-a/2-2},${c+2} \n ${r-a/2-2},${c-2}\n ${n.posWithOffset-a/2-4},${c-o-2}\n ${n.posWithOffset+a/2+4},${c-o-2}\n ${n.posWithOffset+a/2+4},${c+o+2}\n ${n.posWithOffset-a/2-4},${c+o+2}`),e.attr("cy",c).attr("cx",r-a/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===H||"BT"===H){const s=r+l;i.attr("class","tag-label-bkg").attr("points",`\n ${n.x},${s+2}\n ${n.x},${s-2}\n ${n.x+Z},${s-o-2}\n ${n.x+Z+a+4},${s-o-2}\n ${n.x+Z+a+4},${s+o+2}\n ${n.x+Z},${s+o+2}`).attr("transform","translate(12,12) rotate(45, "+n.x+","+r+")"),e.attr("cx",n.x+2).attr("cy",s).attr("transform","translate(12,12) rotate(45, "+n.x+","+r+")"),t.attr("x",n.x+5).attr("y",s+3).attr("transform","translate(14,14) rotate(45, "+n.x+","+r+")")}}}}),"drawCommitTags"),lt=(0,s.eW)((t=>{switch(t.customType??t.type){case c.NORMAL:return"commit-normal";case c.REVERSE:return"commit-reverse";case c.HIGHLIGHT:return"commit-highlight";case c.MERGE:return"commit-merge";case c.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}}),"getCommitClassType"),ct=(0,s.eW)(((t,e,n,r)=>{const i={x:0,y:0};if(!(t.parents.length>0))return"TB"===e?30:"BT"===e?(r.get(t.id)??i).y-Y:0;{const n=Q(t.parents);if(n){const a=r.get(n)??i;return"TB"===e?a.y+Y:"BT"===e?(r.get(t.id)??i).y-Y:a.x+Y}}return 0}),"calculatePosition"),ht=(0,s.eW)(((t,e,n)=>{const r="BT"===H&&n?e:e+Z,i="TB"===H||"BT"===H?r:U.get(t.branch)?.pos,a="TB"===H||"BT"===H?U.get(t.branch)?.pos:r;if(void 0===a||void 0===i)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:r}}),"getCommitPosition"),ut=(0,s.eW)(((t,e,n)=>{if(!z)throw new Error("GitGraph config not found");const r=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels");let a="TB"===H||"BT"===H?30:0;const o=[...e.keys()],l=z?.parallelCommits??!1,c=(0,s.eW)(((t,n)=>{const r=e.get(t)?.seq,i=e.get(n)?.seq;return void 0!==r&&void 0!==i?r-i:0}),"sortKeys");let h=o.sort(c);"BT"===H&&(l&&tt(h,e,a),h=h.reverse()),h.forEach((t=>{const s=e.get(t);if(!s)throw new Error(`Commit not found for key ${t}`);l&&(a=ct(s,H,a,G));const o=ht(s,a,l);if(n){const t=lt(s),e=s.customType??s.type,n=U.get(s.branch)?.index??0;at(r,s,o,t,n,e),st(i,s,o,a),ot(i,s,o,a)}"TB"===H||"BT"===H?G.set(s.id,{x:o.x,y:o.posWithOffset}):G.set(s.id,{x:o.posWithOffset,y:o.y}),a="BT"===H&&l?a+Y:a+Y+Z,a>j&&(j=a)}))}),"drawCommits"),dt=(0,s.eW)(((t,e,n,r,i)=>{const a=("TB"===H||"BT"===H?n.x<r.x:n.y<r.y)?e.branch:t.branch,o=(0,s.eW)((t=>t.branch===a),"isOnBranchToGetCurve"),l=(0,s.eW)((n=>n.seq>t.seq&&n.seq<e.seq),"isBetweenCommits");return[...i.values()].some((t=>l(t)&&o(t)))}),"shouldRerouteArrow"),pt=(0,s.eW)(((t,e,n=0)=>{const r=t+Math.abs(t-e)/2;if(n>5)return r;if(q.every((t=>Math.abs(t-r)>=10)))return q.push(r),r;const i=Math.abs(t-e);return pt(t,e-i/5,n+1)}),"findLane"),gt=(0,s.eW)(((t,e,n,r)=>{const i=G.get(e.id),a=G.get(n.id);if(void 0===i||void 0===a)throw new Error(`Commit positions not found for commits ${e.id} and ${n.id}`);const s=dt(e,n,i,a,r);let o,l="",h="",u=0,d=0,p=U.get(n.branch)?.index;if(n.type===c.MERGE&&e.id!==n.parents[0]&&(p=U.get(e.branch)?.index),s){l="A 10 10, 0, 0, 0,",h="A 10 10, 0, 0, 1,",u=10,d=10;const t=i.y<a.y?pt(i.y,a.y):pt(a.y,i.y),n=i.x<a.x?pt(i.x,a.x):pt(a.x,i.x);"TB"===H?i.x<a.x?o=`M ${i.x} ${i.y} L ${n-u} ${i.y} ${h} ${n} ${i.y+d} L ${n} ${a.y-u} ${l} ${n+d} ${a.y} L ${a.x} ${a.y}`:(p=U.get(e.branch)?.index,o=`M ${i.x} ${i.y} L ${n+u} ${i.y} ${l} ${n} ${i.y+d} L ${n} ${a.y-u} ${h} ${n-d} ${a.y} L ${a.x} ${a.y}`):"BT"===H?i.x<a.x?o=`M ${i.x} ${i.y} L ${n-u} ${i.y} ${l} ${n} ${i.y-d} L ${n} ${a.y+u} ${h} ${n+d} ${a.y} L ${a.x} ${a.y}`:(p=U.get(e.branch)?.index,o=`M ${i.x} ${i.y} L ${n+u} ${i.y} ${h} ${n} ${i.y-d} L ${n} ${a.y+u} ${l} ${n-d} ${a.y} L ${a.x} ${a.y}`):i.y<a.y?o=`M ${i.x} ${i.y} L ${i.x} ${t-u} ${l} ${i.x+d} ${t} L ${a.x-u} ${t} ${h} ${a.x} ${t+d} L ${a.x} ${a.y}`:(p=U.get(e.branch)?.index,o=`M ${i.x} ${i.y} L ${i.x} ${t+u} ${h} ${i.x+d} ${t} L ${a.x-u} ${t} ${l} ${a.x} ${t-d} L ${a.x} ${a.y}`)}else l="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",u=20,d=20,"TB"===H?(i.x<a.x&&(o=n.type===c.MERGE&&e.id!==n.parents[0]?`M ${i.x} ${i.y} L ${i.x} ${a.y-u} ${l} ${i.x+d} ${a.y} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${a.x-u} ${i.y} ${h} ${a.x} ${i.y+d} L ${a.x} ${a.y}`),i.x>a.x&&(l="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",u=20,d=20,o=n.type===c.MERGE&&e.id!==n.parents[0]?`M ${i.x} ${i.y} L ${i.x} ${a.y-u} ${h} ${i.x-d} ${a.y} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${a.x+u} ${i.y} ${l} ${a.x} ${i.y+d} L ${a.x} ${a.y}`),i.x===a.x&&(o=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):"BT"===H?(i.x<a.x&&(o=n.type===c.MERGE&&e.id!==n.parents[0]?`M ${i.x} ${i.y} L ${i.x} ${a.y+u} ${h} ${i.x+d} ${a.y} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${a.x-u} ${i.y} ${l} ${a.x} ${i.y-d} L ${a.x} ${a.y}`),i.x>a.x&&(l="A 20 20, 0, 0, 0,",h="A 20 20, 0, 0, 1,",u=20,d=20,o=n.type===c.MERGE&&e.id!==n.parents[0]?`M ${i.x} ${i.y} L ${i.x} ${a.y+u} ${l} ${i.x-d} ${a.y} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${a.x-u} ${i.y} ${l} ${a.x} ${i.y-d} L ${a.x} ${a.y}`),i.x===a.x&&(o=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.y<a.y&&(o=n.type===c.MERGE&&e.id!==n.parents[0]?`M ${i.x} ${i.y} L ${a.x-u} ${i.y} ${h} ${a.x} ${i.y+d} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${i.x} ${a.y-u} ${l} ${i.x+d} ${a.y} L ${a.x} ${a.y}`),i.y>a.y&&(o=n.type===c.MERGE&&e.id!==n.parents[0]?`M ${i.x} ${i.y} L ${a.x-u} ${i.y} ${l} ${a.x} ${i.y-d} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${i.x} ${a.y+u} ${h} ${i.x+d} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(o=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(void 0===o)throw new Error("Line definition not found");t.append("path").attr("d",o).attr("class","arrow arrow"+p%8)}),"drawArrow"),ft=(0,s.eW)(((t,e)=>{const n=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach((t=>{const r=e.get(t);r.parents&&r.parents.length>0&&r.parents.forEach((t=>{gt(n,e.get(t),r,e)}))}))}),"drawArrows"),mt=(0,s.eW)(((t,e)=>{const n=t.append("g");e.forEach(((t,e)=>{const r=e%8,i=U.get(t.name)?.pos;if(void 0===i)throw new Error(`Position not found for branch ${t.name}`);const a=n.append("line");a.attr("x1",0),a.attr("y1",i),a.attr("x2",j),a.attr("y2",i),a.attr("class","branch branch"+r),"TB"===H?(a.attr("y1",30),a.attr("x1",i),a.attr("y2",j),a.attr("x2",i)):"BT"===H&&(a.attr("y1",j),a.attr("x1",i),a.attr("y2",30),a.attr("x2",i)),q.push(i);const s=t.name,o=K(s),l=n.insert("rect"),c=n.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+r);c.node().appendChild(o);const h=o.getBBox();l.attr("class","branchLabelBkg label"+r).attr("rx",4).attr("ry",4).attr("x",-h.width-4-(!0===z?.rotateCommitLabel?30:0)).attr("y",-h.height/2+8).attr("width",h.width+18).attr("height",h.height+4),c.attr("transform","translate("+(-h.width-14-(!0===z?.rotateCommitLabel?30:0))+", "+(i-h.height/2-1)+")"),"TB"===H?(l.attr("x",i-h.width/2-10).attr("y",0),c.attr("transform","translate("+(i-h.width/2-5)+", 0)")):"BT"===H?(l.attr("x",i-h.width/2-10).attr("y",j),c.attr("transform","translate("+(i-h.width/2-5)+", "+j+")")):l.attr("transform","translate(-19, "+(i-h.height/2)+")")}))}),"drawBranches"),yt=(0,s.eW)((function(t,e,n,r,i){return U.set(t,{pos:e,index:n}),e+(50+(i?40:0)+("TB"===H||"BT"===H?r.width/2:0))}),"setBranchPosition"),vt={parser:F,db:N,renderer:{draw:(0,s.eW)((function(t,e,n,r){if(X(),s.cM.debug("in gitgraph renderer",t+"\n","id:",e,n),!z)throw new Error("GitGraph config not found");const i=z.rotateCommitLabel??!1,o=r.db;V=o.getCommits();const c=o.getBranchesAsObjArray();H=o.getDirection();const h=(0,l.Ys)(`[id="${e}"]`);let u=0;c.forEach(((t,e)=>{const n=K(t.name),r=h.append("g"),a=r.insert("g").attr("class","branchLabel"),s=a.insert("g").attr("class","label branch-label");s.node()?.appendChild(n);const o=n.getBBox();u=yt(t.name,u,e,o,i),s.remove(),a.remove(),r.remove()})),ut(h,V,!1),z.showBranches&&mt(h,c),ft(h,V),ut(h,V,!0),a.w8.insertTitle(h,"gitTitleText",z.titleTopMargin??0,o.getDiagramTitle()),(0,s.Rw)(void 0,h,z.diagramPadding,z.useMaxWidth)}),"draw")},styles:(0,s.eW)((t=>`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n ${[0,1,2,3,4,5,6,7].map((e=>`\n .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }\n .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }\n .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }\n .label${e} { fill: ${t["git"+e]}; }\n .arrow${e} { stroke: ${t["git"+e]}; }\n `)).join("\n")}\n\n .branch {\n stroke-width: 1;\n stroke: ${t.lineColor};\n stroke-dasharray: 2;\n }\n .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}\n .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }\n .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\n .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }\n .tag-hole { fill: ${t.textColor}; }\n\n .commit-merge {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n .commit-reverse {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n stroke-width: 3;\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles")}},3997:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>c});var r=n(2926),i=n(5430),a=n(4082),s=n(2491),o={parse:(0,a.eW)((async t=>{const e=await(0,s.Qc)("info",t);a.cM.debug(e)}),"parse")},l={version:r.X.version},c={parser:o,db:{getVersion:(0,a.eW)((()=>l.version),"getVersion")},renderer:{draw:(0,a.eW)(((t,e,n)=>{a.cM.debug("rendering info diagram\n"+t);const r=(0,i.P)(e);(0,a.v2)(r,100,400,!0),r.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)}),"draw")}}},8891:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>G});var r=n(279),i=n(4082),a=n(3108),s=function(){var t=(0,i.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],r=[1,10],a=[1,11],s=[1,12],o=[1,13],l=[1,14],c={trace:(0,i.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,i.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 1:return a[o-1];case 2:case 6:case 7:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 8:r.setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 9:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 13:r.addTask(a[o-1],a[o]),this.$="task"}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:r,14:a,16:s,17:o,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:r,14:a,16:s,17:o,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,i.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,i.eW)((function(t){var e=this,n=[0],r=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=s.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;s.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.eW)((function(t){n.length=n.length-2*t,a.length=a.length-t,s.length=s.length-t}),"popStack"),(0,i.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),a.push(p.yytext),s.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=a[a.length-E],A._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},y&&(A._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],a,s].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),a=a.slice(0,-1*E),s=s.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),a.push(A.$),s.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},h=function(){return{EOF:1,parseError:(0,i.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,i.eW)((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}),"setInput"),input:(0,i.eW)((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}),"input"),unput:(0,i.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,i.eW)((function(){return this._more=!0,this}),"more"),reject:(0,i.eW)((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})}),"reject"),less:(0,i.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,i.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,i.eW)((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,"")}),"upcomingInput"),showPosition:(0,i.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,i.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,i.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,i.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,i.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,i.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,i.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,i.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,i.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,i.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.eW)((function(t,e,n,r){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}}),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}}}();function u(){this.yy={}}return c.lexer=h,(0,i.eW)(u,"Parser"),u.prototype=c,c.Parser=u,new u}();s.parser=s;var o=s,l="",c=[],h=[],u=[],d=(0,i.eW)((function(){c.length=0,h.length=0,l="",u.length=0,(0,i.ZH)()}),"clear"),p=(0,i.eW)((function(t){l=t,c.push(t)}),"addSection"),g=(0,i.eW)((function(){return c}),"getSections"),f=(0,i.eW)((function(){let t=x(),e=0;for(;!t&&e<100;)t=x(),e++;return h.push(...u),h}),"getTasks"),m=(0,i.eW)((function(){const t=[];return h.forEach((e=>{e.people&&t.push(...e.people)})),[...new Set(t)].sort()}),"updateActors"),y=(0,i.eW)((function(t,e){const n=e.substr(1).split(":");let r=0,i=[];1===n.length?(r=Number(n[0]),i=[]):(r=Number(n[0]),i=n[1].split(","));const a=i.map((t=>t.trim())),s={section:l,type:l,people:a,task:t,score:r};u.push(s)}),"addTask"),v=(0,i.eW)((function(t){const e={section:l,type:l,description:t,task:t,classes:[]};h.push(e)}),"addTaskOrg"),x=(0,i.eW)((function(){const t=(0,i.eW)((function(t){return u[t].processed}),"compileTask");let e=!0;for(const[n,r]of u.entries())t(n),e=e&&r.processed;return e}),"compileTasks"),b=(0,i.eW)((function(){return m()}),"getActors"),w={getConfig:(0,i.eW)((()=>(0,i.nV)().journey),"getConfig"),clear:d,setDiagramTitle:i.g2,getDiagramTitle:i.Kr,setAccTitle:i.GN,getAccTitle:i.eu,setAccDescription:i.U$,getAccDescription:i.Mx,addSection:p,getSections:g,getTasks:f,addTask:y,addTaskOrg:v,getActors:b},k=(0,i.eW)((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${t.textColor}\n }\n\n .legend {\n fill: ${t.textColor};\n font-family: ${t.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${t.textColor}\n }\n\n .face {\n ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${t.fillType0?`fill: ${t.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${t.fillType0?`fill: ${t.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${t.fillType0?`fill: ${t.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${t.fillType0?`fill: ${t.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${t.fillType0?`fill: ${t.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${t.fillType0?`fill: ${t.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${t.fillType0?`fill: ${t.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${t.fillType0?`fill: ${t.fillType7}`:""};\n }\n\n .actor-0 {\n ${t.actor0?`fill: ${t.actor0}`:""};\n }\n .actor-1 {\n ${t.actor1?`fill: ${t.actor1}`:""};\n }\n .actor-2 {\n ${t.actor2?`fill: ${t.actor2}`:""};\n }\n .actor-3 {\n ${t.actor3?`fill: ${t.actor3}`:""};\n }\n .actor-4 {\n ${t.actor4?`fill: ${t.actor4}`:""};\n }\n .actor-5 {\n ${t.actor5?`fill: ${t.actor5}`:""};\n }\n`),"getStyles"),T=(0,i.eW)((function(t,e){return(0,r.Mu)(t,e)}),"drawRect"),_=(0,i.eW)((function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function s(t){const n=(0,a.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function o(t){const n=(0,a.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function l(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,i.eW)(s,"smile"),(0,i.eW)(o,"sad"),(0,i.eW)(l,"ambivalent"),e.score>3?s(r):e.score<3?o(r):l(r),n}),"drawFace"),E=(0,i.eW)((function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n}),"drawCircle"),S=(0,i.eW)((function(t,e){return(0,r.yU)(t,e)}),"drawText"),C=(0,i.eW)((function(t,e){function n(t,e,n,r,i){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+r-i)+" "+(t+n-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(0,i.eW)(n,"genPoints");const r=t.append("polygon");r.attr("points",n(e.x,e.y,50,20,7)),r.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,S(t,e)}),"drawLabel"),A=(0,i.eW)((function(t,e,n){const i=t.append("g"),a=(0,r.kc)();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width*e.taskCount+n.diagramMarginX*(e.taskCount-1),a.height=n.height,a.class="journey-section section-type-"+e.num,a.rx=3,a.ry=3,T(i,a),I(n)(e.text,i,a.x,a.y,a.width,a.height,{class:"journey-section section-type-"+e.num},n,e.colour)}),"drawSection"),L=-1,M=(0,i.eW)((function(t,e,n){const i=e.x+n.width/2,a=t.append("g");L++,a.append("line").attr("id","task"+L).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),_(a,{cx:i,cy:300+30*(5-e.score),score:e.score});const s=(0,r.kc)();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=n.width,s.height=n.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,T(a,s);let o=e.x+14;e.people.forEach((t=>{const n=e.actors[t].color,r={cx:o,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};E(a,r),o+=10})),I(n)(e.task,a,s.x,s.y,s.width,s.height,{class:"task"},n,e.colour)}),"drawTask"),N=(0,i.eW)((function(t,e){(0,r.O)(t,e)}),"drawBackgroundRect"),I=function(){function t(t,e,n,i,a,s,o,l){r(e.append("text").attr("x",n+a/2).attr("y",i+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,n,i,a,s,o,l,c){const{taskFontSize:h,taskFontFamily:u}=l,d=t.split(/<br\s*\/?>/gi);for(let t=0;t<d.length;t++){const l=t*h-h*(d.length-1)/2,p=e.append("text").attr("x",n+a/2).attr("y",i).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",u);p.append("tspan").attr("x",n+a/2).attr("dy",l).text(d[t]),p.attr("y",i+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(p,o)}}function n(t,n,i,a,s,o,l,c){const h=n.append("switch"),u=h.append("foreignObject").attr("x",i).attr("y",a).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,i,a,s,o,l,c),r(u,l)}function r(t,e){for(const n in e)n in e&&t.attr(n,e[n])}return(0,i.eW)(t,"byText"),(0,i.eW)(e,"byTspan"),(0,i.eW)(n,"byFo"),(0,i.eW)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}(),R={drawRect:T,drawCircle:E,drawSection:A,drawText:S,drawLabel:C,drawTask:M,drawBackgroundRect:N,initGraphics:(0,i.eW)((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}),"initGraphics")},D=(0,i.eW)((function(t){Object.keys(t).forEach((function(e){$[e]=t[e]}))}),"setConf"),O={};function P(t){const e=(0,i.nV)().journey;let n=60;Object.keys(O).forEach((r=>{const i=O[r].color,a={cx:20,cy:n,r:7,fill:i,stroke:"#000",pos:O[r].position};R.drawCircle(t,a);const s={x:40,y:n+7,fill:"#666",text:r,textMargin:5|e.boxTextMargin};R.drawText(t,s),n+=20}))}(0,i.eW)(P,"drawActorLegend");var $=(0,i.nV)().journey,B=$.leftMargin,F=(0,i.eW)((function(t,e,n,r){const s=(0,i.nV)().journey,o=(0,i.nV)().securityLevel;let l;"sandbox"===o&&(l=(0,a.Ys)("#i"+e));const c="sandbox"===o?(0,a.Ys)(l.nodes()[0].contentDocument.body):(0,a.Ys)("body");W.init();const h=c.select("#"+e);R.initGraphics(h);const u=r.db.getTasks(),d=r.db.getDiagramTitle(),p=r.db.getActors();for(const t in O)delete O[t];let g=0;p.forEach((t=>{O[t]={color:s.actorColours[g%s.actorColours.length],position:g},g++})),P(h),W.insert(0,0,B,50*Object.keys(O).length),Y(h,u,0);const f=W.getBounds();d&&h.append("text").text(d).attr("x",B).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const m=f.stopy-f.starty+2*s.diagramMarginY,y=B+f.stopx+2*s.diagramMarginX;(0,i.v2)(h,m,y,s.useMaxWidth),h.append("line").attr("x1",B).attr("y1",4*s.height).attr("x2",y-B-4).attr("y2",4*s.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const v=d?70:0;h.attr("viewBox",`${f.startx} -25 ${y} ${m+v}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",m+v+25)}),"draw"),W={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,i.eW)((function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0}),"init"),updateVal:(0,i.eW)((function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])}),"updateVal"),updateBounds:(0,i.eW)((function(t,e,n,r){const a=(0,i.nV)().journey,s=this;let o=0;function l(l){return(0,i.eW)((function(i){o++;const c=s.sequenceItems.length-o+1;s.updateVal(i,"starty",e-c*a.boxMargin,Math.min),s.updateVal(i,"stopy",r+c*a.boxMargin,Math.max),s.updateVal(W.data,"startx",t-c*a.boxMargin,Math.min),s.updateVal(W.data,"stopx",n+c*a.boxMargin,Math.max),"activation"!==l&&(s.updateVal(i,"startx",t-c*a.boxMargin,Math.min),s.updateVal(i,"stopx",n+c*a.boxMargin,Math.max),s.updateVal(W.data,"starty",e-c*a.boxMargin,Math.min),s.updateVal(W.data,"stopy",r+c*a.boxMargin,Math.max))}),"updateItemBounds")}(0,i.eW)(l,"updateFn"),this.sequenceItems.forEach(l())}),"updateBounds"),insert:(0,i.eW)((function(t,e,n,r){const i=Math.min(t,n),a=Math.max(t,n),s=Math.min(e,r),o=Math.max(e,r);this.updateVal(W.data,"startx",i,Math.min),this.updateVal(W.data,"starty",s,Math.min),this.updateVal(W.data,"stopx",a,Math.max),this.updateVal(W.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)}),"insert"),bumpVerticalPos:(0,i.eW)((function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos}),"bumpVerticalPos"),getVerticalPos:(0,i.eW)((function(){return this.verticalPos}),"getVerticalPos"),getBounds:(0,i.eW)((function(){return this.data}),"getBounds")},z=$.sectionFills,Z=$.sectionColours,Y=(0,i.eW)((function(t,e,n){const r=(0,i.nV)().journey;let a="";const s=n+(2*r.height+r.diagramMarginY);let o=0,l="#CCC",c="black",h=0;for(const[n,i]of e.entries()){if(a!==i.section){l=z[o%z.length],h=o%z.length,c=Z[o%Z.length];let s=0;const u=i.section;for(let t=n;t<e.length&&e[t].section==u;t++)s+=1;const d={x:n*r.taskMargin+n*r.width+B,y:50,text:i.section,fill:l,num:h,colour:c,taskCount:s};R.drawSection(t,d,r),a=i.section,o++}const u=i.people.reduce(((t,e)=>(O[e]&&(t[e]=O[e]),t)),{});i.x=n*r.taskMargin+n*r.width+B,i.y=s,i.width=r.diagramMarginX,i.height=r.diagramMarginY,i.colour=c,i.fill=l,i.num=h,i.actors=u,R.drawTask(t,i,r),W.insert(i.x,i.y,i.x+i.width+r.taskMargin,450)}}),"drawTasks"),U={setConf:D,draw:F},G={parser:o,db:w,renderer:U,styles:k,init:(0,i.eW)((t=>{U.setConf(t.journey),w.clear()}),"init")}},7744:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>E});var r=n(9241),i=n(3583),a=(n(1426),n(6241),n(214),n(7946),n(5430)),s=n(4082),o=n(6500),l=n(2281),c=n(7201),h=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,4],n=[1,13],r=[1,12],i=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,31],f=[6,7,11,24],m=[1,6,13,16,17,20,23],y=[1,35],v=[1,36],x=[1,6,7,11,13,16,17,20,23],b=[1,38],w={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 6:case 7:return r;case 8:r.getLogger().trace("Stop NL ");break;case 9:r.getLogger().trace("Stop EOF ");break;case 11:r.getLogger().trace("Stop NL2 ");break;case 12:r.getLogger().trace("Stop EOF2 ");break;case 15:r.getLogger().info("Node: ",a[o-1].id),r.addNode(a[o-2].length,a[o-1].id,a[o-1].descr,a[o-1].type,a[o]);break;case 16:r.getLogger().info("Node: ",a[o].id),r.addNode(a[o-1].length,a[o].id,a[o].descr,a[o].type);break;case 17:r.getLogger().trace("Icon: ",a[o]),r.decorateNode({icon:a[o]});break;case 18:case 23:r.decorateNode({class:a[o]});break;case 19:r.getLogger().trace("SPACELIST");break;case 20:r.getLogger().trace("Node: ",a[o-1].id),r.addNode(0,a[o-1].id,a[o-1].descr,a[o-1].type,a[o]);break;case 21:r.getLogger().trace("Node: ",a[o].id),r.addNode(0,a[o].id,a[o].descr,a[o].type);break;case 22:r.decorateNode({icon:a[o]});break;case 27:r.getLogger().trace("node found ..",a[o-2]),this.$={id:a[o-1],descr:a[o-1],type:r.getType(a[o-2],a[o])};break;case 28:this.$={id:a[o],descr:a[o],type:0};break;case 29:r.getLogger().trace("node found ..",a[o-3]),this.$={id:a[o-3],descr:a[o-1],type:r.getType(a[o-2],a[o])};break;case 30:this.$=a[o-1]+a[o];break;case 31:this.$=a[o]}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:r,14:14,16:i,17:a,18:17,19:18,20:o,23:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,16:i,17:a,18:17,19:18,20:o,23:l},{6:n,9:22,12:11,13:r,14:14,16:i,17:a,18:17,19:18,20:o,23:l},{6:h,7:u,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:g}),t(p,[2,22]),t(p,[2,23]),t(f,[2,25]),t(f,[2,26]),t(f,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:u,10:34,11:d},{1:[2,7],6:n,12:21,13:r,14:14,16:i,17:a,18:17,19:18,20:o,23:l},t(m,[2,14],{7:y,11:v}),t(x,[2,8]),t(x,[2,9]),t(x,[2,10]),t(p,[2,16],{15:37,24:g}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:b}),t(f,[2,31]),{21:[1,39]},{22:[1,40]},t(m,[2,13],{7:y,11:v}),t(x,[2,11]),t(x,[2,12]),t(p,[2,15],{24:b}),t(f,[2,30]),{22:[1,41]},t(f,[2,27]),t(f,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},k=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const n=/\n\s*/g;return e.yytext=e.yytext.replace(n,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}}),"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function T(){this.yy={}}return w.lexer=k,(0,s.eW)(T,"Parser"),T.prototype=w,w.Parser=T,new T}();h.parser=h;var u=h,d=[],p=[],g=0,f={},m=(0,s.eW)((()=>{d=[],p=[],g=0,f={}}),"clear"),y=(0,s.eW)((t=>{if(0===d.length)return null;const e=d[0].level;let n=null;for(let t=d.length-1;t>=0;t--)if(d[t].level!==e||n||(n=d[t]),d[t].level<e)throw new Error('Items without section detected, found section ("'+d[t].label+'")');return t===n?.level?null:n}),"getSection"),v=(0,s.eW)((function(){return p}),"getSections"),x=(0,s.eW)((function(){const t=[],e=v(),n=(0,s.nV)();for(const r of e){const e={id:r.id,label:(0,s.oO)(r.label??"",n),isGroup:!0,ticket:r.ticket,shape:"kanbanSection",level:r.level,look:n.look};t.push(e);const i=d.filter((t=>t.parentId===r.id));for(const e of i){const i={id:e.id,parentId:r.id,label:(0,s.oO)(e.label??"",n),isGroup:!1,ticket:e?.ticket,priority:e?.priority,assigned:e?.assigned,icon:e?.icon,shape:"kanbanItem",level:e.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(i)}}return{nodes:t,edges:[],other:{},config:(0,s.nV)()}}),"getData"),b=(0,s.eW)(((t,e,n,i,a)=>{const o=(0,s.nV)();let l=o.mindmap?.padding??s.vZ.mindmap.padding;switch(i){case w.ROUNDED_RECT:case w.RECT:case w.HEXAGON:l*=2}const c={id:(0,s.oO)(e,o)||"kbn"+g++,level:t,label:(0,s.oO)(n,o),width:o.mindmap?.maxNodeWidth??s.vZ.mindmap.maxNodeWidth,padding:l,isGroup:!1};if(void 0!==a){let t;t=a.includes("\n")?a+"\n":"{\n"+a+"\n}";const e=(0,r.z)(t,{schema:r.A});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw new Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(c.shape=e?.shape),e?.label&&(c.label=e?.label),e?.icon&&(c.icon=e?.icon.toString()),e?.assigned&&(c.assigned=e?.assigned.toString()),e?.ticket&&(c.ticket=e?.ticket.toString()),e?.priority&&(c.priority=e?.priority)}const h=y(t);h?c.parentId=h.id||"kbn"+g++:p.push(c),d.push(c)}),"addNode"),w={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},k={clear:m,addNode:b,getSections:v,getData:x,nodeType:w,getType:(0,s.eW)(((t,e)=>{switch(s.cM.debug("In get type",t,e),t){case"[":return w.RECT;case"(":return")"===e?w.ROUNDED_RECT:w.CLOUD;case"((":return w.CIRCLE;case")":return w.CLOUD;case"))":return w.BANG;case"{{":return w.HEXAGON;default:return w.DEFAULT}}),"getType"),setElementForId:(0,s.eW)(((t,e)=>{f[t]=e}),"setElementForId"),decorateNode:(0,s.eW)((t=>{if(!t)return;const e=(0,s.nV)(),n=d[d.length-1];t.icon&&(n.icon=(0,s.oO)(t.icon,e)),t.class&&(n.cssClasses=(0,s.oO)(t.class,e))}),"decorateNode"),type2Str:(0,s.eW)((t=>{switch(t){case w.DEFAULT:return"no-border";case w.RECT:return"rect";case w.ROUNDED_RECT:return"rounded-rect";case w.CIRCLE:return"circle";case w.CLOUD:return"cloud";case w.BANG:return"bang";case w.HEXAGON:return"hexgon";default:return"no-border"}}),"type2Str"),getLogger:(0,s.eW)((()=>s.cM),"getLogger"),getElementById:(0,s.eW)((t=>f[t]),"getElementById")},T={draw:(0,s.eW)((async(t,e,n,r)=>{s.cM.debug("Rendering kanban diagram\n"+t);const o=r.db.getData(),l=(0,s.nV)();l.htmlLabels=!1;const c=(0,a.P)(e),h=c.append("g");h.attr("class","sections");const u=c.append("g");u.attr("class","items");const d=o.nodes.filter((t=>t.isGroup));let p=0;const g=[];let f=25;for(const t of d){const e=l?.kanban?.sectionWidth||200;p+=1,t.x=e*p+10*(p-1)/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+p;const n=await(0,i.us)(h,t);f=Math.max(f,n?.labelBBox?.height),g.push(n)}let m=0;for(const t of d){const e=g[m];m+=1;const n=l?.kanban?.sectionWidth||200,r=3*-n/2+f;let a=r;const s=o.nodes.filter((e=>e.parentId===t.id));for(const e of s){if(e.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=n-15;const r=(await(0,i.Lf)(u,e,{config:l})).node().getBBox();e.y=a+r.height/2,await(0,i.aH)(e),a=e.y+r.height/2+5}const c=e.cluster.select("rect"),h=Math.max(a-r+30,50)+(f-25);c.attr("height",h)}(0,s.j7)(void 0,c,l.mindmap?.padding??s.vZ.kanban.padding,l.mindmap?.useMaxWidth??s.vZ.kanban.useMaxWidth)}),"draw")},_=(0,s.eW)((t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,o.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,l.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,c.Z)(t["lineColor"+e],20);const n=(0,s.eW)(((e,n)=>t.darkMode?(0,c.Z)(e,n):(0,l.Z)(e,n)),"adjuster");for(let r=0;r<t.THEME_COLOR_LIMIT;r++){const i=""+(17-3*r);e+=`\n .section-${r-1} rect, .section-${r-1} path, .section-${r-1} circle, .section-${r-1} polygon, .section-${r-1} path {\n fill: ${n(t["cScale"+r],10)};\n stroke: ${n(t["cScale"+r],10)};\n\n }\n .section-${r-1} text {\n fill: ${t["cScaleLabel"+r]};\n }\n .node-icon-${r-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+r]};\n }\n .section-edge-${r-1}{\n stroke: ${t["cScale"+r]};\n }\n .edge-depth-${r-1}{\n stroke-width: ${i};\n }\n .section-${r-1} line {\n stroke: ${t["cScaleInv"+r]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.background};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${t.background};\n stroke: ${t.nodeBorder};\n text-decoration: underline;\n }\n `}return e}),"genSections"),E={db:k,renderer:T,parser:u,styles:(0,s.eW)((t=>`\n .edge {\n stroke-width: 3;\n }\n ${_(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${t.textColor};\n fill: ${t.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`),"getStyles")}},9002:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>z});var r=n(214),i=n(7946),a=n(5430),s=n(4082),o=n(1387),l=n(4607),c=n(3108),h=n(6500),u=n(2281),d=n(7201),p=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,4],n=[1,13],r=[1,12],i=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,6,13,15,16,19,22],f=[1,33],m=[1,34],y=[1,6,7,11,13,15,16,19,22],v={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 6:case 7:return r;case 8:r.getLogger().trace("Stop NL ");break;case 9:r.getLogger().trace("Stop EOF ");break;case 11:r.getLogger().trace("Stop NL2 ");break;case 12:r.getLogger().trace("Stop EOF2 ");break;case 15:r.getLogger().info("Node: ",a[o].id),r.addNode(a[o-1].length,a[o].id,a[o].descr,a[o].type);break;case 16:r.getLogger().trace("Icon: ",a[o]),r.decorateNode({icon:a[o]});break;case 17:case 21:r.decorateNode({class:a[o]});break;case 18:r.getLogger().trace("SPACELIST");break;case 19:r.getLogger().trace("Node: ",a[o].id),r.addNode(0,a[o].id,a[o].descr,a[o].type);break;case 20:r.decorateNode({icon:a[o]});break;case 25:r.getLogger().trace("node found ..",a[o-2]),this.$={id:a[o-1],descr:a[o-1],type:r.getType(a[o-2],a[o])};break;case 26:this.$={id:a[o],descr:a[o],type:r.nodeType.DEFAULT};break;case 27:r.getLogger().trace("node found ..",a[o-3]),this.$={id:a[o-3],descr:a[o-1],type:r.getType(a[o-2],a[o])}}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:r,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:n,9:22,12:11,13:r,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:h,7:u,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:u,10:32,11:d},{1:[2,7],6:n,12:21,13:r,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(g,[2,14],{7:f,11:m}),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(g,[2,13],{7:f,11:m}),t(y,[2,11]),t(y,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},x=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}}),"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}}}();function b(){this.yy={}}return v.lexer=x,(0,s.eW)(b,"Parser"),b.prototype=v,v.Parser=b,new b}();p.parser=p;var g=p,f=[],m=0,y={},v=(0,s.eW)((()=>{f=[],m=0,y={}}),"clear"),x=(0,s.eW)((function(t){for(let e=f.length-1;e>=0;e--)if(f[e].level<t)return f[e];return null}),"getParent"),b=(0,s.eW)((()=>f.length>0?f[0]:null),"getMindmap"),w=(0,s.eW)(((t,e,n,r)=>{s.cM.info("addNode",t,e,n,r);const i=(0,s.nV)();let a=i.mindmap?.padding??s.vZ.mindmap.padding;switch(r){case k.ROUNDED_RECT:case k.RECT:case k.HEXAGON:a*=2}const o={id:m++,nodeId:(0,s.oO)(e,i),level:t,descr:(0,s.oO)(n,i),type:r,children:[],width:i.mindmap?.maxNodeWidth??s.vZ.mindmap.maxNodeWidth,padding:a},l=x(t);if(l)l.children.push(o),f.push(o);else{if(0!==f.length)throw new Error('There can be only one root. No parent could be found for ("'+o.descr+'")');f.push(o)}}),"addNode"),k={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},T={clear:v,addNode:w,getMindmap:b,nodeType:k,getType:(0,s.eW)(((t,e)=>{switch(s.cM.debug("In get type",t,e),t){case"[":return k.RECT;case"(":return")"===e?k.ROUNDED_RECT:k.CLOUD;case"((":return k.CIRCLE;case")":return k.CLOUD;case"))":return k.BANG;case"{{":return k.HEXAGON;default:return k.DEFAULT}}),"getType"),setElementForId:(0,s.eW)(((t,e)=>{y[t]=e}),"setElementForId"),decorateNode:(0,s.eW)((t=>{if(!t)return;const e=(0,s.nV)(),n=f[f.length-1];t.icon&&(n.icon=(0,s.oO)(t.icon,e)),t.class&&(n.class=(0,s.oO)(t.class,e))}),"decorateNode"),type2Str:(0,s.eW)((t=>{switch(t){case k.DEFAULT:return"no-border";case k.RECT:return"rect";case k.ROUNDED_RECT:return"rounded-rect";case k.CIRCLE:return"circle";case k.CLOUD:return"cloud";case k.BANG:return"bang";case k.HEXAGON:return"hexgon";default:return"no-border"}}),"type2Str"),getLogger:(0,s.eW)((()=>s.cM),"getLogger"),getElementById:(0,s.eW)((t=>y[t]),"getElementById")},_=(0,s.eW)((function(t,e,n,r){e.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("d",`M0 ${n.height-5} v${10-n.height} q0,-5 5,-5 h${n.width-10} q5,0 5,5 v${n.height-5} H0 Z`),e.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",n.height).attr("x2",n.width).attr("y2",n.height)}),"defaultBkg"),E=(0,s.eW)((function(t,e,n){e.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("height",n.height).attr("width",n.width)}),"rectBkg"),S=(0,s.eW)((function(t,e,n){const r=n.width,i=n.height,a=.15*r,s=.25*r,o=.35*r,l=.2*r;e.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${.25*r},${-1*r*.1}\n a${o},${o} 1 0,1 ${.4*r},${-1*r*.1}\n a${s},${s} 1 0,1 ${.35*r},${1*r*.2}\n\n a${a},${a} 1 0,1 ${.15*r},${1*i*.35}\n a${l},${l} 1 0,1 ${-1*r*.15},${1*i*.65}\n\n a${s},${a} 1 0,1 ${-1*r*.25},${.15*r}\n a${o},${o} 1 0,1 ${-1*r*.5},0\n a${a},${a} 1 0,1 ${-1*r*.25},${-1*r*.15}\n\n a${a},${a} 1 0,1 ${-1*r*.1},${-1*i*.35}\n a${l},${l} 1 0,1 ${.1*r},${-1*i*.65}\n\n H0 V0 Z`)}),"cloudBkg"),C=(0,s.eW)((function(t,e,n){const r=n.width,i=n.height,a=.15*r;e.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${.25*r},${-1*i*.1}\n a${a},${a} 1 0,0 ${.25*r},0\n a${a},${a} 1 0,0 ${.25*r},0\n a${a},${a} 1 0,0 ${.25*r},${1*i*.1}\n\n a${a},${a} 1 0,0 ${.15*r},${1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${1*i*.34}\n a${a},${a} 1 0,0 ${-1*r*.15},${1*i*.33}\n\n a${a},${a} 1 0,0 ${-1*r*.25},${.15*i}\n a${a},${a} 1 0,0 ${-1*r*.25},0\n a${a},${a} 1 0,0 ${-1*r*.25},0\n a${a},${a} 1 0,0 ${-1*r*.25},${-1*i*.15}\n\n a${a},${a} 1 0,0 ${-1*r*.1},${-1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${-1*i*.34}\n a${a},${a} 1 0,0 ${.1*r},${-1*i*.33}\n\n H0 V0 Z`)}),"bangBkg"),A=(0,s.eW)((function(t,e,n){e.append("circle").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("r",n.width/2)}),"circleBkg");function L(t,e,n,r,i){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+n+")")}(0,s.eW)(L,"insertPolygonShape");var M=(0,s.eW)((function(t,e,n){const r=n.height,i=r/4,a=n.width-n.padding+2*i;L(e,a,r,[{x:i,y:0},{x:a-i,y:0},{x:a,y:-r/2},{x:a-i,y:-r},{x:i,y:-r},{x:0,y:-r/2}],n)}),"hexagonBkg"),N=(0,s.eW)((function(t,e,n){e.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("height",n.height).attr("rx",n.padding).attr("ry",n.padding).attr("width",n.width)}),"roundedRectBkg"),I=(0,s.eW)((async function(t,e,n,a,s){const o=s.htmlLabels,l=a%11,c=e.append("g");n.section=l;let h="section-"+l;l<0&&(h+=" section-root"),c.attr("class",(n.class?n.class+" ":"")+"mindmap-node "+h);const u=c.append("g"),d=c.append("g"),p=n.descr.replace(/(<br\/*>)/g,"\n");await(0,r.rw)(d,p,{useHtmlLabels:o,width:n.width,classes:"mindmap-node-label"},s),o||d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const g=d.node().getBBox(),[f]=(0,i.VG)(s.fontSize);if(n.height=g.height+1.1*f*.5+n.padding,n.width=g.width+2*n.padding,n.icon)if(n.type===t.nodeType.CIRCLE)n.height+=50,n.width+=50,c.append("foreignObject").attr("height","50px").attr("width",n.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+l+" "+n.icon),d.attr("transform","translate("+n.width/2+", "+(n.height/2-1.5*n.padding)+")");else{n.width+=50;const t=n.height;n.height=Math.max(t,60);const e=Math.abs(n.height-t);c.append("foreignObject").attr("width","60px").attr("height",n.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+l+" "+n.icon),d.attr("transform","translate("+(25+n.width/2)+", "+(e/2+n.padding/2)+")")}else if(o){const t=(n.width-g.width)/2,e=(n.height-g.height)/2;d.attr("transform","translate("+t+", "+e+")")}else{const t=n.width/2,e=n.padding/2;d.attr("transform","translate("+t+", "+e+")")}switch(n.type){case t.nodeType.DEFAULT:_(t,u,n,l);break;case t.nodeType.ROUNDED_RECT:N(t,u,n,l);break;case t.nodeType.RECT:E(t,u,n,l);break;case t.nodeType.CIRCLE:u.attr("transform","translate("+n.width/2+", "+ +n.height/2+")"),A(t,u,n,l);break;case t.nodeType.CLOUD:S(t,u,n,l);break;case t.nodeType.BANG:C(t,u,n,l);break;case t.nodeType.HEXAGON:M(t,u,n,l)}return t.setElementForId(n.id,c),n.height}),"drawNode"),R=(0,s.eW)((function(t,e){const n=t.getElementById(e.id),r=e.x||0,i=e.y||0;n.attr("transform","translate("+r+","+i+")")}),"positionNode");async function D(t,e,n,r,i){await I(t,e,n,r,i),n.children&&await Promise.all(n.children.map(((n,a)=>D(t,e,n,r<0?a:r,i))))}function O(t,e){e.edges().map(((e,n)=>{const r=e.data();if(e[0]._private.bodyBounds){const i=e[0]._private.rscratch;s.cM.trace("Edge: ",n,r),t.insert("path").attr("d",`M ${i.startX},${i.startY} L ${i.midX},${i.midY} L${i.endX},${i.endY} `).attr("class","edge section-edge-"+r.section+" edge-depth-"+r.depth)}}))}function P(t,e,n,r){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:r,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach((i=>{P(i,e,n,r+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:r,section:i.section}})}))}function $(t,e){return new Promise((n=>{const r=(0,c.Ys)("body").append("div").attr("id","cy").attr("style","display:none"),i=(0,o.Z)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),P(t,i,e,0),i.nodes().forEach((function(t){t.layoutDimensions=()=>{const e=t.data();return{w:e.width,h:e.height}}})),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready((t=>{s.cM.info("Ready",t),n(i)}))}))}function B(t,e){e.nodes().map(((e,n)=>{const r=e.data();r.x=e.position().x,r.y=e.position().y,R(t,r);const i=t.getElementById(r.nodeId);s.cM.info("Id:",n,"Position: (",e.position().x,", ",e.position().y,")",r),i.attr("transform",`translate(${e.position().x-r.width/2}, ${e.position().y-r.height/2})`),i.attr("attr",`apa-${n})`)}))}o.Z.use(l),(0,s.eW)(D,"drawNodes"),(0,s.eW)(O,"drawEdges"),(0,s.eW)(P,"addNodes"),(0,s.eW)($,"layoutMindmap"),(0,s.eW)(B,"positionNodes");var F={draw:(0,s.eW)((async(t,e,n,r)=>{s.cM.debug("Rendering mindmap diagram\n"+t);const i=r.db,o=i.getMindmap();if(!o)return;const l=(0,s.nV)();l.htmlLabels=!1;const c=(0,a.P)(e),h=c.append("g");h.attr("class","mindmap-edges");const u=c.append("g");u.attr("class","mindmap-nodes"),await D(i,u,o,-1,l);const d=await $(o,l);O(h,d),B(i,d),(0,s.j7)(void 0,c,l.mindmap?.padding??s.vZ.mindmap.padding,l.mindmap?.useMaxWidth??s.vZ.mindmap.useMaxWidth)}),"draw")},W=(0,s.eW)((t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,h.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,u.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.Z)(t["lineColor"+e],20);for(let n=0;n<t.THEME_COLOR_LIMIT;n++){const r=""+(17-3*n);e+=`\n .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {\n fill: ${t["cScale"+n]};\n }\n .section-${n-1} text {\n fill: ${t["cScaleLabel"+n]};\n }\n .node-icon-${n-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+n]};\n }\n .section-edge-${n-1}{\n stroke: ${t["cScale"+n]};\n }\n .edge-depth-${n-1}{\n stroke-width: ${r};\n }\n .section-${n-1} line {\n stroke: ${t["cScaleInv"+n]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `}return e}),"genSections"),z={db:T,renderer:F,parser:g,styles:(0,s.eW)((t=>`\n .edge {\n stroke-width: 3;\n }\n ${W(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`),"getStyles")}},8661:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>E});var r=n(1957),i=n(7946),a=n(5430),s=n(4082),o=n(2491),l=n(3108),c=s.vZ.pie,h={sections:new Map,showData:!1,config:c},u=h.sections,d=h.showData,p=structuredClone(c),g=(0,s.eW)((()=>structuredClone(p)),"getConfig"),f=(0,s.eW)((()=>{u=new Map,d=h.showData,(0,s.ZH)()}),"clear"),m=(0,s.eW)((({label:t,value:e})=>{u.has(t)||(u.set(t,e),s.cM.debug(`added new section: ${t}, with value: ${e}`))}),"addSection"),y=(0,s.eW)((()=>u),"getSections"),v=(0,s.eW)((t=>{d=t}),"setShowData"),x=(0,s.eW)((()=>d),"getShowData"),b={getConfig:g,clear:f,setDiagramTitle:s.g2,getDiagramTitle:s.Kr,setAccTitle:s.GN,getAccTitle:s.eu,setAccDescription:s.U$,getAccDescription:s.Mx,addSection:m,getSections:y,setShowData:v,getShowData:x},w=(0,s.eW)(((t,e)=>{(0,r.A)(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)}),"populateDb"),k={parse:(0,s.eW)((async t=>{const e=await(0,o.Qc)("pie",t);s.cM.debug(e),w(e,b)}),"parse")},T=(0,s.eW)((t=>`\n .pieCircle{\n stroke: ${t.pieStrokeColor};\n stroke-width : ${t.pieStrokeWidth};\n opacity : ${t.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${t.pieOuterStrokeColor};\n stroke-width: ${t.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${t.pieTitleTextSize};\n fill: ${t.pieTitleTextColor};\n font-family: ${t.fontFamily};\n }\n .slice {\n font-family: ${t.fontFamily};\n fill: ${t.pieSectionTextColor};\n font-size:${t.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${t.pieLegendTextColor};\n font-family: ${t.fontFamily};\n font-size: ${t.pieLegendTextSize};\n }\n`),"getStyles"),_=(0,s.eW)((t=>{const e=[...t.entries()].map((t=>({label:t[0],value:t[1]}))).sort(((t,e)=>e.value-t.value));return(0,l.ve8)().value((t=>t.value))(e)}),"createPieArcs"),E={parser:k,db:b,renderer:{draw:(0,s.eW)(((t,e,n,r)=>{s.cM.debug("rendering pie chart\n"+t);const o=r.db,c=(0,s.nV)(),h=(0,i.Rb)(o.getConfig(),c.pie),u=(0,a.P)(e),d=u.append("g");d.attr("transform","translate(225,225)");const{themeVariables:p}=c;let[g]=(0,i.VG)(p.pieOuterStrokeWidth);g??=2;const f=h.textPosition,m=Math.min(450,450)/2-40,y=(0,l.Nb1)().innerRadius(0).outerRadius(m),v=(0,l.Nb1)().innerRadius(m*f).outerRadius(m*f);d.append("circle").attr("cx",0).attr("cy",0).attr("r",m+g/2).attr("class","pieOuterCircle");const x=o.getSections(),b=_(x),w=[p.pie1,p.pie2,p.pie3,p.pie4,p.pie5,p.pie6,p.pie7,p.pie8,p.pie9,p.pie10,p.pie11,p.pie12],k=(0,l.PKp)(w);d.selectAll("mySlices").data(b).enter().append("path").attr("d",y).attr("fill",(t=>k(t.data.label))).attr("class","pieCircle");let T=0;x.forEach((t=>{T+=t})),d.selectAll("mySlices").data(b).enter().append("text").text((t=>(t.data.value/T*100).toFixed(0)+"%")).attr("transform",(t=>"translate("+v.centroid(t)+")")).style("text-anchor","middle").attr("class","slice"),d.append("text").text(o.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");const E=d.selectAll(".legend").data(k.domain()).enter().append("g").attr("class","legend").attr("transform",((t,e)=>"translate(216,"+(22*e-22*k.domain().length/2)+")"));E.append("rect").attr("width",18).attr("height",18).style("fill",k).style("stroke",k),E.data(b).append("text").attr("x",22).attr("y",14).text((t=>{const{label:e,value:n}=t.data;return o.getShowData()?`${e} [${n}]`:e}));const S=512+Math.max(...E.selectAll("text").nodes().map((t=>t?.getBoundingClientRect().width??0)));u.attr("viewBox",`0 0 ${S} 450`),(0,s.v2)(u,450,S,h.useMaxWidth)}),"draw")},styles:T}},3661:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>M});var r=n(4082),i=n(3108),a=function(){var t=(0,r.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,3],n=[1,4],i=[1,5],a=[1,6],s=[1,7],o=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],c=[55,56,57],h=[2,36],u=[1,37],d=[1,36],p=[1,38],g=[1,35],f=[1,43],m=[1,41],y=[1,14],v=[1,23],x=[1,18],b=[1,19],w=[1,20],k=[1,21],T=[1,22],_=[1,24],E=[1,25],S=[1,26],C=[1,27],A=[1,28],L=[1,29],M=[1,32],N=[1,33],I=[1,34],R=[1,39],D=[1,40],O=[1,42],P=[1,44],$=[1,62],B=[1,61],F=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],W=[1,65],z=[1,66],Z=[1,67],Y=[1,68],U=[1,69],G=[1,70],V=[1,71],q=[1,72],j=[1,73],H=[1,74],X=[1,75],K=[1,76],Q=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],tt=[1,91],et=[1,92],nt=[1,99],rt=[1,93],it=[1,96],at=[1,94],st=[1,95],ot=[1,97],lt=[1,98],ct=[1,102],ht=[10,55,56,57],ut=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],dt={trace:(0,r.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,r.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 23:case 68:this.$=a[o];break;case 24:case 69:this.$=a[o-1]+""+a[o];break;case 26:this.$=a[o-1]+a[o];break;case 27:this.$=[a[o].trim()];break;case 28:a[o-2].push(a[o].trim()),this.$=a[o-2];break;case 29:this.$=a[o-4],r.addClass(a[o-2],a[o]);break;case 37:this.$=[];break;case 42:this.$=a[o].trim(),r.setDiagramTitle(this.$);break;case 43:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 44:case 45:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 46:r.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 47:r.addPoint(a[o-3],"",a[o-1],a[o],[]);break;case 48:r.addPoint(a[o-4],a[o-3],a[o-1],a[o],[]);break;case 49:r.addPoint(a[o-4],"",a[o-2],a[o-1],a[o]);break;case 50:r.addPoint(a[o-5],a[o-4],a[o-2],a[o-1],a[o]);break;case 51:r.setXAxisLeftText(a[o-2]),r.setXAxisRightText(a[o]);break;case 52:a[o-1].text+=" ⟶ ",r.setXAxisLeftText(a[o-1]);break;case 53:r.setXAxisLeftText(a[o]);break;case 54:r.setYAxisBottomText(a[o-2]),r.setYAxisTopText(a[o]);break;case 55:a[o-1].text+=" ⟶ ",r.setYAxisBottomText(a[o-1]);break;case 56:r.setYAxisBottomText(a[o]);break;case 57:r.setQuadrant1Text(a[o]);break;case 58:r.setQuadrant2Text(a[o]);break;case 59:r.setQuadrant3Text(a[o]);break;case 60:r.setQuadrant4Text(a[o]);break;case 64:case 66:this.$={text:a[o],type:"text"};break;case 65:this.$={text:a[o-1].text+""+a[o],type:a[o-1].type};break;case 67:this.$={text:a[o],type:"markdown"}}}),"anonymous"),table:[{18:e,26:1,27:2,28:n,55:i,56:a,57:s},{1:[3]},{18:e,26:8,27:2,28:n,55:i,56:a,57:s},{18:e,26:9,27:2,28:n,55:i,56:a,57:s},t(o,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(c,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:u,5:d,10:p,12:g,13:f,14:m,18:y,25:v,35:x,37:b,39:w,41:k,42:T,48:_,50:E,51:S,52:C,53:A,54:L,60:M,61:N,63:I,64:R,65:D,66:O,67:P}),t(o,[2,34]),{27:45,55:i,56:a,57:s},t(c,[2,37]),t(c,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:u,5:d,10:p,12:g,13:f,14:m,18:y,25:v,35:x,37:b,39:w,41:k,42:T,48:_,50:E,51:S,52:C,53:A,54:L,60:M,61:N,63:I,64:R,65:D,66:O,67:P}),t(c,[2,39]),t(c,[2,40]),t(c,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(c,[2,45]),t(c,[2,46]),{18:[1,50]},{4:u,5:d,10:p,12:g,13:f,14:m,43:51,58:31,60:M,61:N,63:I,64:R,65:D,66:O,67:P},{4:u,5:d,10:p,12:g,13:f,14:m,43:52,58:31,60:M,61:N,63:I,64:R,65:D,66:O,67:P},{4:u,5:d,10:p,12:g,13:f,14:m,43:53,58:31,60:M,61:N,63:I,64:R,65:D,66:O,67:P},{4:u,5:d,10:p,12:g,13:f,14:m,43:54,58:31,60:M,61:N,63:I,64:R,65:D,66:O,67:P},{4:u,5:d,10:p,12:g,13:f,14:m,43:55,58:31,60:M,61:N,63:I,64:R,65:D,66:O,67:P},{4:u,5:d,10:p,12:g,13:f,14:m,43:56,58:31,60:M,61:N,63:I,64:R,65:D,66:O,67:P},{4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,44:[1,57],47:[1,58],58:60,59:59,63:I,64:R,65:D,66:O,67:P},t(F,[2,64]),t(F,[2,66]),t(F,[2,67]),t(F,[2,70]),t(F,[2,71]),t(F,[2,72]),t(F,[2,73]),t(F,[2,74]),t(F,[2,75]),t(F,[2,76]),t(F,[2,77]),t(F,[2,78]),t(F,[2,79]),t(F,[2,80]),t(o,[2,35]),t(c,[2,38]),t(c,[2,42]),t(c,[2,43]),t(c,[2,44]),{3:64,4:W,5:z,6:Z,7:Y,8:U,9:G,10:V,11:q,12:j,13:H,14:X,15:K,21:63},t(c,[2,53],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,49:[1,77],63:I,64:R,65:D,66:O,67:P}),t(c,[2,56],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,49:[1,78],63:I,64:R,65:D,66:O,67:P}),t(c,[2,57],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,63:I,64:R,65:D,66:O,67:P}),t(c,[2,58],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,63:I,64:R,65:D,66:O,67:P}),t(c,[2,59],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,63:I,64:R,65:D,66:O,67:P}),t(c,[2,60],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,63:I,64:R,65:D,66:O,67:P}),{45:[1,79]},{44:[1,80]},t(F,[2,65]),t(F,[2,81]),t(F,[2,82]),t(F,[2,83]),{3:82,4:W,5:z,6:Z,7:Y,8:U,9:G,10:V,11:q,12:j,13:H,14:X,15:K,18:[1,81]},t(Q,[2,23]),t(Q,[2,1]),t(Q,[2,2]),t(Q,[2,3]),t(Q,[2,4]),t(Q,[2,5]),t(Q,[2,6]),t(Q,[2,7]),t(Q,[2,8]),t(Q,[2,9]),t(Q,[2,10]),t(Q,[2,11]),t(Q,[2,12]),t(c,[2,52],{58:31,43:83,4:u,5:d,10:p,12:g,13:f,14:m,60:M,61:N,63:I,64:R,65:D,66:O,67:P}),t(c,[2,55],{58:31,43:84,4:u,5:d,10:p,12:g,13:f,14:m,60:M,61:N,63:I,64:R,65:D,66:O,67:P}),{46:[1,85]},{45:[1,86]},{4:J,5:tt,6:et,8:nt,11:rt,13:it,16:89,17:at,18:st,19:ot,20:lt,22:88,23:87},t(Q,[2,24]),t(c,[2,51],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,63:I,64:R,65:D,66:O,67:P}),t(c,[2,54],{59:59,58:60,4:u,5:d,8:$,10:p,12:g,13:f,14:m,18:B,63:I,64:R,65:D,66:O,67:P}),t(c,[2,47],{22:88,16:89,23:100,4:J,5:tt,6:et,8:nt,11:rt,13:it,17:at,18:st,19:ot,20:lt}),{46:[1,101]},t(c,[2,29],{10:ct}),t(ht,[2,27],{16:103,4:J,5:tt,6:et,8:nt,11:rt,13:it,17:at,18:st,19:ot,20:lt}),t(ut,[2,25]),t(ut,[2,13]),t(ut,[2,14]),t(ut,[2,15]),t(ut,[2,16]),t(ut,[2,17]),t(ut,[2,18]),t(ut,[2,19]),t(ut,[2,20]),t(ut,[2,21]),t(ut,[2,22]),t(c,[2,49],{10:ct}),t(c,[2,48],{22:88,16:89,23:104,4:J,5:tt,6:et,8:nt,11:rt,13:it,17:at,18:st,19:ot,20:lt}),{4:J,5:tt,6:et,8:nt,11:rt,13:it,16:89,17:at,18:st,19:ot,20:lt,22:105},t(ut,[2,26]),t(c,[2,50],{10:ct}),t(ht,[2,28],{16:103,4:J,5:tt,6:et,8:nt,11:rt,13:it,17:at,18:st,19:ot,20:lt})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,r.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,r.eW)((function(t){var e=this,n=[0],i=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=s.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;s.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.eW)((function(t){n.length=n.length-2*t,a.length=a.length-t,s.length=s.length-t}),"popStack"),(0,r.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),a.push(p.yytext),s.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=a[a.length-E],A._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},y&&(A._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],a,s].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),a=a.slice(0,-1*E),s=s.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),a.push(A.$),s.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},pt=function(){return{EOF:1,parseError:(0,r.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,r.eW)((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}),"setInput"),input:(0,r.eW)((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}),"input"),unput:(0,r.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,r.eW)((function(){return this._more=!0,this}),"more"),reject:(0,r.eW)((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})}),"reject"),less:(0,r.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,r.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,r.eW)((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,"")}),"upcomingInput"),showPosition:(0,r.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,r.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,r.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,r.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,r.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,r.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,r.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,r.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,r.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,r.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.eW)((function(t,e,n,r){switch(n){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}}),"anonymous"),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,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/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:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],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:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}}}();function gt(){this.yy={}}return dt.lexer=pt,(0,r.eW)(gt,"Parser"),gt.prototype=dt,dt.Parser=gt,new gt}();a.parser=a;var s=a,o=(0,r.xN)(),l=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,r.eW)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:r.vZ.quadrantChart?.chartWidth||500,chartWidth:r.vZ.quadrantChart?.chartHeight||500,titlePadding:r.vZ.quadrantChart?.titlePadding||10,titleFontSize:r.vZ.quadrantChart?.titleFontSize||20,quadrantPadding:r.vZ.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:r.vZ.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:r.vZ.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:r.vZ.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:r.vZ.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:r.vZ.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:r.vZ.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:r.vZ.quadrantChart?.pointTextPadding||5,pointLabelFontSize:r.vZ.quadrantChart?.pointLabelFontSize||12,pointRadius:r.vZ.quadrantChart?.pointRadius||5,xAxisPosition:r.vZ.quadrantChart?.xAxisPosition||"top",yAxisPosition:r.vZ.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:r.vZ.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:r.vZ.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:o.quadrant1Fill,quadrant2Fill:o.quadrant2Fill,quadrant3Fill:o.quadrant3Fill,quadrant4Fill:o.quadrant4Fill,quadrant1TextFill:o.quadrant1TextFill,quadrant2TextFill:o.quadrant2TextFill,quadrant3TextFill:o.quadrant3TextFill,quadrant4TextFill:o.quadrant4TextFill,quadrantPointFill:o.quadrantPointFill,quadrantPointTextFill:o.quadrantPointTextFill,quadrantXAxisTextFill:o.quadrantXAxisTextFill,quadrantYAxisTextFill:o.quadrantYAxisTextFill,quadrantTitleFill:o.quadrantTitleFill,quadrantInternalBorderStrokeFill:o.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:o.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,r.cM.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){r.cM.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){r.cM.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,n,r){const i=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,a={top:"top"===t&&e?i:0,bottom:"bottom"===t&&e?i:0},s=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,o={left:"left"===this.config.yAxisPosition&&n?s:0,right:"right"===this.config.yAxisPosition&&n?s:0},l=this.config.titleFontSize+2*this.config.titlePadding,c={top:r?l:0},h=this.config.quadrantPadding+o.left,u=this.config.quadrantPadding+a.top+c.top,d=this.config.chartWidth-2*this.config.quadrantPadding-o.left-o.right,p=this.config.chartHeight-2*this.config.quadrantPadding-a.top-a.bottom-c.top;return{xAxisSpace:a,yAxisSpace:o,titleSpace:c,quadrantSpace:{quadrantLeft:h,quadrantTop:u,quadrantWidth:d,quadrantHalfWidth:d/2,quadrantHeight:p,quadrantHalfHeight:p/2}}}getAxisLabels(t,e,n,r){const{quadrantSpace:i,titleSpace:a}=r,{quadrantHalfHeight:s,quadrantHeight:o,quadrantLeft:l,quadrantHalfWidth:c,quadrantTop:h,quadrantWidth:u}=i,d=Boolean(this.data.xAxisRightText),p=Boolean(this.data.yAxisTopText),g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+(d?c/2:0),y:"top"===t?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+h+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:d?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+c+(d?c/2:0),y:"top"===t?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+h+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:d?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+u+this.config.quadrantPadding,y:h+o-(p?s/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+u+this.config.quadrantPadding,y:h+s-(p?s/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){const{quadrantSpace:e}=t,{quadrantHalfHeight:n,quadrantLeft:r,quadrantHalfWidth:i,quadrantTop:a}=e,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:r+i,y:a,width:i,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r,y:a,width:i,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r,y:a+n,width:i,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r+i,y:a+n,width:i,height:n,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:e}=t,{quadrantHeight:n,quadrantLeft:r,quadrantTop:a,quadrantWidth:s}=e,o=(0,i.BYU)().domain([0,1]).range([r,s+r]),l=(0,i.BYU)().domain([0,1]).range([n+a,a]);return this.data.points.map((t=>{const e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:o(t.x),y:l(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:o(t.x),y:l(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}}))}getBorders(t){const e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=t,{quadrantHalfHeight:r,quadrantHeight:i,quadrantLeft:a,quadrantHalfWidth:s,quadrantTop:o,quadrantWidth:l}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-e,y1:o,x2:a+l+e,y2:o},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a+l,y1:o+e,x2:a+l,y2:o+i-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-e,y1:o+i,x2:a+l+e,y2:o+i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a,y1:o+e,x2:a,y2:o+i-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+s,y1:o+e,x2:a+s,y2:o+i-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+e,y1:o+r,x2:a+l-e,y2:o+r}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),e=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,r=this.data.points.length>0?"bottom":this.config.xAxisPosition,i=this.calculateSpace(r,t,e,n);return{points:this.getQuadrantPoints(i),quadrants:this.getQuadrants(i),axisLabels:this.getAxisLabels(r,t,e,i),borderLines:this.getBorders(i),title:this.getTitle(n)}}},c=class extends Error{static{(0,r.eW)(this,"InvalidStyleError")}constructor(t,e,n){super(`value for ${t} ${e} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};function h(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function u(t){return!/^\d+$/.test(t)}function d(t){return!/^\d+px$/.test(t)}(0,r.eW)(h,"validateHexCode"),(0,r.eW)(u,"validateNumber"),(0,r.eW)(d,"validateSizeInPixels");var p=(0,r.nV)();function g(t){return(0,r.oO)(t.trim(),p)}(0,r.eW)(g,"textSanitizer");var f=new l;function m(t){f.setData({quadrant1Text:g(t.text)})}function y(t){f.setData({quadrant2Text:g(t.text)})}function v(t){f.setData({quadrant3Text:g(t.text)})}function x(t){f.setData({quadrant4Text:g(t.text)})}function b(t){f.setData({xAxisLeftText:g(t.text)})}function w(t){f.setData({xAxisRightText:g(t.text)})}function k(t){f.setData({yAxisTopText:g(t.text)})}function T(t){f.setData({yAxisBottomText:g(t.text)})}function _(t){const e={};for(const n of t){const[t,r]=n.trim().split(/\s*:\s*/);if("radius"===t){if(u(r))throw new c(t,r,"number");e.radius=parseInt(r)}else if("color"===t){if(h(r))throw new c(t,r,"hex code");e.color=r}else if("stroke-color"===t){if(h(r))throw new c(t,r,"hex code");e.strokeColor=r}else{if("stroke-width"!==t)throw new Error(`style named ${t} is not supported.`);if(d(r))throw new c(t,r,"number of pixels (eg. 10px)");e.strokeWidth=r}}return e}function E(t,e,n,r,i){const a=_(i);f.addPoints([{x:n,y:r,text:g(t.text),className:e,...a}])}function S(t,e){f.addClass(t,_(e))}function C(t){f.setConfig({chartWidth:t})}function A(t){f.setConfig({chartHeight:t})}function L(){const t=(0,r.nV)(),{themeVariables:e,quadrantChart:n}=t;return n&&f.setConfig(n),f.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),f.setData({titleText:(0,r.Kr)()}),f.build()}(0,r.eW)(m,"setQuadrant1Text"),(0,r.eW)(y,"setQuadrant2Text"),(0,r.eW)(v,"setQuadrant3Text"),(0,r.eW)(x,"setQuadrant4Text"),(0,r.eW)(b,"setXAxisLeftText"),(0,r.eW)(w,"setXAxisRightText"),(0,r.eW)(k,"setYAxisTopText"),(0,r.eW)(T,"setYAxisBottomText"),(0,r.eW)(_,"parseStyles"),(0,r.eW)(E,"addPoint"),(0,r.eW)(S,"addClass"),(0,r.eW)(C,"setWidth"),(0,r.eW)(A,"setHeight"),(0,r.eW)(L,"getQuadrantData");var M={parser:s,db:{setWidth:C,setHeight:A,setQuadrant1Text:m,setQuadrant2Text:y,setQuadrant3Text:v,setQuadrant4Text:x,setXAxisLeftText:b,setXAxisRightText:w,setYAxisTopText:k,setYAxisBottomText:T,parseStyles:_,addPoint:E,addClass:S,getQuadrantData:L,clear:(0,r.eW)((function(){f.clear(),(0,r.ZH)()}),"clear"),setAccTitle:r.GN,getAccTitle:r.eu,setDiagramTitle:r.g2,getDiagramTitle:r.Kr,getAccDescription:r.Mx,setAccDescription:r.U$},renderer:{draw:(0,r.eW)(((t,e,n,a)=>{function s(t){return"top"===t?"hanging":"middle"}function o(t){return"left"===t?"start":"middle"}function l(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,r.eW)(s,"getDominantBaseLine"),(0,r.eW)(o,"getTextAnchor"),(0,r.eW)(l,"getTransformation");const c=(0,r.nV)();r.cM.debug("Rendering quadrant chart\n"+t);const h=c.securityLevel;let u;"sandbox"===h&&(u=(0,i.Ys)("#i"+e));const d=("sandbox"===h?(0,i.Ys)(u.nodes()[0].contentDocument.body):(0,i.Ys)("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),g=c.quadrantChart?.chartWidth??500,f=c.quadrantChart?.chartHeight??500;(0,r.v2)(d,f,g,c.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+g+" "+f),a.db.setHeight(f),a.db.setWidth(g);const m=a.db.getQuadrantData(),y=p.append("g").attr("class","quadrants"),v=p.append("g").attr("class","border"),x=p.append("g").attr("class","data-points"),b=p.append("g").attr("class","labels"),w=p.append("g").attr("class","title");m.title&&w.append("text").attr("x",0).attr("y",0).attr("fill",m.title.fill).attr("font-size",m.title.fontSize).attr("dominant-baseline",s(m.title.horizontalPos)).attr("text-anchor",o(m.title.verticalPos)).attr("transform",l(m.title)).text(m.title.text),m.borderLines&&v.selectAll("line").data(m.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=y.selectAll("g.quadrant").data(m.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=>s(t.text.horizontalPos))).attr("text-anchor",(t=>o(t.text.verticalPos))).attr("transform",(t=>l(t.text))).text((t=>t.text.text)),b.selectAll("g.label").data(m.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=>s(t.horizontalPos))).attr("text-anchor",(t=>o(t.verticalPos))).attr("transform",(t=>l(t)));const T=x.selectAll("g.data-point").data(m.points).enter().append("g").attr("class","data-point");T.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeColor)).attr("stroke-width",(t=>t.strokeWidth)),T.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=>s(t.text.horizontalPos))).attr("text-anchor",(t=>o(t.text.verticalPos))).attr("transform",(t=>l(t.text)))}),"draw")},styles:(0,r.eW)((()=>""),"styles")}},9816:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>p});var r=n(907),i=n(8337),a=(n(1566),n(5179),n(3583),n(1426),n(6241),n(214),n(7946)),s=n(4082),o=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,3],n=[1,4],r=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],o=[1,22],l=[2,7],c=[1,26],h=[1,27],u=[1,28],d=[1,29],p=[1,33],g=[1,34],f=[1,35],m=[1,36],y=[1,37],v=[1,38],x=[1,24],b=[1,31],w=[1,32],k=[1,30],T=[1,39],_=[1,40],E=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],S=[1,61],C=[89,90],A=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],L=[27,29],M=[1,70],N=[1,71],I=[1,72],R=[1,73],D=[1,74],O=[1,75],P=[1,76],$=[1,83],B=[1,80],F=[1,84],W=[1,85],z=[1,86],Z=[1,87],Y=[1,88],U=[1,89],G=[1,90],V=[1,91],q=[1,92],j=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],H=[63,64],X=[1,101],K=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Q=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],J=[1,110],tt=[1,106],et=[1,107],nt=[1,108],rt=[1,109],it=[1,111],at=[1,116],st=[1,117],ot=[1,114],lt=[1,115],ct={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 4:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:r.setDirection("TB");break;case 18:r.setDirection("BT");break;case 19:r.setDirection("RL");break;case 20:r.setDirection("LR");break;case 21:r.addRequirement(a[o-3],a[o-4]);break;case 22:r.addRequirement(a[o-5],a[o-6]),r.setClass([a[o-5]],a[o-3]);break;case 23:r.setNewReqId(a[o-2]);break;case 24:r.setNewReqText(a[o-2]);break;case 25:r.setNewReqRisk(a[o-2]);break;case 26:r.setNewReqVerifyMethod(a[o-2]);break;case 29:this.$=r.RequirementType.REQUIREMENT;break;case 30:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=r.RiskLevel.LOW_RISK;break;case 36:this.$=r.RiskLevel.MED_RISK;break;case 37:this.$=r.RiskLevel.HIGH_RISK;break;case 38:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=r.VerifyType.VERIFY_TEST;break;case 42:r.addElement(a[o-3]);break;case 43:r.addElement(a[o-5]),r.setClass([a[o-5]],a[o-3]);break;case 44:r.setNewElementType(a[o-2]);break;case 45:r.setNewElementDocRef(a[o-2]);break;case 48:r.addRelationship(a[o-2],a[o],a[o-4]);break;case 49:r.addRelationship(a[o-2],a[o-4],a[o]);break;case 50:this.$=r.Relationships.CONTAINS;break;case 51:this.$=r.Relationships.COPIES;break;case 52:this.$=r.Relationships.DERIVES;break;case 53:this.$=r.Relationships.SATISFIES;break;case 54:this.$=r.Relationships.VERIFIES;break;case 55:this.$=r.Relationships.REFINES;break;case 56:this.$=r.Relationships.TRACES;break;case 57:this.$=a[o-2],r.defineClass(a[o-1],a[o]);break;case 58:r.setClass(a[o-1],a[o]);break;case 59:r.setClass([a[o-2]],a[o]);break;case 60:case 62:case 65:this.$=[a[o]];break;case 61:case 63:this.$=a[o-2].concat([a[o]]);break;case 64:this.$=a[o-2],r.setCssStyle(a[o-1],a[o]);break;case 66:a[o-2].push(a[o]),this.$=a[o-2];break;case 68:this.$=a[o-1]+a[o]}}),"anonymous"),table:[{3:1,4:2,6:e,9:n,11:r,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:n,11:r,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:n,11:r,13:i},{1:[2,2]},{4:17,5:o,7:13,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:o,7:42,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:43,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:44,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:45,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:46,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:47,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:48,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:49,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{4:17,5:o,7:50,8:l,9:n,11:r,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:c,22:h,23:u,24:d,25:23,33:25,41:p,42:g,43:f,44:m,45:y,46:v,54:x,72:b,74:w,77:k,89:T,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{30:60,33:62,75:S,89:T,90:_},{30:63,33:62,75:S,89:T,90:_},{30:64,33:62,75:S,89:T,90:_},t(C,[2,29]),t(C,[2,30]),t(C,[2,31]),t(C,[2,32]),t(C,[2,33]),t(C,[2,34]),t(A,[2,81]),t(A,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(L,[2,79]),t(L,[2,80]),{27:[1,67],29:[1,68]},t(L,[2,85]),t(L,[2,86]),{62:69,65:M,66:N,67:I,68:R,69:D,70:O,71:P},{62:77,65:M,66:N,67:I,68:R,69:D,70:O,71:P},{30:78,33:62,75:S,89:T,90:_},{73:79,75:$,76:B,78:81,79:82,80:F,81:W,82:z,83:Z,84:Y,85:U,86:G,87:V,88:q},t(j,[2,60]),t(j,[2,62]),{73:93,75:$,76:B,78:81,79:82,80:F,81:W,82:z,83:Z,84:Y,85:U,86:G,87:V,88:q},{30:94,33:62,75:S,76:B,89:T,90:_},{5:[1,95]},{30:96,33:62,75:S,89:T,90:_},{5:[1,97]},{30:98,33:62,75:S,89:T,90:_},{63:[1,99]},t(H,[2,50]),t(H,[2,51]),t(H,[2,52]),t(H,[2,53]),t(H,[2,54]),t(H,[2,55]),t(H,[2,56]),{64:[1,100]},t(E,[2,59],{76:B}),t(E,[2,64],{76:X}),{33:103,75:[1,102],89:T,90:_},t(K,[2,65],{79:104,75:$,80:F,81:W,82:z,83:Z,84:Y,85:U,86:G,87:V,88:q}),t(Q,[2,67]),t(Q,[2,69]),t(Q,[2,70]),t(Q,[2,71]),t(Q,[2,72]),t(Q,[2,73]),t(Q,[2,74]),t(Q,[2,75]),t(Q,[2,76]),t(Q,[2,77]),t(Q,[2,78]),t(E,[2,57],{76:X}),t(E,[2,58],{76:B}),{5:J,28:105,31:tt,34:et,36:nt,38:rt,40:it},{27:[1,112],76:B},{5:at,40:st,56:113,57:ot,59:lt},{27:[1,118],76:B},{33:119,89:T,90:_},{33:120,89:T,90:_},{75:$,78:121,79:82,80:F,81:W,82:z,83:Z,84:Y,85:U,86:G,87:V,88:q},t(j,[2,61]),t(j,[2,63]),t(Q,[2,68]),t(E,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:J,28:126,31:tt,34:et,36:nt,38:rt,40:it},t(E,[2,28]),{5:[1,127]},t(E,[2,42]),{32:[1,128]},{32:[1,129]},{5:at,40:st,56:130,57:ot,59:lt},t(E,[2,47]),{5:[1,131]},t(E,[2,48]),t(E,[2,49]),t(K,[2,66],{79:104,75:$,80:F,81:W,82:z,83:Z,84:Y,85:U,86:G,87:V,88:q}),{33:132,89:T,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(E,[2,27]),{5:J,28:145,31:tt,34:et,36:nt,38:rt,40:it},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(E,[2,46]),{5:at,40:st,56:152,57:ot,59:lt},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(E,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(E,[2,43]),{5:J,28:159,31:tt,34:et,36:nt,38:rt,40:it},{5:J,28:160,31:tt,34:et,36:nt,38:rt,40:it},{5:J,28:161,31:tt,34:et,36:nt,38:rt,40:it},{5:J,28:162,31:tt,34:et,36:nt,38:rt,40:it},{5:at,40:st,56:163,57:ot,59:lt},{5:at,40:st,56:164,57:ot,59:lt},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(E,[2,26]),t(E,[2,44]),t(E,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},ht=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return e.yytext=e.yytext.trim(),89;case 69:return 80;case 70:return 76}}),"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}}}();function ut(){this.yy={}}return ct.lexer=ht,(0,s.eW)(ut,"Parser"),ut.prototype=ct,ct.Parser=ut,new ut}();o.parser=o;var l=o,c=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=s.GN,this.getAccTitle=s.eu,this.setAccDescription=s.U$,this.getAccDescription=s.Mx,this.setDiagramTitle=s.g2,this.getDiagramTitle=s.Kr,this.getConfig=(0,s.eW)((()=>(0,s.nV)().requirement),"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,s.eW)(this,"RequirementDB")}getDirection(){return this.direction}setDirection(t){this.direction=t}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(t,e){return this.requirements.has(t)||this.requirements.set(t,{name:t,type:e,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(t)}getRequirements(){return this.requirements}setNewReqId(t){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=t)}setNewReqText(t){void 0!==this.latestRequirement&&(this.latestRequirement.text=t)}setNewReqRisk(t){void 0!==this.latestRequirement&&(this.latestRequirement.risk=t)}setNewReqVerifyMethod(t){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=t)}addElement(t){return this.elements.has(t)||(this.elements.set(t,{name:t,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),s.cM.info("Added new element: ",t)),this.resetLatestElement(),this.elements.get(t)}getElements(){return this.elements}setNewElementType(t){void 0!==this.latestElement&&(this.latestElement.type=t)}setNewElementDocRef(t){void 0!==this.latestElement&&(this.latestElement.docRef=t)}addRelationship(t,e,n){this.relations.push({type:t,src:e,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,(0,s.ZH)()}setCssStyle(t,e){for(const n of t){const t=this.requirements.get(n)??this.elements.get(n);if(!e||!t)return;for(const n of e)n.includes(",")?t.cssStyles.push(...n.split(",")):t.cssStyles.push(n)}}setClass(t,e){for(const n of t){const t=this.requirements.get(n)??this.elements.get(n);if(t)for(const n of e){t.classes.push(n);const e=this.classes.get(n)?.styles;e&&t.cssStyles.push(...e)}}}defineClass(t,e){for(const n of t){let t=this.classes.get(n);void 0===t&&(t={id:n,styles:[],textStyles:[]},this.classes.set(n,t)),e&&e.forEach((function(e){if(/color/.exec(e)){const n=e.replace("fill","bgFill");t.textStyles.push(n)}t.styles.push(e)})),this.requirements.forEach((t=>{t.classes.includes(n)&&t.cssStyles.push(...e.flatMap((t=>t.split(","))))})),this.elements.forEach((t=>{t.classes.includes(n)&&t.cssStyles.push(...e.flatMap((t=>t.split(","))))}))}}getClasses(){return this.classes}getData(){const t=(0,s.nV)(),e=[],n=[];for(const n of this.requirements.values()){const r=n;r.id=n.name,r.cssStyles=n.cssStyles,r.cssClasses=n.classes.join(" "),r.shape="requirementBox",r.look=t.look,e.push(r)}for(const n of this.elements.values()){const r=n;r.shape="requirementBox",r.look=t.look,r.id=n.name,r.cssStyles=n.cssStyles,r.cssClasses=n.classes.join(" "),e.push(r)}for(const e of this.relations){let r=0;const i=e.type===this.Relationships.CONTAINS,a={id:`${e.src}-${e.dst}-${r}`,start:this.requirements.get(e.src)?.name??this.elements.get(e.src)?.name,end:this.requirements.get(e.dst)?.name??this.elements.get(e.dst)?.name,label:`&lt;&lt;${e.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",i?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:i?"normal":"dashed",arrowTypeStart:i?"requirement_contains":"",arrowTypeEnd:i?"":"requirement_arrow",look:t.look};n.push(a),r++}return{nodes:e,edges:n,other:{},config:t,direction:this.getDirection()}}},h=(0,s.eW)((t=>`\n\n marker {\n fill: ${t.relationColor};\n stroke: ${t.relationColor};\n }\n\n marker.cross {\n stroke: ${t.lineColor};\n }\n\n svg {\n font-family: ${t.fontFamily};\n font-size: ${t.fontSize};\n }\n\n .reqBox {\n fill: ${t.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${t.requirementBorderColor};\n stroke-width: ${t.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${t.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${t.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${t.requirementBorderColor};\n stroke-width: ${t.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${t.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${t.relationLabelColor};\n }\n .divider {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n }\n .label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n .labelBkg {\n background-color: ${t.edgeLabelBackground};\n }\n\n`),"getStyles"),u={};(0,s.r2)(u,{draw:()=>d});var d=(0,s.eW)((async function(t,e,n,o){s.cM.info("REF0:"),s.cM.info("Drawing requirement diagram (unified)",e);const{securityLevel:l,state:c,layout:h}=(0,s.nV)(),u=o.db.getData(),d=(0,r.q)(e,l);u.type=o.type,u.layoutAlgorithm=(0,i._b)(h),u.nodeSpacing=c?.nodeSpacing??50,u.rankSpacing=c?.rankSpacing??50,u.markers=["requirement_contains","requirement_arrow"],u.diagramId=e,await(0,i.sY)(u,d),a.w8.insertTitle(d,"requirementDiagramTitleText",c?.titleTopMargin??25,o.db.getDiagramTitle()),(0,r.j)(d,8,"requirementDiagram",c?.useMaxWidth??!0)}),"draw"),p={parser:l,get db(){return new c},renderer:u,styles:h}},7096:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>it});var r=n(4082),i=n(3108);function a(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function s(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function l(t,e){let n=0;if(void 0===e)for(let e of t)(e=+e)&&(n+=e);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&(n+=i)}return n}function c(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function h(t){return function(){return t}}function u(t,e){return p(t.source,e.source)||t.index-e.index}function d(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function g(t){return t.value}function f(t){return t.index}function m(t){return t.nodes}function y(t){return t.links}function v(t,e){const n=t.get(e);if(!n)throw new Error("missing: "+e);return n}function x({nodes:t}){for(const e of t){let t=e.y0,n=t;for(const n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(const t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var b=Math.PI,w=2*b,k=1e-6,T=w-k;function _(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function E(){return new _}_.prototype=E.prototype={constructor:_,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,s=this._y1,o=n-t,l=r-e,c=a-t,h=s-e,u=c*c+h*h;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>k)if(Math.abs(h*o-l*c)>k&&i){var d=n-a,p=r-s,g=o*o+l*l,f=d*d+p*p,m=Math.sqrt(g),y=Math.sqrt(u),v=i*Math.tan((b-Math.acos((g+u-f)/(2*m*y)))/2),x=v/y,w=v/m;Math.abs(x-1)>k&&(this._+="L"+(t+x*c)+","+(e+x*h)),this._+="A"+i+","+i+",0,0,"+ +(h*d>c*p)+","+(this._x1=t+w*o)+","+(this._y1=e+w*l)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var s=(n=+n)*Math.cos(r),o=n*Math.sin(r),l=t+s,c=e+o,h=1^a,u=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+l+","+c:(Math.abs(this._x1-l)>k||Math.abs(this._y1-c)>k)&&(this._+="L"+l+","+c),n&&(u<0&&(u=u%w+w),u>T?this._+="A"+n+","+n+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+n+","+n+",0,1,"+h+","+(this._x1=l)+","+(this._y1=c):u>k&&(this._+="A"+n+","+n+",0,"+ +(u>=b)+","+h+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};const S=E;var C=Array.prototype.slice;function A(t){return function(){return t}}function L(t){return t[0]}function M(t){return t[1]}function N(t){return t.source}function I(t){return t.target}function R(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function D(t){return[t.source.x1,t.y0]}function O(t){return[t.target.x0,t.y1]}function P(){return function(t){var e=N,n=I,r=L,i=M,a=null;function s(){var s,o=C.call(arguments),l=e.apply(this,o),c=n.apply(this,o);if(a||(a=s=S()),t(a,+r.apply(this,(o[0]=l,o)),+i.apply(this,o),+r.apply(this,(o[0]=c,o)),+i.apply(this,o)),s)return a=null,s+""||null}return s.source=function(t){return arguments.length?(e=t,s):e},s.target=function(t){return arguments.length?(n=t,s):n},s.x=function(t){return arguments.length?(r="function"==typeof t?t:A(+t),s):r},s.y=function(t){return arguments.length?(i="function"==typeof t?t:A(+t),s):i},s.context=function(t){return arguments.length?(a=null==t?null:t,s):a},s}(R).source(D).target(O)}var $=function(){var t=(0,r.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,9],n=[1,10],i=[1,5,10,12],a={trace:(0,r.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,r.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 7:const t=r.findOrCreateNode(a[o-4].trim().replaceAll('""','"')),e=r.findOrCreateNode(a[o-2].trim().replaceAll('""','"')),n=parseFloat(a[o].trim());r.addLink(t,e,n);break;case 8:case 9:case 11:this.$=a[o];break;case 10:this.$=a[o-1]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,r.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,r.eW)((function(t){var e=this,n=[0],i=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=s.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;s.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.eW)((function(t){n.length=n.length-2*t,a.length=a.length-t,s.length=s.length-t}),"popStack"),(0,r.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),a.push(p.yytext),s.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=a[a.length-E],A._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},y&&(A._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],a,s].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),a=a.slice(0,-1*E),s=s.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),a.push(A.$),s.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},s=function(){return{EOF:1,parseError:(0,r.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,r.eW)((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}),"setInput"),input:(0,r.eW)((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}),"input"),unput:(0,r.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,r.eW)((function(){return this._more=!0,this}),"more"),reject:(0,r.eW)((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})}),"reject"),less:(0,r.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,r.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,r.eW)((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,"")}),"upcomingInput"),showPosition:(0,r.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,r.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,r.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,r.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,r.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,r.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,r.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,r.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,r.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,r.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.eW)((function(t,e,n,r){switch(n){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}}),"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}}();function o(){this.yy={}}return a.lexer=s,(0,r.eW)(o,"Parser"),o.prototype=a,a.Parser=o,new o}();$.parser=$;var B=$,F=[],W=[],z=new Map,Z=(0,r.eW)((()=>{F=[],W=[],z=new Map,(0,r.ZH)()}),"clear"),Y=class{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}static{(0,r.eW)(this,"SankeyLink")}},U=(0,r.eW)(((t,e,n)=>{F.push(new Y(t,e,n))}),"addLink"),G=class{constructor(t){this.ID=t}static{(0,r.eW)(this,"SankeyNode")}},V=(0,r.eW)((t=>{t=r.SY.sanitizeText(t,(0,r.nV)());let e=z.get(t);return void 0===e&&(e=new G(t),z.set(t,e),W.push(e)),e}),"findOrCreateNode"),q=(0,r.eW)((()=>W),"getNodes"),j=(0,r.eW)((()=>F),"getLinks"),H=(0,r.eW)((()=>({nodes:W.map((t=>({id:t.ID}))),links:F.map((t=>({source:t.source.ID,target:t.target.ID,value:t.value})))})),"getGraph"),X={nodesMap:z,getConfig:(0,r.eW)((()=>(0,r.nV)().sankey),"getConfig"),getNodes:q,getLinks:j,getGraph:H,addLink:U,findOrCreateNode:V,getAccTitle:r.eu,setAccTitle:r.GN,getAccDescription:r.Mx,setAccDescription:r.U$,getDiagramTitle:r.Kr,setDiagramTitle:r.g2,clear:Z},K=class t{static{(0,r.eW)(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},Q={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?a(t.sourceLinks,s)-1:0},justify:o},J=(0,r.eW)((function(t,e,n,s){const{securityLevel:b,sankey:w}=(0,r.nV)(),k=r.Fy.sankey;let T;"sandbox"===b&&(T=(0,i.Ys)("#i"+e));const _="sandbox"===b?(0,i.Ys)(T.nodes()[0].contentDocument.body):(0,i.Ys)("body"),E="sandbox"===b?_.select(`[id="${e}"]`):(0,i.Ys)(`[id="${e}"]`),S=w?.width??k.width,C=w?.height??k.width,A=w?.useMaxWidth??k.useMaxWidth,L=w?.nodeAlignment??k.nodeAlignment,M=w?.prefix??k.prefix,N=w?.suffix??k.suffix,I=w?.showValues??k.showValues,R=s.db.getGraph(),D=Q[L];(function(){let t,e,n,r=0,i=0,s=1,b=1,w=24,k=8,T=f,_=o,E=m,S=y,C=6;function A(){const o={nodes:E.apply(null,arguments),links:S.apply(null,arguments)};return function({nodes:t,links:e}){for(const[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];const r=new Map(t.map(((e,n)=>[T(e,n,t),e])));for(const[t,n]of e.entries()){n.index=t;let{source:e,target:i}=n;"object"!=typeof e&&(e=n.source=v(r,e)),"object"!=typeof i&&(i=n.target=v(r,i)),e.sourceLinks.push(n),i.targetLinks.push(n)}if(null!=n)for(const{sourceLinks:e,targetLinks:r}of t)e.sort(n),r.sort(n)}(o),function({nodes:t}){for(const e of t)e.value=void 0===e.fixedValue?Math.max(l(e.sourceLinks,g),l(e.targetLinks,g)):e.fixedValue}(o),function({nodes:t}){const e=t.length;let n=new Set(t),r=new Set,i=0;for(;n.size;){for(const t of n){t.depth=i;for(const{target:e}of t.sourceLinks)r.add(e)}if(++i>e)throw new Error("circular link");n=r,r=new Set}}(o),function({nodes:t}){const e=t.length;let n=new Set(t),r=new Set,i=0;for(;n.size;){for(const t of n){t.height=i;for(const{source:e}of t.targetLinks)r.add(e)}if(++i>e)throw new Error("circular link");n=r,r=new Set}}(o),function(n){const o=function({nodes:t}){const n=c(t,(t=>t.depth))+1,i=(s-r-w)/(n-1),a=new Array(n);for(const e of t){const t=Math.max(0,Math.min(n-1,Math.floor(_.call(null,e,n))));e.layer=t,e.x0=r+t*i,e.x1=e.x0+w,a[t]?a[t].push(e):a[t]=[e]}if(e)for(const t of a)t.sort(e);return a}(n);t=Math.min(k,(b-i)/(c(o,(t=>t.length))-1)),function(e){const n=a(e,(e=>(b-i-(e.length-1)*t)/l(e,g)));for(const r of e){let e=i;for(const i of r){i.y0=e,i.y1=e+i.value*n,e=i.y1+t;for(const t of i.sourceLinks)t.width=t.value*n}e=(b-e+t)/(r.length+1);for(let t=0;t<r.length;++t){const n=r[t];n.y0+=e*(t+1),n.y1+=e*(t+1)}O(r)}}(o);for(let t=0;t<C;++t){const e=Math.pow(.99,t),n=Math.max(1-e,(t+1)/C);M(o,e,n),L(o,e,n)}}(o),x(o),o}function L(t,n,r){for(let i=1,a=t.length;i<a;++i){const a=t[i];for(const t of a){let e=0,r=0;for(const{source:n,value:i}of t.targetLinks){let a=i*(t.layer-n.layer);e+=P(n,t)*a,r+=a}if(!(r>0))continue;let i=(e/r-t.y0)*n;t.y0+=i,t.y1+=i,D(t)}void 0===e&&a.sort(p),N(a,r)}}function M(t,n,r){for(let i=t.length-2;i>=0;--i){const a=t[i];for(const t of a){let e=0,r=0;for(const{target:n,value:i}of t.sourceLinks){let a=i*(n.layer-t.layer);e+=$(t,n)*a,r+=a}if(!(r>0))continue;let i=(e/r-t.y0)*n;t.y0+=i,t.y1+=i,D(t)}void 0===e&&a.sort(p),N(a,r)}}function N(e,n){const r=e.length>>1,a=e[r];R(e,a.y0-t,r-1,n),I(e,a.y1+t,r+1,n),R(e,b,e.length-1,n),I(e,i,0,n)}function I(e,n,r,i){for(;r<e.length;++r){const a=e[r],s=(n-a.y0)*i;s>1e-6&&(a.y0+=s,a.y1+=s),n=a.y1+t}}function R(e,n,r,i){for(;r>=0;--r){const a=e[r],s=(a.y1-n)*i;s>1e-6&&(a.y0-=s,a.y1-=s),n=a.y0-t}}function D({sourceLinks:t,targetLinks:e}){if(void 0===n){for(const{source:{sourceLinks:t}}of e)t.sort(d);for(const{target:{targetLinks:e}}of t)e.sort(u)}}function O(t){if(void 0===n)for(const{sourceLinks:e,targetLinks:n}of t)e.sort(d),n.sort(u)}function P(e,n){let r=e.y0-(e.sourceLinks.length-1)*t/2;for(const{target:i,width:a}of e.sourceLinks){if(i===n)break;r+=a+t}for(const{source:t,width:i}of n.targetLinks){if(t===e)break;r-=i}return r}function $(e,n){let r=n.y0-(n.targetLinks.length-1)*t/2;for(const{source:i,width:a}of n.targetLinks){if(i===e)break;r+=a+t}for(const{target:t,width:i}of e.sourceLinks){if(t===n)break;r-=i}return r}return A.update=function(t){return x(t),t},A.nodeId=function(t){return arguments.length?(T="function"==typeof t?t:h(t),A):T},A.nodeAlign=function(t){return arguments.length?(_="function"==typeof t?t:h(t),A):_},A.nodeSort=function(t){return arguments.length?(e=t,A):e},A.nodeWidth=function(t){return arguments.length?(w=+t,A):w},A.nodePadding=function(e){return arguments.length?(k=t=+e,A):k},A.nodes=function(t){return arguments.length?(E="function"==typeof t?t:h(t),A):E},A.links=function(t){return arguments.length?(S="function"==typeof t?t:h(t),A):S},A.linkSort=function(t){return arguments.length?(n=t,A):n},A.size=function(t){return arguments.length?(r=i=0,s=+t[0],b=+t[1],A):[s-r,b-i]},A.extent=function(t){return arguments.length?(r=+t[0][0],s=+t[1][0],i=+t[0][1],b=+t[1][1],A):[[r,i],[s,b]]},A.iterations=function(t){return arguments.length?(C=+t,A):C},A})().nodeId((t=>t.id)).nodeWidth(10).nodePadding(10+(I?15:0)).nodeAlign(D).extent([[0,0],[S,C]])(R);const O=(0,i.PKp)(i.K2I);E.append("g").attr("class","nodes").selectAll(".node").data(R.nodes).join("g").attr("class","node").attr("id",(t=>(t.uid=K.next("node-")).id)).attr("transform",(function(t){return"translate("+t.x0+","+t.y0+")"})).attr("x",(t=>t.x0)).attr("y",(t=>t.y0)).append("rect").attr("height",(t=>t.y1-t.y0)).attr("width",(t=>t.x1-t.x0)).attr("fill",(t=>O(t.id)));const $=(0,r.eW)((({id:t,value:e})=>I?`${t}\n${M}${Math.round(100*e)/100}${N}`:t),"getText");E.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(R.nodes).join("text").attr("x",(t=>t.x0<S/2?t.x1+6:t.x0-6)).attr("y",(t=>(t.y1+t.y0)/2)).attr("dy",(I?"0":"0.35")+"em").attr("text-anchor",(t=>t.x0<S/2?"start":"end")).text($);const B=E.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(R.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),F=w?.linkColor??"gradient";if("gradient"===F){const t=B.append("linearGradient").attr("id",(t=>(t.uid=K.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(t=>t.source.x1)).attr("x2",(t=>t.target.x0));t.append("stop").attr("offset","0%").attr("stop-color",(t=>O(t.source.id))),t.append("stop").attr("offset","100%").attr("stop-color",(t=>O(t.target.id)))}let W;switch(F){case"gradient":W=(0,r.eW)((t=>t.uid),"coloring");break;case"source":W=(0,r.eW)((t=>O(t.source.id)),"coloring");break;case"target":W=(0,r.eW)((t=>O(t.target.id)),"coloring");break;default:W=F}B.append("path").attr("d",P()).attr("stroke",W).attr("stroke-width",(t=>Math.max(1,t.width))),(0,r.j7)(void 0,E,0,A)}),"draw"),tt={draw:J},et=(0,r.eW)((t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim()),"prepareTextForParsing"),nt=(0,r.eW)((t=>`.label {\n font-family: ${t.fontFamily};\n }`),"getStyles"),rt=B.parse.bind(B);B.parse=t=>rt(et(t));var it={styles:nt,parser:B,db:X,renderer:tt}},4438:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>mt});var r=n(279),i=n(7207),a=n(7946),s=n(4082),o=n(3108),l=n(7967),c=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,2],n=[1,3],r=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,13],c=[1,14],h=[1,16],u=[1,17],d=[1,18],p=[1,24],g=[1,25],f=[1,26],m=[1,27],y=[1,28],v=[1,29],x=[1,30],b=[1,31],w=[1,32],k=[1,33],T=[1,34],_=[1,35],E=[1,36],S=[1,37],C=[1,38],A=[1,39],L=[1,41],M=[1,42],N=[1,43],I=[1,44],R=[1,45],D=[1,46],O=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],B=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],W=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],z=[68,69,70],Z=[1,122],Y={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 3:return r.apply(a[o]),a[o];case 4:case 9:case 8:case 13:this.$=[];break;case 5:case 10:a[o-1].push(a[o]),this.$=a[o-1];break;case 6:case 7:case 11:case 12:case 62:this.$=a[o];break;case 15:a[o].type="createParticipant",this.$=a[o];break;case 16:a[o-1].unshift({type:"boxStart",boxData:r.parseBoxData(a[o-2])}),a[o-1].push({type:"boxEnd",boxText:a[o-2]}),this.$=a[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(a[o-2]),sequenceIndexStep:Number(a[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(a[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[o-1].actor};break;case 23:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[o-1].actor};break;case 29:r.setDiagramTitle(a[o].substring(6)),this.$=a[o].substring(6);break;case 30:r.setDiagramTitle(a[o].substring(7)),this.$=a[o].substring(7);break;case 31:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 32:case 33:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 34:a[o-1].unshift({type:"loopStart",loopText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 35:a[o-1].unshift({type:"rectStart",color:r.parseMessage(a[o-2]),signalType:r.LINETYPE.RECT_START}),a[o-1].push({type:"rectEnd",color:r.parseMessage(a[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=a[o-1];break;case 36:a[o-1].unshift({type:"optStart",optText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=a[o-1];break;case 37:a[o-1].unshift({type:"altStart",altText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.ALT_START}),a[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[o-1];break;case 38:a[o-1].unshift({type:"parStart",parText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.PAR_START}),a[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[o-1];break;case 39:a[o-1].unshift({type:"parStart",parText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.PAR_OVER_START}),a[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[o-1];break;case 40:a[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.CRITICAL_START}),a[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=a[o-1];break;case 41:a[o-1].unshift({type:"breakStart",breakText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.BREAK_START}),a[o-1].push({type:"breakEnd",optText:r.parseMessage(a[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=a[o-1];break;case 43:this.$=a[o-3].concat([{type:"option",optionText:r.parseMessage(a[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},a[o]]);break;case 45:this.$=a[o-3].concat([{type:"and",parText:r.parseMessage(a[o-1]),signalType:r.LINETYPE.PAR_AND},a[o]]);break;case 47:this.$=a[o-3].concat([{type:"else",altText:r.parseMessage(a[o-1]),signalType:r.LINETYPE.ALT_ELSE},a[o]]);break;case 48:a[o-3].draw="participant",a[o-3].type="addParticipant",a[o-3].description=r.parseMessage(a[o-1]),this.$=a[o-3];break;case 49:a[o-1].draw="participant",a[o-1].type="addParticipant",this.$=a[o-1];break;case 50:a[o-3].draw="actor",a[o-3].type="addParticipant",a[o-3].description=r.parseMessage(a[o-1]),this.$=a[o-3];break;case 51:a[o-1].draw="actor",a[o-1].type="addParticipant",this.$=a[o-1];break;case 52:a[o-1].type="destroyParticipant",this.$=a[o-1];break;case 53:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 54:a[o-2]=[].concat(a[o-1],a[o-1]).slice(0,2),a[o-2][0]=a[o-2][0].actor,a[o-2][1]=a[o-2][1].actor,this.$=[a[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[o-2].slice(0,2),text:a[o]}];break;case 55:this.$=[a[o-1],{type:"addLinks",actor:a[o-1].actor,text:a[o]}];break;case 56:this.$=[a[o-1],{type:"addALink",actor:a[o-1].actor,text:a[o]}];break;case 57:this.$=[a[o-1],{type:"addProperties",actor:a[o-1].actor,text:a[o]}];break;case 58:this.$=[a[o-1],{type:"addDetails",actor:a[o-1].actor,text:a[o]}];break;case 61:this.$=[a[o-2],a[o]];break;case 63:this.$=r.PLACEMENT.LEFTOF;break;case 64:this.$=r.PLACEMENT.RIGHTOF;break;case 65:this.$=[a[o-4],a[o-1],{type:"addMessage",from:a[o-4].actor,to:a[o-1].actor,signalType:a[o-3],msg:a[o],activate:!0},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[o-1].actor}];break;case 66:this.$=[a[o-4],a[o-1],{type:"addMessage",from:a[o-4].actor,to:a[o-1].actor,signalType:a[o-3],msg:a[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[o-4].actor}];break;case 67:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 68:this.$={type:"addParticipant",actor:a[o]};break;case 69:this.$=r.LINETYPE.SOLID_OPEN;break;case 70:this.$=r.LINETYPE.DOTTED_OPEN;break;case 71:this.$=r.LINETYPE.SOLID;break;case 72:this.$=r.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=r.LINETYPE.DOTTED;break;case 74:this.$=r.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=r.LINETYPE.SOLID_CROSS;break;case 76:this.$=r.LINETYPE.DOTTED_CROSS;break;case 77:this.$=r.LINETYPE.SOLID_POINT;break;case 78:this.$=r.LINETYPE.DOTTED_POINT;break;case 79:this.$=r.parseMessage(a[o].trim().substring(1))}}),"anonymous"),table:[{3:1,4:e,5:n,6:r},{1:[3]},{3:5,4:e,5:n,6:r},{3:6,4:e,5:n,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:l,14:c,17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},t(O,[2,5]),{9:47,12:12,13:l,14:c,17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},t(O,[2,7]),t(O,[2,8]),t(O,[2,14]),{12:48,50:S,52:C,53:A},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:D},{22:55,70:D},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(O,[2,29]),t(O,[2,30]),{32:[1,61]},{34:[1,62]},t(O,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:D},{22:72,70:D},{22:73,70:D},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:D},{22:90,70:D},{22:91,70:D},{22:92,70:D},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(O,[2,6]),t(O,[2,15]),t(P,[2,9],{10:93}),t(O,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(O,[2,21]),{5:[1,97]},{5:[1,98]},t(O,[2,24]),t(O,[2,25]),t(O,[2,26]),t(O,[2,27]),t(O,[2,28]),t(O,[2,31]),t(O,[2,32]),t($,i,{7:99}),t($,i,{7:100}),t($,i,{7:101}),t(B,i,{40:102,7:103}),t(F,i,{42:104,7:105}),t(F,i,{7:105,42:106}),t(W,i,{45:107,7:108}),t($,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:D},t(z,[2,69]),t(z,[2,70]),t(z,[2,71]),t(z,[2,72]),t(z,[2,73]),t(z,[2,74]),t(z,[2,75]),t(z,[2,76]),t(z,[2,77]),t(z,[2,78]),{22:118,70:D},{22:120,58:119,70:D},{70:[2,63]},{70:[2,64]},{56:121,81:Z},{56:123,81:Z},{56:124,81:Z},{56:125,81:Z},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:S,52:C,53:A},{5:[1,131]},t(O,[2,19]),t(O,[2,20]),t(O,[2,22]),t(O,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[1,132],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[1,133],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[1,134],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[2,46],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,49:[1,136],50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{16:[1,137]},{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[2,44],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,48:[1,138],50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{16:[1,139]},{16:[1,140]},{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[2,42],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,47:[1,141],50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{4:a,5:o,8:8,9:10,12:12,13:l,14:c,16:[1,142],17:15,18:h,21:u,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:g,31:f,33:m,35:y,36:v,37:x,38:b,39:w,41:k,43:T,44:_,46:E,50:S,52:C,53:A,54:L,59:M,60:N,61:I,62:R,70:D},{15:[1,143]},t(O,[2,49]),{15:[1,144]},t(O,[2,51]),t(O,[2,52]),{22:145,70:D},{22:146,70:D},{56:147,81:Z},{56:148,81:Z},{56:149,81:Z},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(O,[2,16]),t(P,[2,10]),{12:151,50:S,52:C,53:A},t(P,[2,12]),t(P,[2,13]),t(O,[2,18]),t(O,[2,34]),t(O,[2,35]),t(O,[2,36]),t(O,[2,37]),{15:[1,152]},t(O,[2,38]),{15:[1,153]},t(O,[2,39]),t(O,[2,40]),{15:[1,154]},t(O,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:Z},{56:158,81:Z},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:D},t(P,[2,11]),t(B,i,{7:103,40:160}),t(F,i,{7:105,42:161}),t(W,i,{7:108,45:162}),t(O,[2,48]),t(O,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},U=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:case 51:case 66:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 67:return"INVALID"}}),"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}}}();function G(){this.yy={}}return Y.lexer=U,(0,s.eW)(G,"Parser"),G.prototype=Y,Y.Parser=G,new G}();c.parser=c;var h=c,u={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},d={FILLED:0,OPEN:1},p={LEFTOF:0,RIGHTOF:1,OVER:2},g=class{constructor(){this.state=new i.A((()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}))),this.setAccTitle=s.GN,this.setAccDescription=s.U$,this.setDiagramTitle=s.g2,this.getAccTitle=s.eu,this.getAccDescription=s.Mx,this.getDiagramTitle=s.Kr,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap((0,s.nV)().wrap),this.LINETYPE=u,this.ARROWTYPE=d,this.PLACEMENT=p}static{(0,s.eW)(this,"SequenceDB")}addBox(t){this.state.records.boxes.push({name:t.text,wrap:t.wrap??this.autoWrap(),fill:t.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(t,e,n,r){let i=this.state.records.currentBox;const a=this.state.records.actors.get(t);if(a){if(this.state.records.currentBox&&a.box&&this.state.records.currentBox!==a.box)throw new Error(`A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(i=a.box?a.box:this.state.records.currentBox,a.box=i,a&&e===a.name&&null==n)return}if(null==n?.text&&(n={text:e,type:r}),null!=r&&null!=n.text||(n={text:e,type:r}),this.state.records.actors.set(t,{box:i,name:e,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),this.state.records.prevActor){const e=this.state.records.actors.get(this.state.records.prevActor);e&&(e.nextActor=t)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(t),this.state.records.prevActor=t}activationCount(t){let e,n=0;if(!t)return 0;for(e=0;e<this.state.records.messages.length;e++)this.state.records.messages[e].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[e].from===t&&n++,this.state.records.messages[e].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[e].from===t&&n--;return n}addMessage(t,e,n,r){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:e,message:n.text,wrap:n.wrap??this.autoWrap(),answer:r})}addSignal(t,e,n,r,i=!1){if(r===this.LINETYPE.ACTIVE_END&&this.activationCount(t??"")<1){const e=new Error("Trying to inactivate an inactive participant ("+t+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:e,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:r,activate:i}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some((t=>t.name))}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(t){return this.state.records.actors.get(t)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(t){this.state.records.wrapEnabled=t}extractWrap(t){if(void 0===t)return{};t=t.trim();const e=null!==/^:?wrap:/.exec(t)||null===/^:?nowrap:/.exec(t)&&void 0;return{cleanedText:(void 0===e?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}}autoWrap(){return void 0!==this.state.records.wrapEnabled?this.state.records.wrapEnabled:(0,s.nV)().sequence?.wrap??!1}clear(){this.state.reset(),(0,s.ZH)()}parseMessage(t){const e=t.trim(),{wrap:n,cleanedText:r}=this.extractWrap(e),i={text:r,wrap:n};return s.cM.debug(`parseMessage: ${JSON.stringify(i)}`),i}parseBoxData(t){const e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t);let n=e?.[1]?e[1].trim():"transparent",r=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",r=t.trim());else{const e=(new Option).style;e.color=n,e.color!==n&&(n="transparent",r=t.trim())}const{wrap:i,cleanedText:a}=this.extractWrap(r);return{text:a?(0,s.oO)(a,(0,s.nV)()):void 0,color:n,wrap:i}}addNote(t,e,n){const r={actor:t,placement:e,message:n.text,wrap:n.wrap??this.autoWrap()},i=[].concat(t,t);this.state.records.notes.push(r),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:i[0],to:i[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:e})}addLinks(t,e){const n=this.getActor(t);try{let t=(0,s.oO)(e.text,(0,s.nV)());t=t.replace(/&equals;/g,"="),t=t.replace(/&amp;/g,"&");const r=JSON.parse(t);this.insertLinks(n,r)}catch(t){s.cM.error("error while parsing actor link text",t)}}addALink(t,e){const n=this.getActor(t);try{const t={};let r=(0,s.oO)(e.text,(0,s.nV)());const i=r.indexOf("@");r=r.replace(/&equals;/g,"="),r=r.replace(/&amp;/g,"&");const a=r.slice(0,i-1).trim(),o=r.slice(i+1).trim();t[a]=o,this.insertLinks(n,t)}catch(t){s.cM.error("error while parsing actor link text",t)}}insertLinks(t,e){if(null==t.links)t.links=e;else for(const n in e)t.links[n]=e[n]}addProperties(t,e){const n=this.getActor(t);try{const t=(0,s.oO)(e.text,(0,s.nV)()),r=JSON.parse(t);this.insertProperties(n,r)}catch(t){s.cM.error("error while parsing actor properties text",t)}}insertProperties(t,e){if(null==t.properties)t.properties=e;else for(const n in e)t.properties[n]=e[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(t,e){const n=this.getActor(t),r=document.getElementById(e.text);try{const t=r.innerHTML,e=JSON.parse(t);e.properties&&this.insertProperties(n,e.properties),e.links&&this.insertLinks(n,e.links)}catch(t){s.cM.error("error while parsing actor details text",t)}}getActorProperty(t,e){if(void 0!==t?.properties)return t.properties[e]}apply(t){if(Array.isArray(t))t.forEach((t=>{this.apply(t)}));else switch(t.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":this.addActor(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(this.state.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=t.actor,this.addActor(t.actor,t.actor,t.description,t.draw),this.state.records.createdActors.set(t.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=t.actor,this.state.records.destroyedActors.set(t.actor,this.state.records.messages.length);break;case"activeStart":case"activeEnd":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":this.addNote(t.actor,t.placement,t.text);break;case"addLinks":this.addLinks(t.actor,t.text);break;case"addALink":this.addALink(t.actor,t.text);break;case"addProperties":this.addProperties(t.actor,t.text);break;case"addDetails":this.addDetails(t.actor,t.text);break;case"addMessage":if(this.state.records.lastCreated){if(t.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(t.to!==this.state.records.lastDestroyed&&t.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":this.addBox(t.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"rectStart":this.addSignal(void 0,void 0,t.color,t.signalType);break;case"optStart":this.addSignal(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":this.addSignal(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,s.GN)(t.text);break;case"parStart":case"and":this.addSignal(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,t.criticalText,t.signalType);break;case"option":this.addSignal(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":this.addSignal(void 0,void 0,t.breakText,t.signalType)}}getConfig(){return(0,s.nV)().sequence}},f=(0,s.eW)((t=>`.actor {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n\n text.actor > tspan {\n fill: ${t.actorTextColor};\n stroke: none;\n }\n\n .actor-line {\n stroke: ${t.actorLineColor};\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ${t.signalColor};\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ${t.signalColor};\n }\n\n #arrowhead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .sequenceNumber {\n fill: ${t.sequenceNumberColor};\n }\n\n #sequencenumber {\n fill: ${t.signalColor};\n }\n\n #crosshead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .messageText {\n fill: ${t.signalTextColor};\n stroke: none;\n }\n\n .labelBox {\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBkgColor};\n }\n\n .labelText, .labelText > tspan {\n fill: ${t.labelTextColor};\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ${t.loopTextColor};\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBorderColor};\n }\n\n .note {\n //stroke: #decc93;\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n }\n\n .noteText, .noteText > tspan {\n fill: ${t.noteTextColor};\n stroke: none;\n }\n\n .activation0 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation1 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation2 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ${t.actorBkg};\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n .actor-man circle, line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n stroke-width: 2px;\n }\n`),"getStyles"),m="actor-top",y="actor-bottom",v="actor-man",x=(0,s.eW)((function(t,e){return(0,r.Mu)(t,e)}),"drawRect"),b=(0,s.eW)((function(t,e,n,r,i){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var c="none";i&&(c="block !important");const h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",c);var u="";void 0!==o.class&&(u=" "+o.class);let d=o.width>n?o.width:n;const p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+u),p.attr("x",o.x),p.attr("y",o.height),p.attr("fill",o.fill),p.attr("stroke",o.stroke),p.attr("width",d),p.attr("height",o.height),p.attr("rx",o.rx),p.attr("ry",o.ry),null!=a){var g=20;for(let t in a){var f=h.append("a"),m=(0,l.N)(a[t]);f.attr("xlink:href",m),f.attr("target","_blank"),G(r)(t,f,o.x+10,o.height+g,d,20,{class:"actor"},r),g+=30}}return p.attr("height",g),{height:o.height+g,width:d}}),"drawPopup"),w=(0,s.eW)((function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"}),"popupMenuToggle"),k=(0,s.eW)((async function(t,e,n=null){let r=t.append("foreignObject");const i=await(0,s.uT)(e.text,(0,s.iE)()),a=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(r.attr("height",Math.round(a.height)).attr("width",Math.round(a.width)),"noteText"===e.class){const n=t.node().firstChild;n.setAttribute("height",a.height+2*e.textMargin);const i=n.getBBox();r.attr("x",Math.round(i.x+i.width/2-a.width/2)).attr("y",Math.round(i.y+i.height/2-a.height/2))}else if(n){let{startx:t,stopx:i,starty:s}=n;if(t>i){const e=t;t=i,i=e}r.attr("x",Math.round(t+Math.abs(t-i)/2-a.width/2)),"loopText"===e.class?r.attr("y",Math.round(s)):r.attr("y",Math.round(s-a.height))}return[r]}),"drawKatex"),T=(0,s.eW)((function(t,e){let n=0,r=0;const i=e.text.split(s.SY.lineBreakRegex),[o,l]=(0,a.VG)(e.fontSize);let c=[],h=0,u=(0,s.eW)((()=>e.y),"yfunc");if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":u=(0,s.eW)((()=>Math.round(e.y+e.textMargin)),"yfunc");break;case"middle":case"center":u=(0,s.eW)((()=>Math.round(e.y+(n+r+e.textMargin)/2)),"yfunc");break;case"bottom":case"end":u=(0,s.eW)((()=>Math.round(e.y+(n+r+2*e.textMargin)-e.textMargin)),"yfunc")}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[s,d]of i.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==o&&(h=s*o);const i=t.append("text");i.attr("x",e.x),i.attr("y",u()),void 0!==e.anchor&&i.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&i.style("font-family",e.fontFamily),void 0!==l&&i.style("font-size",l),void 0!==e.fontWeight&&i.style("font-weight",e.fontWeight),void 0!==e.fill&&i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class),void 0!==e.dy?i.attr("dy",e.dy):0!==h&&i.attr("dy",h);const p=d||a.$m;if(e.tspan){const t=i.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(p)}else i.text(p);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(i._groups||i)[0][0].getBBox().height,n=r),c.push(i)}return c}),"drawText"),_=(0,s.eW)((function(t,e){function n(t,e,n,r,i){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+r-i)+" "+(t+n-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(0,s.eW)(n,"genPoints");const r=t.append("polygon");return r.attr("points",n(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,T(t,e),r}),"drawLabel"),E=-1,S=(0,s.eW)(((t,e,n,r)=>{t.select&&n.forEach((n=>{const i=e.get(n),a=t.select("#actor"+i.actorCnt);!r.mirrorActors&&i.stopy?a.attr("y2",i.stopy+i.height/2):r.mirrorActors&&a.attr("y2",i.stopy)}))}),"fixLifeLineHeights"),C=(0,s.eW)((function(t,e,n,i){const a=i?e.stopy:e.starty,o=e.x+e.width/2,l=a+e.height,c=t.append("g").lower();var h=c;i||(E++,Object.keys(e.links||{}).length&&!n.forceMenus&&h.attr("onclick",w(`actor${E}_popup`)).attr("cursor","pointer"),h.append("line").attr("id","actor"+E).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),h=c.append("g"),e.actorCnt=E,null!=e.links&&h.attr("id","root-"+E));const u=(0,r.kc)();var d="actor";e.properties?.class?d=e.properties.class:u.fill="#eaeaea",d+=i?` ${y}`:` ${m}`,u.x=e.x,u.y=a,u.width=e.width,u.height=e.height,u.class=d,u.rx=3,u.ry=3,u.name=e.name;const p=x(h,u);if(e.rectData=u,e.properties?.icon){const t=e.properties.icon.trim();"@"===t.charAt(0)?(0,r.rB)(h,u.x+u.width-20,u.y+10,t.substr(1)):(0,r.AE)(h,u.x+u.width-20,u.y+10,t)}U(n,(0,s.l0)(e.description))(e.description,h,u.x,u.y,u.width,u.height,{class:"actor actor-box"},n);let g=e.height;if(p.node){const t=p.node().getBBox();e.height=t.height,g=t.height}return g}),"drawActorTypeParticipant"),A=(0,s.eW)((function(t,e,n,i){const a=i?e.stopy:e.starty,o=e.x+e.width/2,l=a+80,c=t.append("g").lower();i||(E++,c.append("line").attr("id","actor"+E).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=E);const h=t.append("g");let u=v;u+=i?` ${y}`:` ${m}`,h.attr("class",u),h.attr("name",e.name);const d=(0,r.kc)();d.x=e.x,d.y=a,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",d.rx=3,d.ry=3,h.append("line").attr("id","actor-man-torso"+E).attr("x1",o).attr("y1",a+25).attr("x2",o).attr("y2",a+45),h.append("line").attr("id","actor-man-arms"+E).attr("x1",o-18).attr("y1",a+33).attr("x2",o+18).attr("y2",a+33),h.append("line").attr("x1",o-18).attr("y1",a+60).attr("x2",o).attr("y2",a+45),h.append("line").attr("x1",o).attr("y1",a+45).attr("x2",o+18-2).attr("y2",a+60);const p=h.append("circle");p.attr("cx",e.x+e.width/2),p.attr("cy",a+10),p.attr("r",15),p.attr("width",e.width),p.attr("height",e.height);const g=h.node().getBBox();return e.height=g.height,U(n,(0,s.l0)(e.description))(e.description,h,d.x,d.y+35,d.width,d.height,{class:`actor ${v}`},n),e.height}),"drawActorTypeActor"),L=(0,s.eW)((async function(t,e,n,r){switch(e.type){case"actor":return await A(t,e,n,r);case"participant":return await C(t,e,n,r)}}),"drawActor"),M=(0,s.eW)((function(t,e,n){const r=t.append("g");D(r,e),e.name&&U(n)(e.name,r,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},n),r.lower()}),"drawBox"),N=(0,s.eW)((function(t){return t.append("g")}),"anchorElement"),I=(0,s.eW)((function(t,e,n,i,a){const s=(0,r.kc)(),o=e.anchored;s.x=e.startx,s.y=e.starty,s.class="activation"+a%3,s.width=e.stopx-e.startx,s.height=n-e.starty,x(o,s)}),"drawActivation"),R=(0,s.eW)((async function(t,e,n,i){const{boxMargin:a,boxTextMargin:o,labelBoxHeight:l,labelBoxWidth:c,messageFontFamily:h,messageFontSize:u,messageFontWeight:d}=i,p=t.append("g"),g=(0,s.eW)((function(t,e,n,r){return p.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")}),"drawLoopLine");g(e.startx,e.starty,e.stopx,e.starty),g(e.stopx,e.starty,e.stopx,e.stopy),g(e.startx,e.stopy,e.stopx,e.stopy),g(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){g(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));let f=(0,r.AD)();f.text=n,f.x=e.startx,f.y=e.starty,f.fontFamily=h,f.fontSize=u,f.fontWeight=d,f.anchor="middle",f.valign="middle",f.tspan=!1,f.width=c||50,f.height=l||20,f.textMargin=o,f.class="labelText",_(p,f),f=Z(),f.text=e.title,f.x=e.startx+c/2+(e.stopx-e.startx)/2,f.y=e.starty+a+o,f.anchor="middle",f.valign="middle",f.textMargin=o,f.class="loopText",f.fontFamily=h,f.fontSize=u,f.fontWeight=d,f.wrap=!0;let m=(0,s.l0)(f.text)?await k(p,f,e):T(p,f);if(void 0!==e.sectionTitles)for(const[t,n]of Object.entries(e.sectionTitles))if(n.message){f.text=n.message,f.x=e.startx+(e.stopx-e.startx)/2,f.y=e.sections[t].y+a+o,f.class="loopText",f.anchor="middle",f.valign="middle",f.tspan=!1,f.fontFamily=h,f.fontSize=u,f.fontWeight=d,f.wrap=e.wrap,(0,s.l0)(f.text)?(e.starty=e.sections[t].y,await k(p,f,e)):T(p,f);let r=Math.round(m.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[t].height+=r-(a+o)}return e.height=Math.round(e.stopy-e.starty),p}),"drawLoop"),D=(0,s.eW)((function(t,e){(0,r.O)(t,e)}),"drawBackgroundRect"),O=(0,s.eW)((function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}),"insertDatabaseIcon"),P=(0,s.eW)((function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")}),"insertComputerIcon"),$=(0,s.eW)((function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}),"insertClockIcon"),B=(0,s.eW)((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")}),"insertArrowHead"),F=(0,s.eW)((function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertArrowFilledHead"),W=(0,s.eW)((function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)}),"insertSequenceNumber"),z=(0,s.eW)((function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")}),"insertArrowCrossHead"),Z=(0,s.eW)((function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}}),"getTextObj"),Y=(0,s.eW)((function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}}),"getNoteRect"),U=function(){function t(t,e,n,r,a,s,o){i(e.append("text").attr("x",n+a/2).attr("y",r+s/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,n,r,o,l,c,h){const{actorFontSize:u,actorFontFamily:d,actorFontWeight:p}=h,[g,f]=(0,a.VG)(u),m=t.split(s.SY.lineBreakRegex);for(let t=0;t<m.length;t++){const a=t*g-g*(m.length-1)/2,s=e.append("text").attr("x",n+o/2).attr("y",r).style("text-anchor","middle").style("font-size",f).style("font-weight",p).style("font-family",d);s.append("tspan").attr("x",n+o/2).attr("dy",a).text(m[t]),s.attr("y",r+l/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(s,c)}}function n(t,n,r,a,s,o,l,c){const h=n.append("switch"),u=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,o,l,c),i(u,l)}async function r(t,n,r,a,o,l,c,h){const u=await(0,s.nH)(t,(0,s.iE)()),d=n.append("switch"),p=d.append("foreignObject").attr("x",r+o/2-u.width/2).attr("y",a+l/2-u.height/2).attr("width",u.width).attr("height",u.height).append("xhtml:div").style("height","100%").style("width","100%");p.append("div").style("text-align","center").style("vertical-align","middle").html(await(0,s.uT)(t,(0,s.iE)())),e(t,d,r,a,o,l,c,h),i(p,c)}function i(t,e){for(const n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,s.eW)(t,"byText"),(0,s.eW)(e,"byTspan"),(0,s.eW)(n,"byFo"),(0,s.eW)(r,"byKatex"),(0,s.eW)(i,"_setTextAttrs"),function(i,a=!1){return a?r:"fo"===i.textPlacement?n:"old"===i.textPlacement?t:e}}(),G=function(){function t(t,e,n,i,a,s,o){r(e.append("text").attr("x",n).attr("y",i).style("text-anchor","start").text(t),o)}function e(t,e,n,i,a,o,l,c){const{actorFontSize:h,actorFontFamily:u,actorFontWeight:d}=c,p=t.split(s.SY.lineBreakRegex);for(let t=0;t<p.length;t++){const a=t*h-h*(p.length-1)/2,s=e.append("text").attr("x",n).attr("y",i).style("text-anchor","start").style("font-size",h).style("font-weight",d).style("font-family",u);s.append("tspan").attr("x",n).attr("dy",a).text(p[t]),s.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(s,l)}}function n(t,n,i,a,s,o,l,c){const h=n.append("switch"),u=h.append("foreignObject").attr("x",i).attr("y",a).attr("width",s).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,i,a,0,o,l,c),r(u,l)}function r(t,e){for(const n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,s.eW)(t,"byText"),(0,s.eW)(e,"byTspan"),(0,s.eW)(n,"byFo"),(0,s.eW)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}(),V={drawRect:x,drawText:T,drawLabel:_,drawActor:L,drawBox:M,drawPopup:b,anchorElement:N,drawActivation:I,drawLoop:R,drawBackgroundRect:D,insertArrowHead:B,insertArrowFilledHead:F,insertSequenceNumber:W,insertArrowCrossHead:z,insertDatabaseIcon:O,insertComputerIcon:P,insertClockIcon:$,getTextObj:Z,getNoteRect:Y,fixLifeLineHeights:S,sanitizeUrl:l.N},q={},j={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:(0,s.eW)((function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((t=>t.height||0)))+(0===this.loops.length?0:this.loops.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.messages.length?0:this.messages.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.notes.length?0:this.notes.map((t=>t.height||0)).reduce(((t,e)=>t+e)))}),"getHeight"),clear:(0,s.eW)((function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]}),"clear"),addBox:(0,s.eW)((function(t){this.boxes.push(t)}),"addBox"),addActor:(0,s.eW)((function(t){this.actors.push(t)}),"addActor"),addLoop:(0,s.eW)((function(t){this.loops.push(t)}),"addLoop"),addMessage:(0,s.eW)((function(t){this.messages.push(t)}),"addMessage"),addNote:(0,s.eW)((function(t){this.notes.push(t)}),"addNote"),lastActor:(0,s.eW)((function(){return this.actors[this.actors.length-1]}),"lastActor"),lastLoop:(0,s.eW)((function(){return this.loops[this.loops.length-1]}),"lastLoop"),lastMessage:(0,s.eW)((function(){return this.messages[this.messages.length-1]}),"lastMessage"),lastNote:(0,s.eW)((function(){return this.notes[this.notes.length-1]}),"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:(0,s.eW)((function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,it((0,s.nV)())}),"init"),updateVal:(0,s.eW)((function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])}),"updateVal"),updateBounds:(0,s.eW)((function(t,e,n,r){const i=this;let a=0;function o(o){return(0,s.eW)((function(s){a++;const l=i.sequenceItems.length-a+1;i.updateVal(s,"starty",e-l*q.boxMargin,Math.min),i.updateVal(s,"stopy",r+l*q.boxMargin,Math.max),i.updateVal(j.data,"startx",t-l*q.boxMargin,Math.min),i.updateVal(j.data,"stopx",n+l*q.boxMargin,Math.max),"activation"!==o&&(i.updateVal(s,"startx",t-l*q.boxMargin,Math.min),i.updateVal(s,"stopx",n+l*q.boxMargin,Math.max),i.updateVal(j.data,"starty",e-l*q.boxMargin,Math.min),i.updateVal(j.data,"stopy",r+l*q.boxMargin,Math.max))}),"updateItemBounds")}(0,s.eW)(o,"updateFn"),this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))}),"updateBounds"),insert:(0,s.eW)((function(t,e,n,r){const i=s.SY.getMin(t,n),a=s.SY.getMax(t,n),o=s.SY.getMin(e,r),l=s.SY.getMax(e,r);this.updateVal(j.data,"startx",i,Math.min),this.updateVal(j.data,"starty",o,Math.min),this.updateVal(j.data,"stopx",a,Math.max),this.updateVal(j.data,"stopy",l,Math.max),this.updateBounds(i,o,a,l)}),"insert"),newActivation:(0,s.eW)((function(t,e,n){const r=n.get(t.from),i=at(t.from).length||0,a=r.x+r.width/2+(i-1)*q.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+q.activationWidth,stopy:void 0,actor:t.from,anchored:V.anchorElement(e)})}),"newActivation"),endActivation:(0,s.eW)((function(t){const e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from);return this.activations.splice(e,1)[0]}),"endActivation"),createLoop:(0,s.eW)((function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}}),"createLoop"),newLoop:(0,s.eW)((function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))}),"newLoop"),endLoop:(0,s.eW)((function(){return this.sequenceItems.pop()}),"endLoop"),isLoopOverlap:(0,s.eW)((function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap}),"isLoopOverlap"),addSectionToLoop:(0,s.eW)((function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:j.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)}),"addSectionToLoop"),saveVerticalPos:(0,s.eW)((function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)}),"saveVerticalPos"),resetVerticalPos:(0,s.eW)((function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)}),"resetVerticalPos"),bumpVerticalPos:(0,s.eW)((function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=s.SY.getMax(this.data.stopy,this.verticalPos)}),"bumpVerticalPos"),getVerticalPos:(0,s.eW)((function(){return this.verticalPos}),"getVerticalPos"),getBounds:(0,s.eW)((function(){return{bounds:this.data,models:this.models}}),"getBounds")},H=(0,s.eW)((async function(t,e){j.bumpVerticalPos(q.boxMargin),e.height=q.boxMargin,e.starty=j.getVerticalPos();const n=(0,r.kc)();n.x=e.startx,n.y=e.starty,n.width=e.width||q.width,n.class="note";const i=t.append("g"),a=V.drawRect(i,n),o=(0,r.AD)();o.x=e.startx,o.y=e.starty,o.width=n.width,o.dy="1em",o.text=e.message,o.class="noteText",o.fontFamily=q.noteFontFamily,o.fontSize=q.noteFontSize,o.fontWeight=q.noteFontWeight,o.anchor=q.noteAlign,o.textMargin=q.noteMargin,o.valign="center";const l=(0,s.l0)(o.text)?await k(i,o):T(i,o),c=Math.round(l.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));a.attr("height",c+2*q.noteMargin),e.height+=c+2*q.noteMargin,j.bumpVerticalPos(c+2*q.noteMargin),e.stopy=e.starty+c+2*q.noteMargin,e.stopx=e.startx+n.width,j.insert(e.startx,e.starty,e.stopx,e.stopy),j.models.addNote(e)}),"drawNote"),X=(0,s.eW)((t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight})),"messageFont"),K=(0,s.eW)((t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight})),"noteFont"),Q=(0,s.eW)((t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight})),"actorFont");async function J(t,e){j.bumpVerticalPos(10);const{startx:n,stopx:r,message:i}=e,o=s.SY.splitBreaks(i).length,l=(0,s.l0)(i),c=l?await(0,s.nH)(i,(0,s.nV)()):a.w8.calculateTextDimensions(i,X(q));if(!l){const t=c.height/o;e.height+=t,j.bumpVerticalPos(t)}let h,u=c.height-10;const d=c.width;if(n===r){h=j.getVerticalPos()+u,q.rightAngles||(u+=q.boxMargin,h=j.getVerticalPos()+u),u+=30;const t=s.SY.getMax(d/2,q.width/2);j.insert(n-t,j.getVerticalPos()-10+u,r+t,j.getVerticalPos()+30+u)}else u+=q.boxMargin,h=j.getVerticalPos()+u,j.insert(n,h-10,r,h);return j.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,j.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),h}(0,s.eW)(J,"boundMessage");var tt=(0,s.eW)((async function(t,e,n,i){const{startx:o,stopx:l,starty:c,message:h,type:u,sequenceIndex:d,sequenceVisible:p}=e,g=a.w8.calculateTextDimensions(h,X(q)),f=(0,r.AD)();f.x=o,f.y=c+10,f.width=l-o,f.class="messageText",f.dy="1em",f.text=h,f.fontFamily=q.messageFontFamily,f.fontSize=q.messageFontSize,f.fontWeight=q.messageFontWeight,f.anchor=q.messageAlign,f.valign="center",f.textMargin=q.wrapPadding,f.tspan=!1,(0,s.l0)(f.text)?await k(t,f,{startx:o,stopx:l,starty:n}):T(t,f);const m=g.width;let y;o===l?y=q.rightAngles?t.append("path").attr("d",`M ${o},${n} H ${o+s.SY.getMax(q.width/2,m/2)} V ${n+25} H ${o}`):t.append("path").attr("d","M "+o+","+n+" C "+(o+60)+","+(n-10)+" "+(o+60)+","+(n+30)+" "+o+","+(n+20)):(y=t.append("line"),y.attr("x1",o),y.attr("y1",n),y.attr("x2",l),y.attr("y2",n)),u===i.db.LINETYPE.DOTTED||u===i.db.LINETYPE.DOTTED_CROSS||u===i.db.LINETYPE.DOTTED_POINT||u===i.db.LINETYPE.DOTTED_OPEN||u===i.db.LINETYPE.BIDIRECTIONAL_DOTTED?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");let v="";q.arrowMarkerAbsolute&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),y.attr("stroke-width",2),y.attr("stroke","none"),y.style("fill","none"),u!==i.db.LINETYPE.SOLID&&u!==i.db.LINETYPE.DOTTED||y.attr("marker-end","url("+v+"#arrowhead)"),u!==i.db.LINETYPE.BIDIRECTIONAL_SOLID&&u!==i.db.LINETYPE.BIDIRECTIONAL_DOTTED||(y.attr("marker-start","url("+v+"#arrowhead)"),y.attr("marker-end","url("+v+"#arrowhead)")),u!==i.db.LINETYPE.SOLID_POINT&&u!==i.db.LINETYPE.DOTTED_POINT||y.attr("marker-end","url("+v+"#filled-head)"),u!==i.db.LINETYPE.SOLID_CROSS&&u!==i.db.LINETYPE.DOTTED_CROSS||y.attr("marker-end","url("+v+"#crosshead)"),(p||q.showSequenceNumbers)&&(y.attr("marker-start","url("+v+"#sequencenumber)"),t.append("text").attr("x",o).attr("y",n+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d))}),"drawMessage"),et=(0,s.eW)((function(t,e,n,r,i,a,o){let l,c=0,h=0,u=0;for(const t of r){const r=e.get(t),a=r.box;l&&l!=a&&(o||j.models.addBox(l),h+=q.boxMargin+l.margin),a&&a!=l&&(o||(a.x=c+h,a.y=i),h+=a.margin),r.width=r.width||q.width,r.height=s.SY.getMax(r.height||q.height,q.height),r.margin=r.margin||q.actorMargin,u=s.SY.getMax(u,r.height),n.get(r.name)&&(h+=r.width/2),r.x=c+h,r.starty=j.getVerticalPos(),j.insert(r.x,i,r.x+r.width,r.height),c+=r.width+h,r.box&&(r.box.width=c+a.margin-r.box.x),h=r.margin,l=r.box,j.models.addActor(r)}l&&!o&&j.models.addBox(l),j.bumpVerticalPos(u)}),"addActorRenderingData"),nt=(0,s.eW)((async function(t,e,n,r){if(r){let r=0;j.bumpVerticalPos(2*q.boxMargin);for(const i of n){const n=e.get(i);n.stopy||(n.stopy=j.getVerticalPos());const a=await V.drawActor(t,n,q,!0);r=s.SY.getMax(r,a)}j.bumpVerticalPos(r+q.boxMargin)}else for(const r of n){const n=e.get(r);await V.drawActor(t,n,q,!1)}}),"drawActors"),rt=(0,s.eW)((function(t,e,n,r){let i=0,a=0;for(const s of n){const n=e.get(s),o=ut(n),l=V.drawPopup(t,n,o,q,q.forceMenus,r);l.height>i&&(i=l.height),l.width+n.x>a&&(a=l.width+n.x)}return{maxHeight:i,maxWidth:a}}),"drawActorsPopup"),it=(0,s.eW)((function(t){(0,s.Yc)(q,t),t.fontFamily&&(q.actorFontFamily=q.noteFontFamily=q.messageFontFamily=t.fontFamily),t.fontSize&&(q.actorFontSize=q.noteFontSize=q.messageFontSize=t.fontSize),t.fontWeight&&(q.actorFontWeight=q.noteFontWeight=q.messageFontWeight=t.fontWeight)}),"setConf"),at=(0,s.eW)((function(t){return j.activations.filter((function(e){return e.actor===t}))}),"actorActivations"),st=(0,s.eW)((function(t,e){const n=e.get(t),r=at(t);return[r.reduce((function(t,e){return s.SY.getMin(t,e.startx)}),n.x+n.width/2-1),r.reduce((function(t,e){return s.SY.getMax(t,e.stopx)}),n.x+n.width/2+1)]}),"activationBounds");function ot(t,e,n,r,i){j.bumpVerticalPos(n);let o=r;if(e.id&&e.message&&t[e.id]){const n=t[e.id].width,i=X(q);e.message=a.w8.wrapLabel(`[${e.message}]`,n-2*q.wrapPadding,i),e.width=n,e.wrap=!0;const l=a.w8.calculateTextDimensions(e.message,i),c=s.SY.getMax(l.height,q.labelBoxHeight);o=r+c,s.cM.debug(`${c} - ${e.message}`)}i(e),j.bumpVerticalPos(o)}function lt(t,e,n,r,i,a,o){function l(n,r){n.x<i.get(t.from).x?(j.insert(e.stopx-r,e.starty,e.startx,e.stopy+n.height/2+q.noteMargin),e.stopx=e.stopx+r):(j.insert(e.startx,e.starty,e.stopx+r,e.stopy+n.height/2+q.noteMargin),e.stopx=e.stopx-r)}function c(n,r){n.x<i.get(t.to).x?(j.insert(e.startx-r,e.starty,e.stopx,e.stopy+n.height/2+q.noteMargin),e.startx=e.startx+r):(j.insert(e.stopx,e.starty,e.startx+r,e.stopy+n.height/2+q.noteMargin),e.startx=e.startx-r)}if((0,s.eW)(l,"receiverAdjustment"),(0,s.eW)(c,"senderAdjustment"),a.get(t.to)==r){const e=i.get(t.to);l(e,"actor"==e.type?21:e.width/2+3),e.starty=n-e.height/2,j.bumpVerticalPos(e.height/2)}else if(o.get(t.from)==r){const e=i.get(t.from);q.mirrorActors&&c(e,"actor"==e.type?18:e.width/2),e.stopy=n-e.height/2,j.bumpVerticalPos(e.height/2)}else if(o.get(t.to)==r){const e=i.get(t.to);q.mirrorActors&&l(e,"actor"==e.type?21:e.width/2+3),e.stopy=n-e.height/2,j.bumpVerticalPos(e.height/2)}}(0,s.eW)(ot,"adjustLoopHeightForWrap"),(0,s.eW)(lt,"adjustCreatedDestroyedData");var ct=(0,s.eW)((async function(t,e,n,r){const{securityLevel:i,sequence:a}=(0,s.nV)();let l;q=a,"sandbox"===i&&(l=(0,o.Ys)("#i"+e));const c="sandbox"===i?(0,o.Ys)(l.nodes()[0].contentDocument.body):(0,o.Ys)("body"),h="sandbox"===i?l.nodes()[0].contentDocument:document;j.init(),s.cM.debug(r.db);const u="sandbox"===i?c.select(`[id="${e}"]`):(0,o.Ys)(`[id="${e}"]`),d=r.db.getActors(),p=r.db.getCreatedActors(),g=r.db.getDestroyedActors(),f=r.db.getBoxes();let m=r.db.getActorKeys();const y=r.db.getMessages(),v=r.db.getDiagramTitle(),x=r.db.hasAtLeastOneBox(),b=r.db.hasAtLeastOneBoxWithTitle(),w=await ht(d,y,r);if(q.height=await dt(d,w,f),V.insertComputerIcon(u),V.insertDatabaseIcon(u),V.insertClockIcon(u),x&&(j.bumpVerticalPos(q.boxMargin),b&&j.bumpVerticalPos(f[0].textMaxHeight)),!0===q.hideUnusedParticipants){const t=new Set;y.forEach((e=>{t.add(e.from),t.add(e.to)})),m=m.filter((e=>t.has(e)))}et(u,d,p,m,0,y,!1);const k=await ft(y,d,w,r);function T(t,e){const n=j.endActivation(t);n.starty+18>e&&(n.starty=e-6,e+=12),V.drawActivation(u,n,e,q,at(t.from).length),j.insert(n.startx,e-10,n.stopx,e)}V.insertArrowHead(u),V.insertArrowCrossHead(u),V.insertArrowFilledHead(u),V.insertSequenceNumber(u),(0,s.eW)(T,"activeEnd");let _=1,E=1;const C=[],A=[];let L=0;for(const t of y){let e,n,i;switch(t.type){case r.db.LINETYPE.NOTE:j.resetVerticalPos(),n=t.noteModel,await H(u,n);break;case r.db.LINETYPE.ACTIVE_START:j.newActivation(t,u,d);break;case r.db.LINETYPE.ACTIVE_END:T(t,j.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:ot(k,t,q.boxMargin,q.boxMargin+q.boxTextMargin,(t=>j.newLoop(t)));break;case r.db.LINETYPE.LOOP_END:e=j.endLoop(),await V.drawLoop(u,e,"loop",q),j.bumpVerticalPos(e.stopy-j.getVerticalPos()),j.models.addLoop(e);break;case r.db.LINETYPE.RECT_START:ot(k,t,q.boxMargin,q.boxMargin,(t=>j.newLoop(void 0,t.message)));break;case r.db.LINETYPE.RECT_END:e=j.endLoop(),A.push(e),j.models.addLoop(e),j.bumpVerticalPos(e.stopy-j.getVerticalPos());break;case r.db.LINETYPE.OPT_START:ot(k,t,q.boxMargin,q.boxMargin+q.boxTextMargin,(t=>j.newLoop(t)));break;case r.db.LINETYPE.OPT_END:e=j.endLoop(),await V.drawLoop(u,e,"opt",q),j.bumpVerticalPos(e.stopy-j.getVerticalPos()),j.models.addLoop(e);break;case r.db.LINETYPE.ALT_START:ot(k,t,q.boxMargin,q.boxMargin+q.boxTextMargin,(t=>j.newLoop(t)));break;case r.db.LINETYPE.ALT_ELSE:ot(k,t,q.boxMargin+q.boxTextMargin,q.boxMargin,(t=>j.addSectionToLoop(t)));break;case r.db.LINETYPE.ALT_END:e=j.endLoop(),await V.drawLoop(u,e,"alt",q),j.bumpVerticalPos(e.stopy-j.getVerticalPos()),j.models.addLoop(e);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:ot(k,t,q.boxMargin,q.boxMargin+q.boxTextMargin,(t=>j.newLoop(t))),j.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:ot(k,t,q.boxMargin+q.boxTextMargin,q.boxMargin,(t=>j.addSectionToLoop(t)));break;case r.db.LINETYPE.PAR_END:e=j.endLoop(),await V.drawLoop(u,e,"par",q),j.bumpVerticalPos(e.stopy-j.getVerticalPos()),j.models.addLoop(e);break;case r.db.LINETYPE.AUTONUMBER:_=t.message.start||_,E=t.message.step||E,t.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:ot(k,t,q.boxMargin,q.boxMargin+q.boxTextMargin,(t=>j.newLoop(t)));break;case r.db.LINETYPE.CRITICAL_OPTION:ot(k,t,q.boxMargin+q.boxTextMargin,q.boxMargin,(t=>j.addSectionToLoop(t)));break;case r.db.LINETYPE.CRITICAL_END:e=j.endLoop(),await V.drawLoop(u,e,"critical",q),j.bumpVerticalPos(e.stopy-j.getVerticalPos()),j.models.addLoop(e);break;case r.db.LINETYPE.BREAK_START:ot(k,t,q.boxMargin,q.boxMargin+q.boxTextMargin,(t=>j.newLoop(t)));break;case r.db.LINETYPE.BREAK_END:e=j.endLoop(),await V.drawLoop(u,e,"break",q),j.bumpVerticalPos(e.stopy-j.getVerticalPos()),j.models.addLoop(e);break;default:try{i=t.msgModel,i.starty=j.getVerticalPos(),i.sequenceIndex=_,i.sequenceVisible=r.db.showSequenceNumbers();const e=await J(0,i);lt(t,i,e,L,d,p,g),C.push({messageModel:i,lineStartY:e}),j.models.addMessage(i)}catch(t){s.cM.error("error while drawing message",t)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(_+=E),L++}s.cM.debug("createdActors",p),s.cM.debug("destroyedActors",g),await nt(u,d,m,!1);for(const t of C)await tt(u,t.messageModel,t.lineStartY,r);q.mirrorActors&&await nt(u,d,m,!0),A.forEach((t=>V.drawBackgroundRect(u,t))),S(u,d,m,q);for(const t of j.models.boxes)t.height=j.getVerticalPos()-t.y,j.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",V.drawBox(u,t,q);x&&j.bumpVerticalPos(q.boxMargin);const M=rt(u,d,m,h),{bounds:N}=j.getBounds();void 0===N.startx&&(N.startx=0),void 0===N.starty&&(N.starty=0),void 0===N.stopx&&(N.stopx=0),void 0===N.stopy&&(N.stopy=0);let I=N.stopy-N.starty;I<M.maxHeight&&(I=M.maxHeight);let R=I+2*q.diagramMarginY;q.mirrorActors&&(R=R-q.boxMargin+q.bottomMarginAdj);let D=N.stopx-N.startx;D<M.maxWidth&&(D=M.maxWidth);const O=D+2*q.diagramMarginX;v&&u.append("text").text(v).attr("x",(N.stopx-N.startx)/2-2*q.diagramMarginX).attr("y",-25),(0,s.v2)(u,R,O,q.useMaxWidth);const P=v?40:0;u.attr("viewBox",N.startx-q.diagramMarginX+" -"+(q.diagramMarginY+P)+" "+O+" "+(R+P)),s.cM.debug("models:",j.models)}),"draw");async function ht(t,e,n){const r={};for(const i of e)if(t.get(i.to)&&t.get(i.from)){const e=t.get(i.to);if(i.placement===n.db.PLACEMENT.LEFTOF&&!e.prevActor)continue;if(i.placement===n.db.PLACEMENT.RIGHTOF&&!e.nextActor)continue;const o=void 0!==i.placement,l=!o,c=o?K(q):X(q),h=i.wrap?a.w8.wrapLabel(i.message,q.width-2*q.wrapPadding,c):i.message,u=((0,s.l0)(h)?await(0,s.nH)(i.message,(0,s.nV)()):a.w8.calculateTextDimensions(h,c)).width+2*q.wrapPadding;l&&i.from===e.nextActor?r[i.to]=s.SY.getMax(r[i.to]||0,u):l&&i.from===e.prevActor?r[i.from]=s.SY.getMax(r[i.from]||0,u):l&&i.from===i.to?(r[i.from]=s.SY.getMax(r[i.from]||0,u/2),r[i.to]=s.SY.getMax(r[i.to]||0,u/2)):i.placement===n.db.PLACEMENT.RIGHTOF?r[i.from]=s.SY.getMax(r[i.from]||0,u):i.placement===n.db.PLACEMENT.LEFTOF?r[e.prevActor]=s.SY.getMax(r[e.prevActor]||0,u):i.placement===n.db.PLACEMENT.OVER&&(e.prevActor&&(r[e.prevActor]=s.SY.getMax(r[e.prevActor]||0,u/2)),e.nextActor&&(r[i.from]=s.SY.getMax(r[i.from]||0,u/2)))}return s.cM.debug("maxMessageWidthPerActor:",r),r}(0,s.eW)(ht,"getMaxMessageWidthPerActor");var ut=(0,s.eW)((function(t){let e=0;const n=Q(q);for(const r in t.links){const t=a.w8.calculateTextDimensions(r,n).width+2*q.wrapPadding+2*q.boxMargin;e<t&&(e=t)}return e}),"getRequiredPopupWidth");async function dt(t,e,n){let r=0;for(const e of t.keys()){const n=t.get(e);n.wrap&&(n.description=a.w8.wrapLabel(n.description,q.width-2*q.wrapPadding,Q(q)));const i=(0,s.l0)(n.description)?await(0,s.nH)(n.description,(0,s.nV)()):a.w8.calculateTextDimensions(n.description,Q(q));n.width=n.wrap?q.width:s.SY.getMax(q.width,i.width+2*q.wrapPadding),n.height=n.wrap?s.SY.getMax(i.height,q.height):q.height,r=s.SY.getMax(r,n.height)}for(const n in e){const r=t.get(n);if(!r)continue;const i=t.get(r.nextActor);if(!i){const t=e[n]+q.actorMargin-r.width/2;r.margin=s.SY.getMax(t,q.actorMargin);continue}const a=e[n]+q.actorMargin-r.width/2-i.width/2;r.margin=s.SY.getMax(a,q.actorMargin)}let i=0;return n.forEach((e=>{const n=X(q);let r=e.actorKeys.reduce(((e,n)=>e+(t.get(n).width+(t.get(n).margin||0))),0);r-=2*q.boxTextMargin,e.wrap&&(e.name=a.w8.wrapLabel(e.name,r-2*q.wrapPadding,n));const o=a.w8.calculateTextDimensions(e.name,n);i=s.SY.getMax(o.height,i);const l=s.SY.getMax(r,o.width+2*q.wrapPadding);if(e.margin=q.boxTextMargin,r<l){const t=(l-r)/2;e.margin+=t}})),n.forEach((t=>t.textMaxHeight=i)),s.SY.getMax(r,q.height)}(0,s.eW)(dt,"calculateActorMargins");var pt=(0,s.eW)((async function(t,e,n){const r=e.get(t.from),i=e.get(t.to),o=r.x,l=i.x,c=t.wrap&&t.message;let h=(0,s.l0)(t.message)?await(0,s.nH)(t.message,(0,s.nV)()):a.w8.calculateTextDimensions(c?a.w8.wrapLabel(t.message,q.width,K(q)):t.message,K(q));const u={width:c?q.width:s.SY.getMax(q.width,h.width+2*q.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===n.db.PLACEMENT.RIGHTOF?(u.width=c?s.SY.getMax(q.width,h.width):s.SY.getMax(r.width/2+i.width/2,h.width+2*q.noteMargin),u.startx=o+(r.width+q.actorMargin)/2):t.placement===n.db.PLACEMENT.LEFTOF?(u.width=c?s.SY.getMax(q.width,h.width+2*q.noteMargin):s.SY.getMax(r.width/2+i.width/2,h.width+2*q.noteMargin),u.startx=o-u.width+(r.width-q.actorMargin)/2):t.to===t.from?(h=a.w8.calculateTextDimensions(c?a.w8.wrapLabel(t.message,s.SY.getMax(q.width,r.width),K(q)):t.message,K(q)),u.width=c?s.SY.getMax(q.width,r.width):s.SY.getMax(r.width,q.width,h.width+2*q.noteMargin),u.startx=o+(r.width-u.width)/2):(u.width=Math.abs(o+r.width/2-(l+i.width/2))+q.actorMargin,u.startx=o<l?o+r.width/2-q.actorMargin/2:l+i.width/2-q.actorMargin/2),c&&(u.message=a.w8.wrapLabel(t.message,u.width-2*q.wrapPadding,K(q))),s.cM.debug(`NM:[${u.startx},${u.stopx},${u.starty},${u.stopy}:${u.width},${u.height}=${t.message}]`),u}),"buildNoteModel"),gt=(0,s.eW)((function(t,e,n){if(![n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type))return{};const[r,i]=st(t.from,e),[o,l]=st(t.to,e),c=r<=o;let h=c?i:r,u=c?o:l;const d=Math.abs(o-l)>2,p=(0,s.eW)((t=>c?-t:t),"adjustValue");t.from===t.to?u=h:(t.activate&&!d&&(u+=p(q.activationWidth/2-1)),[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(u+=p(3)),[n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(h-=p(3)));const g=[r,i,o,l],f=Math.abs(h-u);t.wrap&&t.message&&(t.message=a.w8.wrapLabel(t.message,s.SY.getMax(f+2*q.wrapPadding,q.width),X(q)));const m=a.w8.calculateTextDimensions(t.message,X(q));return{width:s.SY.getMax(t.wrap?0:m.width+2*q.wrapPadding,f+2*q.wrapPadding,q.width),height:0,startx:h,stopx:u,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,g),toBounds:Math.max.apply(null,g)}}),"buildMessageModel"),ft=(0,s.eW)((async function(t,e,n,r){const i={},a=[];let o,l,c;for(const n of t){switch(n.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:a.push({id:n.id,msg:n.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:n.message&&(o=a.pop(),i[o.id]=o,i[n.id]=o,a.push(o));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:o=a.pop(),i[o.id]=o;break;case r.db.LINETYPE.ACTIVE_START:{const t=e.get(n.from?n.from:n.to.actor),r=at(n.from?n.from:n.to.actor).length,i=t.x+t.width/2+(r-1)*q.activationWidth/2,a={startx:i,stopx:i+q.activationWidth,actor:n.from,enabled:!0};j.activations.push(a)}break;case r.db.LINETYPE.ACTIVE_END:{const t=j.activations.map((t=>t.actor)).lastIndexOf(n.from);j.activations.splice(t,1).splice(0,1)}}void 0!==n.placement?(l=await pt(n,e,r),n.noteModel=l,a.forEach((t=>{o=t,o.from=s.SY.getMin(o.from,l.startx),o.to=s.SY.getMax(o.to,l.startx+l.width),o.width=s.SY.getMax(o.width,Math.abs(o.from-o.to))-q.labelBoxWidth}))):(c=gt(n,e,r),n.msgModel=c,c.startx&&c.stopx&&a.length>0&&a.forEach((t=>{if(o=t,c.startx===c.stopx){const t=e.get(n.from),r=e.get(n.to);o.from=s.SY.getMin(t.x-c.width/2,t.x-t.width/2,o.from),o.to=s.SY.getMax(r.x+c.width/2,r.x+t.width/2,o.to),o.width=s.SY.getMax(o.width,Math.abs(o.to-o.from))-q.labelBoxWidth}else o.from=s.SY.getMin(c.startx,o.from),o.to=s.SY.getMax(c.stopx,o.to),o.width=s.SY.getMax(o.width,c.width)-q.labelBoxWidth})))}return j.activations=[],s.cM.debug("Loop type widths:",i),i}),"calculateLoopBounds"),mt={parser:h,get db(){return new g},renderer:{bounds:j,drawActors:nt,drawActorsPopup:rt,setConf:it,draw:ct},styles:f,init:(0,s.eW)((t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,(0,s.Y4)({sequence:{wrap:t.wrap}}))}),"init")}},952:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>O});var r,i=n(9836),a=(n(907),n(8337),n(1566),n(5179),n(3583),n(1426),n(6241),n(214),n(7946)),s=n(4082),o=n(3108),l=n(4840),c=n(5625),h={},u=(0,s.eW)(((t,e)=>{h[t]=e}),"set"),d=(0,s.eW)((t=>h[t]),"get"),p=(0,s.eW)((()=>Object.keys(h)),"keys"),g=(0,s.eW)((()=>p().length),"size"),f={get:d,set:u,keys:p,size:g},m=(0,s.eW)((t=>t.append("circle").attr("class","start-state").attr("r",(0,s.nV)().state.sizeUnit).attr("cx",(0,s.nV)().state.padding+(0,s.nV)().state.sizeUnit).attr("cy",(0,s.nV)().state.padding+(0,s.nV)().state.sizeUnit)),"drawStartState"),y=(0,s.eW)((t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,s.nV)().state.textHeight).attr("class","divider").attr("x2",2*(0,s.nV)().state.textHeight).attr("y1",0).attr("y2",0)),"drawDivider"),v=(0,s.eW)(((t,e)=>{const n=t.append("text").attr("x",2*(0,s.nV)().state.padding).attr("y",(0,s.nV)().state.textHeight+2*(0,s.nV)().state.padding).attr("font-size",(0,s.nV)().state.fontSize).attr("class","state-title").text(e.id),r=n.node().getBBox();return t.insert("rect",":first-child").attr("x",(0,s.nV)().state.padding).attr("y",(0,s.nV)().state.padding).attr("width",r.width+2*(0,s.nV)().state.padding).attr("height",r.height+2*(0,s.nV)().state.padding).attr("rx",(0,s.nV)().state.radius),n}),"drawSimpleState"),x=(0,s.eW)(((t,e)=>{const n=(0,s.eW)((function(t,e,n){const r=t.append("tspan").attr("x",2*(0,s.nV)().state.padding).text(e);n||r.attr("dy",(0,s.nV)().state.textHeight)}),"addTspan"),r=t.append("text").attr("x",2*(0,s.nV)().state.padding).attr("y",(0,s.nV)().state.textHeight+1.3*(0,s.nV)().state.padding).attr("font-size",(0,s.nV)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),i=r.height,a=t.append("text").attr("x",(0,s.nV)().state.padding).attr("y",i+.4*(0,s.nV)().state.padding+(0,s.nV)().state.dividerMargin+(0,s.nV)().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach((function(t){o||(n(a,t,l),l=!1),o=!1}));const c=t.append("line").attr("x1",(0,s.nV)().state.padding).attr("y1",(0,s.nV)().state.padding+i+(0,s.nV)().state.dividerMargin/2).attr("y2",(0,s.nV)().state.padding+i+(0,s.nV)().state.dividerMargin/2).attr("class","descr-divider"),h=a.node().getBBox(),u=Math.max(h.width,r.width);return c.attr("x2",u+3*(0,s.nV)().state.padding),t.insert("rect",":first-child").attr("x",(0,s.nV)().state.padding).attr("y",(0,s.nV)().state.padding).attr("width",u+2*(0,s.nV)().state.padding).attr("height",h.height+i+2*(0,s.nV)().state.padding).attr("rx",(0,s.nV)().state.radius),t}),"drawDescrState"),b=(0,s.eW)(((t,e,n)=>{const r=(0,s.nV)().state.padding,i=2*(0,s.nV)().state.padding,a=t.node().getBBox(),o=a.width,l=a.x,c=t.append("text").attr("x",0).attr("y",(0,s.nV)().state.titleShift).attr("font-size",(0,s.nV)().state.fontSize).attr("class","state-title").text(e.id),h=c.node().getBBox().width+i;let u,d=Math.max(h,o);d===o&&(d+=i);const p=t.node().getBBox();e.doc,u=l-r,h>o&&(u=(o-d)/2+r),Math.abs(l-p.x)<r&&h>o&&(u=l-(h-o)/2);const g=1-(0,s.nV)().state.textHeight;return t.insert("rect",":first-child").attr("x",u).attr("y",g).attr("class",n?"alt-composit":"composit").attr("width",d).attr("height",p.height+(0,s.nV)().state.textHeight+(0,s.nV)().state.titleShift+1).attr("rx","0"),c.attr("x",u+r),h<=o&&c.attr("x",l+(d-i)/2-h/2+r),t.insert("rect",":first-child").attr("x",u).attr("y",(0,s.nV)().state.titleShift-(0,s.nV)().state.textHeight-(0,s.nV)().state.padding).attr("width",d).attr("height",3*(0,s.nV)().state.textHeight).attr("rx",(0,s.nV)().state.radius),t.insert("rect",":first-child").attr("x",u).attr("y",(0,s.nV)().state.titleShift-(0,s.nV)().state.textHeight-(0,s.nV)().state.padding).attr("width",d).attr("height",p.height+3+2*(0,s.nV)().state.textHeight).attr("rx",(0,s.nV)().state.radius),t}),"addTitleAndBox"),w=(0,s.eW)((t=>(t.append("circle").attr("class","end-state-outer").attr("r",(0,s.nV)().state.sizeUnit+(0,s.nV)().state.miniPadding).attr("cx",(0,s.nV)().state.padding+(0,s.nV)().state.sizeUnit+(0,s.nV)().state.miniPadding).attr("cy",(0,s.nV)().state.padding+(0,s.nV)().state.sizeUnit+(0,s.nV)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,s.nV)().state.sizeUnit).attr("cx",(0,s.nV)().state.padding+(0,s.nV)().state.sizeUnit+2).attr("cy",(0,s.nV)().state.padding+(0,s.nV)().state.sizeUnit+2))),"drawEndState"),k=(0,s.eW)(((t,e)=>{let n=(0,s.nV)().state.forkWidth,r=(0,s.nV)().state.forkHeight;if(e.parentId){let t=n;n=r,r=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",r).attr("x",(0,s.nV)().state.padding).attr("y",(0,s.nV)().state.padding)}),"drawForkJoinState"),T=(0,s.eW)(((t,e,n,r)=>{let i=0;const a=r.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let o=t.replace(/\r\n/g,"<br/>");o=o.replace(/\n/g,"<br/>");const l=o.split(s.SY.lineBreakRegex);let c=1.25*(0,s.nV)().state.noteMargin;for(const t of l){const r=t.trim();if(r.length>0){const t=a.append("tspan");t.text(r),0===c&&(c+=t.node().getBBox().height),i+=c,t.attr("x",e+(0,s.nV)().state.noteMargin),t.attr("y",n+i+1.25*(0,s.nV)().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}}),"_drawLongText"),_=(0,s.eW)(((t,e)=>{e.attr("class","state-note");const n=e.append("rect").attr("x",0).attr("y",(0,s.nV)().state.padding),r=e.append("g"),{textWidth:i,textHeight:a}=T(t,0,0,r);return n.attr("height",a+2*(0,s.nV)().state.noteMargin),n.attr("width",i+2*(0,s.nV)().state.noteMargin),n}),"drawNote"),E=(0,s.eW)((function(t,e){const n=e.id,r={id:n,label:e.id,width:0,height:0},i=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&m(i),"end"===e.type&&w(i),"fork"!==e.type&&"join"!==e.type||k(i,e),"note"===e.type&&_(e.note.text,i),"divider"===e.type&&y(i),"default"===e.type&&0===e.descriptions.length&&v(i,e),"default"===e.type&&e.descriptions.length>0&&x(i,e);const a=i.node().getBBox();return r.width=a.width+2*(0,s.nV)().state.padding,r.height=a.height+2*(0,s.nV)().state.padding,f.set(n,r),r}),"drawState"),S=0,C=(0,s.eW)((function(t,e,n){const r=(0,s.eW)((function(t){switch(t){case i.oI.relationType.AGGREGATION:return"aggregation";case i.oI.relationType.EXTENSION:return"extension";case i.oI.relationType.COMPOSITION:return"composition";case i.oI.relationType.DEPENDENCY:return"dependency"}}),"getRelationType");e.points=e.points.filter((t=>!Number.isNaN(t.y)));const l=e.points,c=(0,o.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(o.$0Z),h=t.append("path").attr("d",c(l)).attr("id","edge"+S).attr("class","transition");let u="";if((0,s.nV)().state.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),h.attr("marker-end","url("+u+"#"+r(i.oI.relationType.DEPENDENCY)+"End)"),void 0!==n.title){const r=t.append("g").attr("class","stateLabel"),{x:i,y:o}=a.w8.calcLabelPosition(e.points),l=s.SY.getRows(n.title);let c=0;const h=[];let u=0,d=0;for(let t=0;t<=l.length;t++){const e=r.append("text").attr("text-anchor","middle").text(l[t]).attr("x",i).attr("y",o+c),n=e.node().getBBox();if(u=Math.max(u,n.width),d=Math.min(d,n.x),s.cM.info(n.x,i,o+c),0===c){const t=e.node().getBBox();c=t.height,s.cM.info("Title height",c,o)}h.push(e)}let p=c*l.length;if(l.length>1){const t=(l.length-1)*c*.5;h.forEach(((e,n)=>e.attr("y",o+n*c-t))),p=c*l.length}const g=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",i-u/2-(0,s.nV)().state.padding/2).attr("y",o-p/2-(0,s.nV)().state.padding/2-3.5).attr("width",u+(0,s.nV)().state.padding).attr("height",p+(0,s.nV)().state.padding),s.cM.info(g)}S++}),"drawEdge"),A={},L=(0,s.eW)((function(){}),"setConf"),M=(0,s.eW)((function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"insertMarkers"),N=(0,s.eW)((function(t,e,n,i){r=(0,s.nV)().state;const a=(0,s.nV)().securityLevel;let l;"sandbox"===a&&(l=(0,o.Ys)("#i"+e));const c="sandbox"===a?(0,o.Ys)(l.nodes()[0].contentDocument.body):(0,o.Ys)("body"),h="sandbox"===a?l.nodes()[0].contentDocument:document;s.cM.debug("Rendering diagram "+t);const u=c.select(`[id='${e}']`);M(u);const d=i.db.getRootDoc();R(d,u,void 0,!1,c,h,i);const p=r.padding,g=u.node().getBBox(),f=g.width+2*p,m=g.height+2*p,y=1.75*f;(0,s.v2)(u,m,y,r.useMaxWidth),u.attr("viewBox",`${g.x-r.padding} ${g.y-r.padding} `+f+" "+m)}),"draw"),I=(0,s.eW)((t=>t?t.length*r.fontSizeFactor:1),"getLabelWidth"),R=(0,s.eW)(((t,e,n,i,a,o,h)=>{const u=new c.k({compound:!0,multigraph:!0});let d,p=!0;for(d=0;d<t.length;d++)if("relation"===t[d].stmt){p=!1;break}n?u.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:p?1:r.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):u.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:p?1:r.edgeLengthFactor,nodeSep:p?1:50,ranker:"tight-tree",isMultiGraph:!0}),u.setDefaultEdgeLabel((function(){return{}}));const g=h.db.getStates(),f=h.db.getRelations(),m=Object.keys(g);for(const t of m){const s=g[t];let l;if(n&&(s.parentId=n),s.doc){let t=e.append("g").attr("id",s.id).attr("class","stateGroup");l=R(s.doc,t,s.id,!i,a,o,h);{t=b(t,s,i);let e=t.node().getBBox();l.width=e.width,l.height=e.height+r.padding/2,A[s.id]={y:r.compositTitleSize}}}else l=E(e,s,u);if(s.note){const t={descriptions:[],id:s.id+"-note",note:s.note,type:"note"},n=E(e,t,u);"left of"===s.note.position?(u.setNode(l.id+"-note",n),u.setNode(l.id,l)):(u.setNode(l.id,l),u.setNode(l.id+"-note",n)),u.setParent(l.id,l.id+"-group"),u.setParent(l.id+"-note",l.id+"-group")}else u.setNode(l.id,l)}s.cM.debug("Count=",u.nodeCount(),u);let y=0;f.forEach((function(t){y++,s.cM.debug("Setting edge",t),u.setEdge(t.id1,t.id2,{relation:t,width:I(t.title),height:r.labelHeight*s.SY.getRows(t.title).length,labelpos:"c"},"id"+y)})),(0,l.bK)(u),s.cM.debug("Graph after layout",u.nodes());const v=e.node();u.nodes().forEach((function(t){void 0!==t&&void 0!==u.node(t)?(s.cM.warn("Node "+t+": "+JSON.stringify(u.node(t))),a.select("#"+v.id+" #"+t).attr("transform","translate("+(u.node(t).x-u.node(t).width/2)+","+(u.node(t).y+(A[t]?A[t].y:0)-u.node(t).height/2)+" )"),a.select("#"+v.id+" #"+t).attr("data-x-shift",u.node(t).x-u.node(t).width/2),o.querySelectorAll("#"+v.id+" #"+t+" .divider").forEach((t=>{const e=t.parentElement;let n=0,r=0;e&&(e.parentElement&&(n=e.parentElement.getBBox().width),r=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(r)&&(r=0)),t.setAttribute("x1",0-r+8),t.setAttribute("x2",n-r-8)}))):s.cM.debug("No Node "+t+": "+JSON.stringify(u.node(t)))}));let x=v.getBBox();u.edges().forEach((function(t){void 0!==t&&void 0!==u.edge(t)&&(s.cM.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(u.edge(t))),C(e,u.edge(t),u.edge(t).relation))})),x=v.getBBox();const w={id:n||"root",label:n||"root",width:0,height:0};return w.width=x.width+2*r.padding,w.height=x.height+2*r.padding,s.cM.debug("Doc rendered",w,u),w}),"renderDoc"),D={setConf:L,draw:N},O={parser:i.J8,get db(){return new i.oI(1)},renderer:D,styles:i.Ee,init:(0,s.eW)((t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute}),"init")}},8710:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>a});var r=n(9836),i=(n(907),n(8337),n(1566),n(5179),n(3583),n(1426),n(6241),n(214),n(7946),n(4082)),a={parser:r.J8,get db(){return new r.oI(2)},renderer:r._$,styles:r.Ee,init:(0,i.eW)((t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute}),"init")}},2270:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>H});var r=n(4082),i=n(3108),a=n(6500),s=n(2281),o=n(7201),l=function(){var t=(0,r.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[6,8,10,11,12,14,16,17,20,21],n=[1,9],i=[1,10],a=[1,11],s=[1,12],o=[1,13],l=[1,16],c=[1,17],h={trace:(0,r.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:(0,r.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 1:return a[o-1];case 2:case 6:case 7:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 8:r.getCommonDb().setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 9:this.$=a[o].trim(),r.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=a[o].trim(),r.getCommonDb().setAccDescription(this.$);break;case 12:r.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 15:r.addTask(a[o],0,""),this.$=a[o];break;case 16:r.addEvent(a[o].substr(2)),this.$=a[o]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,14:a,16:s,17:o,18:14,19:15,20:l,21:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:n,12:i,14:a,16:s,17:o,18:14,19:15,20:l,21:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:(0,r.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,r.eW)((function(t){var e=this,n=[0],i=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=s.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;s.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.eW)((function(t){n.length=n.length-2*t,a.length=a.length-t,s.length=s.length-t}),"popStack"),(0,r.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),a.push(p.yytext),s.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=a[a.length-E],A._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},y&&(A._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],a,s].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),a=a.slice(0,-1*E),s=s.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),a.push(A.$),s.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},u=function(){return{EOF:1,parseError:(0,r.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,r.eW)((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}),"setInput"),input:(0,r.eW)((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}),"input"),unput:(0,r.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,r.eW)((function(){return this._more=!0,this}),"more"),reject:(0,r.eW)((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})}),"reject"),less:(0,r.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,r.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,r.eW)((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,"")}),"upcomingInput"),showPosition:(0,r.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,r.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,r.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,r.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,r.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,r.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,r.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,r.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,r.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,r.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.eW)((function(t,e,n,r){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}}),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}}}();function d(){this.yy={}}return h.lexer=u,(0,r.eW)(d,"Parser"),d.prototype=h,h.Parser=d,new d}();l.parser=l;var c=l,h={};(0,r.r2)(h,{addEvent:()=>k,addSection:()=>v,addTask:()=>w,addTaskOrg:()=>T,clear:()=>y,default:()=>E,getCommonDb:()=>m,getSections:()=>x,getTasks:()=>b});var u="",d=0,p=[],g=[],f=[],m=(0,r.eW)((()=>r.LJ),"getCommonDb"),y=(0,r.eW)((function(){p.length=0,g.length=0,u="",f.length=0,(0,r.ZH)()}),"clear"),v=(0,r.eW)((function(t){u=t,p.push(t)}),"addSection"),x=(0,r.eW)((function(){return p}),"getSections"),b=(0,r.eW)((function(){let t=_(),e=0;for(;!t&&e<100;)t=_(),e++;return g.push(...f),g}),"getTasks"),w=(0,r.eW)((function(t,e,n){const r={id:d++,section:u,type:u,task:t,score:e||0,events:n?[n]:[]};f.push(r)}),"addTask"),k=(0,r.eW)((function(t){f.find((t=>t.id===d-1)).events.push(t)}),"addEvent"),T=(0,r.eW)((function(t){const e={section:u,type:u,description:t,task:t,classes:[]};g.push(e)}),"addTaskOrg"),_=(0,r.eW)((function(){const t=(0,r.eW)((function(t){return f[t].processed}),"compileTask");let e=!0;for(const[n,r]of f.entries())t(n),e=e&&r.processed;return e}),"compileTasks"),E={clear:y,getCommonDb:m,addSection:v,getSections:x,getTasks:b,addTask:w,addTaskOrg:T,addEvent:k},S=(0,r.eW)((function(t,e){const n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n}),"drawRect"),C=(0,r.eW)((function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),a=t.append("g");function s(t){const n=(0,i.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function o(t){const n=(0,i.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function l(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),a.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,r.eW)(s,"smile"),(0,r.eW)(o,"sad"),(0,r.eW)(l,"ambivalent"),e.score>3?s(a):e.score<3?o(a):l(a),n}),"drawFace"),A=(0,r.eW)((function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n}),"drawCircle"),L=(0,r.eW)((function(t,e){const n=e.text.replace(/<br\s*\/?>/gi," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);const i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r}),"drawText"),M=(0,r.eW)((function(t,e){function n(t,e,n,r,i){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+r-i)+" "+(t+n-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(0,r.eW)(n,"genPoints");const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,L(t,e)}),"drawLabel"),N=(0,r.eW)((function(t,e,n){const r=t.append("g"),i=P();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=n.width,i.height=n.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,S(r,i),$(n)(e.text,r,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},n,e.colour)}),"drawSection"),I=-1,R=(0,r.eW)((function(t,e,n){const r=e.x+n.width/2,i=t.append("g");I++,i.append("line").attr("id","task"+I).attr("x1",r).attr("y1",e.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),C(i,{cx:r,cy:300+30*(5-e.score),score:e.score});const a=P();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,S(i,a),$(n)(e.task,i,a.x,a.y,a.width,a.height,{class:"task"},n,e.colour)}),"drawTask"),D=(0,r.eW)((function(t,e){S(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()}),"drawBackgroundRect"),O=(0,r.eW)((function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}}),"getTextObj"),P=(0,r.eW)((function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}}),"getNoteRect"),$=function(){function t(t,e,n,r,a,s,o,l){i(e.append("text").attr("x",n+a/2).attr("y",r+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,n,r,a,s,o,l,c){const{taskFontSize:h,taskFontFamily:u}=l,d=t.split(/<br\s*\/?>/gi);for(let t=0;t<d.length;t++){const l=t*h-h*(d.length-1)/2,p=e.append("text").attr("x",n+a/2).attr("y",r).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",u);p.append("tspan").attr("x",n+a/2).attr("dy",l).text(d[t]),p.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(p,o)}}function n(t,n,r,a,s,o,l,c){const h=n.append("switch"),u=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,o,l,c),i(u,l)}function i(t,e){for(const n in e)n in e&&t.attr(n,e[n])}return(0,r.eW)(t,"byText"),(0,r.eW)(e,"byTspan"),(0,r.eW)(n,"byFo"),(0,r.eW)(i,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}(),B=(0,r.eW)((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}),"initGraphics");function F(t,e){t.each((function(){var t,n=(0,i.Ys)(this),r=n.text().split(/(\s+|<br>)/).reverse(),a=[],s=n.attr("y"),o=parseFloat(n.attr("dy")),l=n.text(null).append("tspan").attr("x",0).attr("y",s).attr("dy",o+"em");for(let i=0;i<r.length;i++)t=r[r.length-1-i],a.push(t),l.text(a.join(" ").trim()),(l.node().getComputedTextLength()>e||"<br>"===t)&&(a.pop(),l.text(a.join(" ").trim()),a="<br>"===t?[""]:[t],l=n.append("tspan").attr("x",0).attr("y",s).attr("dy","1.1em").text(t))}))}(0,r.eW)(F,"wrap");var W=(0,r.eW)((function(t,e,n,r){const i=n%12-1,a=t.append("g");e.section=i,a.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+i);const s=a.append("g"),o=a.append("g"),l=o.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(F,e.width).node().getBBox(),c=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return e.height=l.height+1.1*c*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,o.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),Z(s,e,i,r),e}),"drawNode"),z=(0,r.eW)((function(t,e,n){const r=t.append("g"),i=r.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(F,e.width).node().getBBox(),a=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return r.remove(),i.height+1.1*a*.5+e.padding}),"getVirtualNodeHeight"),Z=(0,r.eW)((function(t,e,n){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-5} v${10-e.height} q0,-5 5,-5 h${e.width-10} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)}),"defaultBkg"),Y={drawRect:S,drawCircle:A,drawSection:N,drawText:L,drawLabel:M,drawTask:R,drawBackgroundRect:D,getTextObj:O,getNoteRect:P,initGraphics:B,drawNode:W,getVirtualNodeHeight:z},U=(0,r.eW)((function(t,e,n,a){const s=(0,r.nV)(),o=s.leftMargin??50;r.cM.debug("timeline",a.db);const l=s.securityLevel;let c;"sandbox"===l&&(c=(0,i.Ys)("#i"+e));const h=("sandbox"===l?(0,i.Ys)(c.nodes()[0].contentDocument.body):(0,i.Ys)("body")).select("#"+e);h.append("g");const u=a.db.getTasks(),d=a.db.getCommonDb().getDiagramTitle();r.cM.debug("task",u),Y.initGraphics(h);const p=a.db.getSections();r.cM.debug("sections",p);let g=0,f=0,m=0,y=0,v=50+o,x=50;y=50;let b=0,w=!0;p.forEach((function(t){const e={number:b,descr:t,section:b,width:150,padding:20,maxHeight:g},n=Y.getVirtualNodeHeight(h,e,s);r.cM.debug("sectionHeight before draw",n),g=Math.max(g,n+20)}));let k=0,T=0;r.cM.debug("tasks.length",u.length);for(const[t,e]of u.entries()){const n={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:f},i=Y.getVirtualNodeHeight(h,n,s);r.cM.debug("taskHeight before draw",i),f=Math.max(f,i+20),k=Math.max(k,e.events.length);let a=0;for(const t of e.events){const n={descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50};a+=Y.getVirtualNodeHeight(h,n,s)}T=Math.max(T,a)}r.cM.debug("maxSectionHeight before draw",g),r.cM.debug("maxTaskHeight before draw",f),p&&p.length>0?p.forEach((t=>{const e=u.filter((e=>e.section===t)),n={number:b,descr:t,section:b,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:g};r.cM.debug("sectionNode",n);const i=h.append("g"),a=Y.drawNode(i,n,b,s);r.cM.debug("sectionNode output",a),i.attr("transform",`translate(${v}, 50)`),x+=g+50,e.length>0&&G(h,e,b,v,x,f,s,k,T,g,!1),v+=200*Math.max(e.length,1),x=50,b++})):(w=!1,G(h,u,b,v,x,f,s,k,T,g,!0));const _=h.node().getBBox();r.cM.debug("bounds",_),d&&h.append("text").text(d).attr("x",_.width/2-o).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),m=w?g+f+150:f+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",o).attr("y1",m).attr("x2",_.width+3*o).attr("y2",m).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),(0,r.j7)(void 0,h,s.timeline?.padding??50,s.timeline?.useMaxWidth??!1)}),"draw"),G=(0,r.eW)((function(t,e,n,i,a,s,o,l,c,h,u){for(const l of e){const e={descr:l.task,section:n,number:n,width:150,padding:20,maxHeight:s};r.cM.debug("taskNode",e);const d=t.append("g").attr("class","taskWrapper"),p=Y.drawNode(d,e,n,o).height;if(r.cM.debug("taskHeight after draw",p),d.attr("transform",`translate(${i}, ${a})`),s=Math.max(s,p),l.events){const e=t.append("g").attr("class","lineWrapper");let r=s;a+=100,r+=V(t,l.events,n,i,a,o),a-=100,e.append("line").attr("x1",i+95).attr("y1",a+s).attr("x2",i+95).attr("y2",a+s+(u?s:h)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}i+=200,u&&!o.timeline?.disableMulticolor&&n++}a-=10}),"drawTasks"),V=(0,r.eW)((function(t,e,n,i,a,s){let o=0;const l=a;a+=100;for(const l of e){const e={descr:l,section:n,number:n,width:150,padding:20,maxHeight:50};r.cM.debug("eventNode",e);const c=t.append("g").attr("class","eventWrapper"),h=Y.drawNode(c,e,n,s).height;o+=h,c.attr("transform",`translate(${i}, ${a})`),a=a+10+h}return a=l,o}),"drawEvents"),q={setConf:(0,r.eW)((()=>{}),"setConf"),draw:U},j=(0,r.eW)((t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,a.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,s.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,o.Z)(t["lineColor"+e],20);for(let n=0;n<t.THEME_COLOR_LIMIT;n++){const r=""+(17-3*n);e+=`\n .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} path {\n fill: ${t["cScale"+n]};\n }\n .section-${n-1} text {\n fill: ${t["cScaleLabel"+n]};\n }\n .node-icon-${n-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+n]};\n }\n .section-edge-${n-1}{\n stroke: ${t["cScale"+n]};\n }\n .edge-depth-${n-1}{\n stroke-width: ${r};\n }\n .section-${n-1} line {\n stroke: ${t["cScaleInv"+n]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${t["cScaleLabel"+n]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `}return e}),"genSections"),H={db:h,renderer:q,parser:c,styles:(0,r.eW)((t=>`\n .edge {\n stroke-width: 3;\n }\n ${j(t)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`),"getStyles")}},5587:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>J});var r=n(214),i=n(7946),a=n(5430),s=n(4082),o=n(3108),l=function(){var t=(0,s.eW)((function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n}),"o"),e=[1,10,12,14,16,18,19,21,23],n=[2,6],r=[1,3],i=[1,5],a=[1,6],o=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],c=[1,25],h=[1,26],u=[1,28],d=[1,29],p=[1,30],g=[1,31],f=[1,32],m=[1,33],y=[1,34],v=[1,35],x=[1,36],b=[1,37],w=[1,43],k=[1,42],T=[1,47],_=[1,50],E=[1,10,12,14,16,18,19,21,23,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],A=[1,64],L={trace:(0,s.eW)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:(0,s.eW)((function(t,e,n,r,i,a,s){var o=a.length-1;switch(i){case 5:r.setOrientation(a[o]);break;case 9:r.setDiagramTitle(a[o].text.trim());break;case 12:r.setLineData({text:"",type:"text"},a[o]);break;case 13:r.setLineData(a[o-1],a[o]);break;case 14:r.setBarData({text:"",type:"text"},a[o]);break;case 15:r.setBarData(a[o-1],a[o]);break;case 16:this.$=a[o].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[o].trim(),r.setAccDescription(this.$);break;case 19:case 27:this.$=a[o-1];break;case 20:this.$=[Number(a[o-2]),...a[o]];break;case 21:this.$=[Number(a[o])];break;case 22:r.setXAxisTitle(a[o]);break;case 23:r.setXAxisTitle(a[o-1]);break;case 24:r.setXAxisTitle({type:"text",text:""});break;case 25:r.setXAxisBand(a[o]);break;case 26:r.setXAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 28:this.$=[a[o-2],...a[o]];break;case 29:this.$=[a[o]];break;case 30:r.setYAxisTitle(a[o]);break;case 31:r.setYAxisTitle(a[o-1]);break;case 32:r.setYAxisTitle({type:"text",text:""});break;case 33:r.setYAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 37:case 38:this.$={text:a[o],type:"text"};break;case 39:this.$={text:a[o],type:"markdown"};break;case 40:this.$=a[o];break;case 41:this.$=a[o-1]+""+a[o]}}),"anonymous"),table:[t(e,n,{3:1,4:2,7:4,5:r,34:i,35:a,36:o}),{1:[3]},t(e,n,{4:2,7:4,3:8,5:r,34:i,35:a,36:o}),t(e,n,{4:2,7:4,6:9,3:10,5:r,8:[1,11],34:i,35:a,36:o}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,n,{4:2,7:4,3:21,5:r,34:i,35:a,36:o}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:o}),{11:23,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},{11:39,13:38,24:w,27:k,29:40,30:41,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},{11:45,15:44,27:T,33:46,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},{11:49,17:48,24:_,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},{11:52,17:51,24:_,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},{20:[1,53]},{22:[1,54]},t(E,[2,18]),{1:[2,2]},t(E,[2,8]),t(E,[2,9]),t(S,[2,37],{40:55,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b}),t(S,[2,38]),t(S,[2,39]),t(C,[2,40]),t(C,[2,42]),t(C,[2,43]),t(C,[2,44]),t(C,[2,45]),t(C,[2,46]),t(C,[2,47]),t(C,[2,48]),t(C,[2,49]),t(C,[2,50]),t(C,[2,51]),t(E,[2,10]),t(E,[2,22],{30:41,29:56,24:w,27:k}),t(E,[2,24]),t(E,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},t(E,[2,11]),t(E,[2,30],{33:60,27:T}),t(E,[2,32]),{31:[1,61]},t(E,[2,12]),{17:62,24:_},{25:63,27:A},t(E,[2,14]),{17:65,24:_},t(E,[2,16]),t(E,[2,17]),t(C,[2,41]),t(E,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(E,[2,31]),{27:[1,69]},t(E,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(E,[2,15]),t(E,[2,26]),t(E,[2,27]),{11:59,32:72,37:24,38:c,39:h,40:27,41:u,42:d,43:p,44:g,45:f,46:m,47:y,48:v,49:x,50:b},t(E,[2,33]),t(E,[2,19]),{25:73,27:A},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:(0,s.eW)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.eW)((function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var y=p.options&&p.options.ranges;function v(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)((function(t){n.length=n.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),(0,s.eW)(v,"lex");for(var x,b,w,k,T,_,E,S,C,A={};;){if(w=n[n.length-1],this.defaultActions[w]?k=this.defaultActions[w]:(null==x&&(x=v()),k=o[w]&&o[w][x]),void 0===k||!k.length||!k[0]){var L;for(_ in C=[],o[w])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:C})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+x);switch(k[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(k[1]),x=null,b?(x=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[k[1]][1],A.$=i[i.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},y&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(T=this.performAction.apply(A,[l,h,c,g.yy,k[1],i,a].concat(d))))return T;E&&(n=n.slice(0,-1*E*2),i=i.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}),"parse")},M=function(){return{EOF:1,parseError:(0,s.eW)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.eW)((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}),"setInput"),input:(0,s.eW)((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}),"input"),unput:(0,s.eW)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.eW)((function(){return this._more=!0,this}),"more"),reject:(0,s.eW)((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})}),"reject"),less:(0,s.eW)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.eW)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.eW)((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,"")}),"upcomingInput"),showPosition:(0,s.eW)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.eW)((function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:(0,s.eW)((function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.eW)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.eW)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.eW)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.eW)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.eW)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.eW)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.eW)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)((function(t,e,n,r){switch(n){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}}),"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}}}();function N(){this.yy={}}return L.lexer=M,(0,s.eW)(N,"Parser"),N.prototype=L,L.Parser=N,new N}();l.parser=l;var c=l;function h(t){return"bar"===t.type}function u(t){return"band"===t.type}function d(t){return"linear"===t.type}(0,s.eW)(h,"isBarPlot"),(0,s.eW)(u,"isBandAxisData"),(0,s.eW)(d,"isLinearAxisData");var p=class{constructor(t){this.parentGroup=t}static{(0,s.eW)(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,e){if(!this.parentGroup)return{width:t.reduce(((t,e)=>Math.max(e.length,t)),0)*e,height:e};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",e);for(const a of t){const t=(0,r.QA)(i,1,a),s=t?t.width:a.length*e,o=t?t.height:e;n.width=Math.max(n.width,s),n.height=Math.max(n.height,o)}return i.remove(),n}},g=class{constructor(t,e,n,r){this.axisConfig=t,this.title=e,this.textDimensionCalculator=n,this.axisThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{(0,s.eW)(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((t=>t.toString())),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let e=t.height;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),r=.2*t.width;this.outerPadding=Math.min(n.width/2,r);const i=n.height+2*this.axisConfig.labelPadding;this.labelTextHeight=n.height,i<=e&&(e-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,n<=e&&(e-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-e}calculateSpaceIfDrawnVertical(t){let e=t.width;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),r=.2*t.height;this.outerPadding=Math.min(n.height/2,r);const i=n.width+2*this.axisConfig.labelPadding;i<=e&&(e-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,n<=e&&(e-=n,this.showTitle=!0)}this.boundingRect.width=t.width-e,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${e},${this.boundingRect.y} L ${e},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"})))}),this.showTick){const e=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${e},${this.getScaleValue(t)} L ${e-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const e=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e} L ${this.getScaleValue(t)},${e+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const e=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${e+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}},f=class extends g{static{(0,s.eW)(this,"BandAxis")}constructor(t,e,n,r,i){super(t,r,i,e),this.categories=n,this.scale=(0,o.tiA)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,o.tiA)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),s.cM.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},m=class extends g{static{(0,s.eW)(this,"LinearAxis")}constructor(t,e,n,r,i){super(t,r,i,e),this.domain=n,this.scale=(0,o.BYU)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,o.BYU)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function y(t,e,n,r){const i=new p(r);return u(t)?new f(e,n,t.categories,t.title,i):new m(e,n,[t.min,t.max],t.title,i)}(0,s.eW)(y,"getAxis");var v=class{constructor(t,e,n,r){this.textDimensionCalculator=t,this.chartConfig=e,this.chartData=n,this.chartThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{(0,s.eW)(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const e=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(e.width,t.width),r=e.height+2*this.chartConfig.titlePadding;return e.width<=n&&e.height<=r&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=r,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}};function x(t,e,n,r){const i=new p(r);return new v(i,t,e,n)}(0,s.eW)(x,"getChartTitleComponent");var b=class{constructor(t,e,n,r,i){this.plotData=t,this.xAxis=e,this.yAxis=n,this.orientation=r,this.plotIndex=i}static{(0,s.eW)(this,"LinePlot")}getDrawableElement(){const t=this.plotData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]));let e;return e="horizontal"===this.orientation?(0,o.jvg)().y((t=>t[0])).x((t=>t[1]))(t):(0,o.jvg)().x((t=>t[0])).y((t=>t[1]))(t),e?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:e,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},w=class{constructor(t,e,n,r,i,a){this.barData=t,this.boundingRect=e,this.xAxis=n,this.yAxis=r,this.orientation=i,this.plotIndex=a}static{(0,s.eW)(this,"BarPlot")}getDrawableElement(){const t=this.barData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])])),e=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),n=e/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:this.boundingRect.x,y:t[0]-n,height:e,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:t[0]-n,y:t[1],width:e,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]}},k=class{constructor(t,e,n){this.chartConfig=t,this.chartData=e,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}static{(0,s.eW)(this,"BasePlot")}setAxes(t,e){this.xAxis=t,this.yAxis=e}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!this.xAxis||!this.yAxis)throw Error("Axes must be passed to render Plots");const t=[];for(const[e,n]of this.chartData.plots.entries())switch(n.type){case"line":{const r=new b(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...r.getDrawableElement())}break;case"bar":{const r=new w(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...r.getDrawableElement())}}return t}};function T(t,e,n){return new k(t,e,n)}(0,s.eW)(T,"getPlotComponent");var _,E=class{constructor(t,e,n,r){this.chartConfig=t,this.chartData=e,this.componentStore={title:x(t,e,n,r),plot:T(t,e,n),xAxis:y(e.xAxis,t.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},r),yAxis:y(e.yAxis,t.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},r)}}static{(0,s.eW)(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,n=0,r=0,i=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=this.componentStore.plot.calculateSpace({width:i,height:a});t-=s.width,e-=s.height,s=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),r=s.height,e-=s.height,this.componentStore.xAxis.setAxisPosition("bottom"),s=this.componentStore.xAxis.calculateSpace({width:t,height:e}),e-=s.height,this.componentStore.yAxis.setAxisPosition("left"),s=this.componentStore.yAxis.calculateSpace({width:t,height:e}),n=s.width,t-=s.width,t>0&&(i+=t,t=0),e>0&&(a+=e,e=0),this.componentStore.plot.calculateSpace({width:i,height:a}),this.componentStore.plot.setBoundingBoxXY({x:n,y:r}),this.componentStore.xAxis.setRange([n,n+i]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:r+a}),this.componentStore.yAxis.setRange([r,r+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:r}),this.chartData.plots.some((t=>h(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,n=0,r=0,i=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});t-=o.width,e-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),n=o.height,e-=o.height,this.componentStore.xAxis.setAxisPosition("left"),o=this.componentStore.xAxis.calculateSpace({width:t,height:e}),t-=o.width,r=o.width,this.componentStore.yAxis.setAxisPosition("top"),o=this.componentStore.yAxis.calculateSpace({width:t,height:e}),e-=o.height,i=n+o.height,t>0&&(a+=t,t=0),e>0&&(s+=e,e=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:r,y:i}),this.componentStore.yAxis.setRange([r,r+a]),this.componentStore.yAxis.setBoundingBoxXY({x:r,y:n}),this.componentStore.xAxis.setRange([i,i+s]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some((t=>h(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const e of Object.values(this.componentStore))t.push(...e.getDrawableElements());return t}},S=class{static{(0,s.eW)(this,"XYChartBuilder")}static build(t,e,n,r){return new E(t,e,n,r).getDrawableElement()}},C=0,A=O(),L=D(),M={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},N=L.plotColorPalette.split(",").map((t=>t.trim())),I=!1,R=!1;function D(){const t=(0,s.xN)(),e=(0,s.iE)();return(0,i.Rb)(t.xyChart,e.themeVariables.xyChart)}function O(){const t=(0,s.iE)();return(0,i.Rb)(s.vZ.xyChart,t.xyChart)}function P(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function $(t){const e=(0,s.iE)();return(0,s.oO)(t.trim(),e)}function B(t){_=t}function F(t){A.chartOrientation="horizontal"===t?"horizontal":"vertical"}function W(t){M.xAxis.title=$(t.text)}function z(t,e){M.xAxis={type:"linear",title:M.xAxis.title,min:t,max:e},I=!0}function Z(t){M.xAxis={type:"band",title:M.xAxis.title,categories:t.map((t=>$(t.text)))},I=!0}function Y(t){M.yAxis.title=$(t.text)}function U(t,e){M.yAxis={type:"linear",title:M.yAxis.title,min:t,max:e},R=!0}function G(t){const e=Math.min(...t),n=Math.max(...t),r=d(M.yAxis)?M.yAxis.min:1/0,i=d(M.yAxis)?M.yAxis.max:-1/0;M.yAxis={type:"linear",title:M.yAxis.title,min:Math.min(r,e),max:Math.max(i,n)}}function V(t){let e=[];if(0===t.length)return e;if(!I){const e=d(M.xAxis)?M.xAxis.min:1/0,n=d(M.xAxis)?M.xAxis.max:-1/0;z(Math.min(e,1),Math.max(n,t.length))}if(R||G(t),u(M.xAxis)&&(e=M.xAxis.categories.map(((e,n)=>[e,t[n]]))),d(M.xAxis)){const n=M.xAxis.min,r=M.xAxis.max,i=(r-n)/(t.length-1),a=[];for(let t=n;t<=r;t+=i)a.push(`${t}`);e=a.map(((e,n)=>[e,t[n]]))}return e}function q(t){return N[0===t?0:t%N.length]}function j(t,e){const n=V(e);M.plots.push({type:"line",strokeFill:q(C),strokeWidth:2,data:n}),C++}function H(t,e){const n=V(e);M.plots.push({type:"bar",fill:q(C),data:n}),C++}function X(){if(0===M.plots.length)throw Error("No Plot to render, please provide a plot with some data");return M.title=(0,s.Kr)(),S.build(A,M,L,_)}function K(){return L}function Q(){return A}(0,s.eW)(D,"getChartDefaultThemeConfig"),(0,s.eW)(O,"getChartDefaultConfig"),(0,s.eW)(P,"getChartDefaultData"),(0,s.eW)($,"textSanitizer"),(0,s.eW)(B,"setTmpSVGG"),(0,s.eW)(F,"setOrientation"),(0,s.eW)(W,"setXAxisTitle"),(0,s.eW)(z,"setXAxisRangeData"),(0,s.eW)(Z,"setXAxisBand"),(0,s.eW)(Y,"setYAxisTitle"),(0,s.eW)(U,"setYAxisRangeData"),(0,s.eW)(G,"setYAxisRangeFromPlotData"),(0,s.eW)(V,"transformDataWithoutCategory"),(0,s.eW)(q,"getPlotColorFromPalette"),(0,s.eW)(j,"setLineData"),(0,s.eW)(H,"setBarData"),(0,s.eW)(X,"getDrawableElem"),(0,s.eW)(K,"getChartThemeConfig"),(0,s.eW)(Q,"getChartConfig");var J={parser:c,db:{getDrawableElem:X,clear:(0,s.eW)((function(){(0,s.ZH)(),C=0,A=O(),M={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},L=D(),N=L.plotColorPalette.split(",").map((t=>t.trim())),I=!1,R=!1}),"clear"),setAccTitle:s.GN,getAccTitle:s.eu,setDiagramTitle:s.g2,getDiagramTitle:s.Kr,getAccDescription:s.Mx,setAccDescription:s.U$,setOrientation:F,setXAxisTitle:W,setXAxisRangeData:z,setXAxisBand:Z,setYAxisTitle:Y,setYAxisRangeData:U,setLineData:j,setBarData:H,setTmpSVGG:B,getChartThemeConfig:K,getChartConfig:Q},renderer:{draw:(0,s.eW)(((t,e,n,r)=>{const i=r.db,o=i.getChartThemeConfig(),l=i.getChartConfig();function c(t){return"top"===t?"text-before-edge":"middle"}function h(t){return"left"===t?"start":"right"===t?"end":"middle"}function u(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,s.eW)(c,"getDominantBaseLine"),(0,s.eW)(h,"getTextAnchor"),(0,s.eW)(u,"getTextTransformation"),s.cM.debug("Rendering xychart chart\n"+t);const d=(0,a.P)(e),p=d.append("g").attr("class","main"),g=p.append("rect").attr("width",l.width).attr("height",l.height).attr("class","background");(0,s.v2)(d,l.height,l.width,!0),d.attr("viewBox",`0 0 ${l.width} ${l.height}`),g.attr("fill",o.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));const f=i.getDrawableElem(),m={};function y(t){let e=p,n="";for(const[r]of t.entries()){let i=p;r>0&&m[n]&&(i=m[n]),n+=t[r],e=m[n],e||(e=m[n]=i.append("g").attr("class",t[r]))}return e}(0,s.eW)(y,"getGroup");for(const t of f){if(0===t.data.length)continue;const e=y(t.groupTexts);switch(t.type){case"rect":e.selectAll("rect").data(t.data).enter().append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth));break;case"text":e.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>c(t.verticalPos))).attr("text-anchor",(t=>h(t.horizontalPos))).attr("transform",(t=>u(t))).text((t=>t.text));break;case"path":e.selectAll("path").data(t.data).enter().append("path").attr("d",(t=>t.path)).attr("fill",(t=>t.fill?t.fill:"none")).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth))}}}),"draw")}}},4433:(t,e,n)=>{"use strict";n.d(e,{default:()=>ni});class r{constructor(t,e,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=n}static range(t,e){return e?t&&t.loc&&e.loc&&t.loc.lexer===e.loc.lexer?new r(t.loc.lexer,t.loc.start,e.loc.end):null:t&&t.loc}}class i{constructor(t,e){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=e}range(t,e){return new i(e,r.range(this,t))}}class a{constructor(t,e){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,r,i="KaTeX parse error: "+t,s=e&&e.loc;if(s&&s.start<=s.end){var o=s.lexer.input;n=s.start,r=s.end,n===o.length?i+=" at end of input: ":i+=" at position "+(n+1)+": ";var l=o.slice(n,r).replace(/[^]/g,"$&̲");i+=(n>15?"…"+o.slice(n-15,n):o.slice(0,n))+l+(r+15<o.length?o.slice(r,r+15)+"…":o.slice(r))}var c=new Error(i);return c.name="ParseError",c.__proto__=a.prototype,c.position=n,null!=n&&null!=r&&(c.length=r-n),c.rawMessage=t,c}}a.prototype.__proto__=Error.prototype;var s=/([A-Z])/g,o={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},l=/[&><"']/g,c=function t(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},h=function(t,e){return-1!==t.indexOf(e)},u=function(t,e){return void 0===t?e:t},d=function(t){return String(t).replace(l,(t=>o[t]))},p=function(t){return t.replace(s,"-$1").toLowerCase()},g=c,f=function(t){var e=c(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},m=function(t){var e=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(t);return e?":"!==e[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?e[1].toLowerCase():null:"_relative"},y={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand <n>",cliProcessor:t=>"Infinity"===t?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function v(t){if(t.default)return t.default;var e=t.type,n=Array.isArray(e)?e[0]:e;if("string"!=typeof n)return n.enum[0];switch(n){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class x{constructor(t){for(var e in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{},y)if(y.hasOwnProperty(e)){var n=y[e];this[e]=void 0!==t[e]?n.processor?n.processor(t[e]):t[e]:v(n)}}reportNonstrict(t,e,n){var r=this.strict;if("function"==typeof r&&(r=r(t,e,n)),r&&"ignore"!==r){if(!0===r||"error"===r)throw new a("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",n);"warn"===r?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+r+"': "+e+" ["+t+"]")}}useStrictBehavior(t,e,n){var r=this.strict;if("function"==typeof r)try{r=r(t,e,n)}catch(t){r="error"}return!(!r||"ignore"===r||!0!==r&&"error"!==r&&("warn"===r?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+r+"': "+e+" ["+t+"]"),1)))}isTrusted(t){if(t.url&&!t.protocol){var e=m(t.url);if(null==e)return!1;t.protocol=e}var n="function"==typeof this.trust?this.trust(t):this.trust;return Boolean(n)}}class b{constructor(t,e,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=n}sup(){return w[k[this.id]]}sub(){return w[T[this.id]]}fracNum(){return w[_[this.id]]}fracDen(){return w[E[this.id]]}cramp(){return w[S[this.id]]}text(){return w[C[this.id]]}isTight(){return this.size>=2}}var w=[new b(0,0,!1),new b(1,0,!0),new b(2,1,!1),new b(3,1,!0),new b(4,2,!1),new b(5,2,!0),new b(6,3,!1),new b(7,3,!0)],k=[4,5,4,5,6,7,6,7],T=[5,5,5,5,7,7,7,7],_=[2,3,4,5,6,7,6,7],E=[3,3,5,5,7,7,7,7],S=[1,1,3,3,5,5,7,7],C=[0,1,2,3,2,3,2,3],A={DISPLAY:w[0],TEXT:w[2],SCRIPT:w[4],SCRIPTSCRIPT:w[6]},L=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],M=[];function N(t){for(var e=0;e<M.length;e+=2)if(t>=M[e]&&t<=M[e+1])return!0;return!1}L.forEach((t=>t.blocks.forEach((t=>M.push(...t)))));var I={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class R{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return h(this.classes,t)}toNode(){for(var t=document.createDocumentFragment(),e=0;e<this.children.length;e++)t.appendChild(this.children[e].toNode());return t}toMarkup(){for(var t="",e=0;e<this.children.length;e++)t+=this.children[e].toMarkup();return t}toText(){return this.children.map((t=>t.toText())).join("")}}var D={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},O={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},P={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function $(t,e,n){if(!D[e])throw new Error("Font metrics not found for font: "+e+".");var r=t.charCodeAt(0),i=D[e][r];if(!i&&t[0]in P&&(r=P[t[0]].charCodeAt(0),i=D[e][r]),i||"text"!==n||N(r)&&(i=D[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var B={},F=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],W=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],z=function(t,e){return e.size<2?t:F[t-1][e.size-1]};class Z{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||Z.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=W[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var e={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return new Z(e)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:z(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:W[t-1]})}havingBaseStyle(t){t=t||this.style.text();var e=z(Z.BASESIZE,t);return this.size===e&&this.textSize===Z.BASESIZE&&this.style===t?this:this.extend({style:t,size:e})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==Z.BASESIZE?["sizing","reset-size"+this.size,"size"+Z.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(t){var e;if(!B[e=t>=5?0:t>=3?1:2]){var n=B[e]={cssEmPerMu:O.quad[e]/18};for(var r in O)O.hasOwnProperty(r)&&(n[r]=O[r][e])}return B[e]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}Z.BASESIZE=6;var Y={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},U={ex:!0,em:!0,mu:!0},G=function(t){return"string"!=typeof t&&(t=t.unit),t in Y||t in U||"ex"===t},V=function(t,e){var n;if(t.unit in Y)n=Y[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)n=e.fontMetrics().cssEmPerMu;else{var r;if(r=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)n=r.fontMetrics().xHeight;else{if("em"!==t.unit)throw new a("Invalid unit: '"+t.unit+"'");n=r.fontMetrics().quad}r!==e&&(n*=r.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*n,e.maxSize)},q=function(t){return+t.toFixed(4)+"em"},j=function(t){return t.filter((t=>t)).join(" ")},H=function(t,e,n){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},e){e.style.isTight()&&this.classes.push("mtight");var r=e.getColor();r&&(this.style.color=r)}},X=function(t){var e=document.createElement(t);for(var n in e.className=j(this.classes),this.style)this.style.hasOwnProperty(n)&&(e.style[n]=this.style[n]);for(var r in this.attributes)this.attributes.hasOwnProperty(r)&&e.setAttribute(r,this.attributes[r]);for(var i=0;i<this.children.length;i++)e.appendChild(this.children[i].toNode());return e},K=/[\s"'>/=\x00-\x1f]/,Q=function(t){var e="<"+t;this.classes.length&&(e+=' class="'+d(j(this.classes))+'"');var n="";for(var r in this.style)this.style.hasOwnProperty(r)&&(n+=p(r)+":"+this.style[r]+";");for(var i in n&&(e+=' style="'+d(n)+'"'),this.attributes)if(this.attributes.hasOwnProperty(i)){if(K.test(i))throw new a("Invalid attribute name '"+i+"'");e+=" "+i+'="'+d(this.attributes[i])+'"'}e+=">";for(var s=0;s<this.children.length;s++)e+=this.children[s].toMarkup();return e+"</"+t+">"};class J{constructor(t,e,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,H.call(this,t,n,r),this.children=e||[]}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return h(this.classes,t)}toNode(){return X.call(this,"span")}toMarkup(){return Q.call(this,"span")}}class tt{constructor(t,e,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,H.call(this,e,r),this.children=n||[],this.setAttribute("href",t)}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return h(this.classes,t)}toNode(){return X.call(this,"a")}toMarkup(){return Q.call(this,"a")}}class et{constructor(t,e,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=n}hasClass(t){return h(this.classes,t)}toNode(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t}toMarkup(){var t='<img src="'+d(this.src)+'" alt="'+d(this.alt)+'"',e="";for(var n in this.style)this.style.hasOwnProperty(n)&&(e+=p(n)+":"+this.style[n]+";");return e&&(t+=' style="'+d(e)+'"'),t+"'/>"}}var nt={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class rt{constructor(t,e,n,r,i,a,s,o){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=s||[],this.style=o||{},this.maxFontSize=0;var l=function(t){for(var e=0;e<L.length;e++)for(var n=L[e],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(t>=i[0]&&t<=i[1])return n.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=nt[this.text])}hasClass(t){return h(this.classes,t)}toNode(){var t=document.createTextNode(this.text),e=null;for(var n in this.italic>0&&((e=document.createElement("span")).style.marginRight=q(this.italic)),this.classes.length>0&&((e=e||document.createElement("span")).className=j(this.classes)),this.style)this.style.hasOwnProperty(n)&&((e=e||document.createElement("span")).style[n]=this.style[n]);return e?(e.appendChild(t),e):t}toMarkup(){var t=!1,e="<span";this.classes.length&&(t=!0,e+=' class="',e+=d(j(this.classes)),e+='"');var n="";for(var r in this.italic>0&&(n+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(r)&&(n+=p(r)+":"+this.style[r]+";");n&&(t=!0,e+=' style="'+d(n)+'"');var i=d(this.text);return t?(e+=">",e+=i,e+="</span>"):i}}class it{constructor(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var n=0;n<this.children.length;n++)t.appendChild(this.children[n].toNode());return t}toMarkup(){var t='<svg xmlns="http://www.w3.org/2000/svg"';for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="'+d(this.attributes[e])+'"');t+=">";for(var n=0;n<this.children.length;n++)t+=this.children[n].toMarkup();return t+"</svg>"}}class at{constructor(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",I[this.pathName]),t}toMarkup(){return this.alternate?'<path d="'+d(this.alternate)+'"/>':'<path d="'+d(I[this.pathName])+'"/>'}}class st{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t}toMarkup(){var t="<line";for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="'+d(this.attributes[e])+'"');return t+"/>"}}function ot(t){if(t instanceof rt)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}var lt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},ct={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},ht={math:{},text:{}};function ut(t,e,n,r,i,a){ht[t][i]={font:e,group:n,replace:r},a&&r&&(ht[t][r]=ht[t][i])}var dt="math",pt="text",gt="main",ft="ams",mt="accent-token",yt="bin",vt="close",xt="inner",bt="mathord",wt="op-token",kt="open",Tt="punct",_t="rel",Et="spacing",St="textord";ut(dt,gt,_t,"≡","\\equiv",!0),ut(dt,gt,_t,"≺","\\prec",!0),ut(dt,gt,_t,"≻","\\succ",!0),ut(dt,gt,_t,"","\\sim",!0),ut(dt,gt,_t,"⊥","\\perp"),ut(dt,gt,_t,"⪯","\\preceq",!0),ut(dt,gt,_t,"⪰","\\succeq",!0),ut(dt,gt,_t,"≃","\\simeq",!0),ut(dt,gt,_t,"","\\mid",!0),ut(dt,gt,_t,"≪","\\ll",!0),ut(dt,gt,_t,"≫","\\gg",!0),ut(dt,gt,_t,"≍","\\asymp",!0),ut(dt,gt,_t,"∥","\\parallel"),ut(dt,gt,_t,"⋈","\\bowtie",!0),ut(dt,gt,_t,"⌣","\\smile",!0),ut(dt,gt,_t,"⊑","\\sqsubseteq",!0),ut(dt,gt,_t,"⊒","\\sqsupseteq",!0),ut(dt,gt,_t,"≐","\\doteq",!0),ut(dt,gt,_t,"⌢","\\frown",!0),ut(dt,gt,_t,"∋","\\ni",!0),ut(dt,gt,_t,"∝","\\propto",!0),ut(dt,gt,_t,"⊢","\\vdash",!0),ut(dt,gt,_t,"⊣","\\dashv",!0),ut(dt,gt,_t,"∋","\\owns"),ut(dt,gt,Tt,".","\\ldotp"),ut(dt,gt,Tt,"⋅","\\cdotp"),ut(dt,gt,St,"#","\\#"),ut(pt,gt,St,"#","\\#"),ut(dt,gt,St,"&","\\&"),ut(pt,gt,St,"&","\\&"),ut(dt,gt,St,"ℵ","\\aleph",!0),ut(dt,gt,St,"∀","\\forall",!0),ut(dt,gt,St,"ℏ","\\hbar",!0),ut(dt,gt,St,"∃","\\exists",!0),ut(dt,gt,St,"∇","\\nabla",!0),ut(dt,gt,St,"♭","\\flat",!0),ut(dt,gt,St,"","\\ell",!0),ut(dt,gt,St,"♮","\\natural",!0),ut(dt,gt,St,"♣","\\clubsuit",!0),ut(dt,gt,St,"℘","\\wp",!0),ut(dt,gt,St,"♯","\\sharp",!0),ut(dt,gt,St,"♢","\\diamondsuit",!0),ut(dt,gt,St,"","\\Re",!0),ut(dt,gt,St,"♡","\\heartsuit",!0),ut(dt,gt,St,"","\\Im",!0),ut(dt,gt,St,"♠","\\spadesuit",!0),ut(dt,gt,St,"§","\\S",!0),ut(pt,gt,St,"§","\\S"),ut(dt,gt,St,"¶","\\P",!0),ut(pt,gt,St,"¶","\\P"),ut(dt,gt,St,"†","\\dag"),ut(pt,gt,St,"†","\\dag"),ut(pt,gt,St,"†","\\textdagger"),ut(dt,gt,St,"‡","\\ddag"),ut(pt,gt,St,"‡","\\ddag"),ut(pt,gt,St,"‡","\\textdaggerdbl"),ut(dt,gt,vt,"⎱","\\rmoustache",!0),ut(dt,gt,kt,"⎰","\\lmoustache",!0),ut(dt,gt,vt,"⟯","\\rgroup",!0),ut(dt,gt,kt,"⟮","\\lgroup",!0),ut(dt,gt,yt,"∓","\\mp",!0),ut(dt,gt,yt,"⊖","\\ominus",!0),ut(dt,gt,yt,"⊎","\\uplus",!0),ut(dt,gt,yt,"⊓","\\sqcap",!0),ut(dt,gt,yt,"","\\ast"),ut(dt,gt,yt,"⊔","\\sqcup",!0),ut(dt,gt,yt,"◯","\\bigcirc",!0),ut(dt,gt,yt,"∙","\\bullet",!0),ut(dt,gt,yt,"‡","\\ddagger"),ut(dt,gt,yt,"≀","\\wr",!0),ut(dt,gt,yt,"⨿","\\amalg"),ut(dt,gt,yt,"&","\\And"),ut(dt,gt,_t,"⟵","\\longleftarrow",!0),ut(dt,gt,_t,"⇐","\\Leftarrow",!0),ut(dt,gt,_t,"⟸","\\Longleftarrow",!0),ut(dt,gt,_t,"⟶","\\longrightarrow",!0),ut(dt,gt,_t,"⇒","\\Rightarrow",!0),ut(dt,gt,_t,"⟹","\\Longrightarrow",!0),ut(dt,gt,_t,"↔","\\leftrightarrow",!0),ut(dt,gt,_t,"⟷","\\longleftrightarrow",!0),ut(dt,gt,_t,"⇔","\\Leftrightarrow",!0),ut(dt,gt,_t,"⟺","\\Longleftrightarrow",!0),ut(dt,gt,_t,"↦","\\mapsto",!0),ut(dt,gt,_t,"⟼","\\longmapsto",!0),ut(dt,gt,_t,"↗","\\nearrow",!0),ut(dt,gt,_t,"↩","\\hookleftarrow",!0),ut(dt,gt,_t,"↪","\\hookrightarrow",!0),ut(dt,gt,_t,"↘","\\searrow",!0),ut(dt,gt,_t,"↼","\\leftharpoonup",!0),ut(dt,gt,_t,"⇀","\\rightharpoonup",!0),ut(dt,gt,_t,"↙","\\swarrow",!0),ut(dt,gt,_t,"↽","\\leftharpoondown",!0),ut(dt,gt,_t,"⇁","\\rightharpoondown",!0),ut(dt,gt,_t,"↖","\\nwarrow",!0),ut(dt,gt,_t,"⇌","\\rightleftharpoons",!0),ut(dt,ft,_t,"≮","\\nless",!0),ut(dt,ft,_t,"","\\@nleqslant"),ut(dt,ft,_t,"","\\@nleqq"),ut(dt,ft,_t,"⪇","\\lneq",!0),ut(dt,ft,_t,"≨","\\lneqq",!0),ut(dt,ft,_t,"","\\@lvertneqq"),ut(dt,ft,_t,"⋦","\\lnsim",!0),ut(dt,ft,_t,"⪉","\\lnapprox",!0),ut(dt,ft,_t,"⊀","\\nprec",!0),ut(dt,ft,_t,"⋠","\\npreceq",!0),ut(dt,ft,_t,"⋨","\\precnsim",!0),ut(dt,ft,_t,"⪹","\\precnapprox",!0),ut(dt,ft,_t,"≁","\\nsim",!0),ut(dt,ft,_t,"","\\@nshortmid"),ut(dt,ft,_t,"∤","\\nmid",!0),ut(dt,ft,_t,"⊬","\\nvdash",!0),ut(dt,ft,_t,"⊭","\\nvDash",!0),ut(dt,ft,_t,"⋪","\\ntriangleleft"),ut(dt,ft,_t,"⋬","\\ntrianglelefteq",!0),ut(dt,ft,_t,"⊊","\\subsetneq",!0),ut(dt,ft,_t,"","\\@varsubsetneq"),ut(dt,ft,_t,"⫋","\\subsetneqq",!0),ut(dt,ft,_t,"","\\@varsubsetneqq"),ut(dt,ft,_t,"≯","\\ngtr",!0),ut(dt,ft,_t,"","\\@ngeqslant"),ut(dt,ft,_t,"","\\@ngeqq"),ut(dt,ft,_t,"⪈","\\gneq",!0),ut(dt,ft,_t,"≩","\\gneqq",!0),ut(dt,ft,_t,"","\\@gvertneqq"),ut(dt,ft,_t,"⋧","\\gnsim",!0),ut(dt,ft,_t,"⪊","\\gnapprox",!0),ut(dt,ft,_t,"⊁","\\nsucc",!0),ut(dt,ft,_t,"⋡","\\nsucceq",!0),ut(dt,ft,_t,"⋩","\\succnsim",!0),ut(dt,ft,_t,"⪺","\\succnapprox",!0),ut(dt,ft,_t,"≆","\\ncong",!0),ut(dt,ft,_t,"","\\@nshortparallel"),ut(dt,ft,_t,"∦","\\nparallel",!0),ut(dt,ft,_t,"⊯","\\nVDash",!0),ut(dt,ft,_t,"⋫","\\ntriangleright"),ut(dt,ft,_t,"⋭","\\ntrianglerighteq",!0),ut(dt,ft,_t,"","\\@nsupseteqq"),ut(dt,ft,_t,"⊋","\\supsetneq",!0),ut(dt,ft,_t,"","\\@varsupsetneq"),ut(dt,ft,_t,"⫌","\\supsetneqq",!0),ut(dt,ft,_t,"","\\@varsupsetneqq"),ut(dt,ft,_t,"⊮","\\nVdash",!0),ut(dt,ft,_t,"⪵","\\precneqq",!0),ut(dt,ft,_t,"⪶","\\succneqq",!0),ut(dt,ft,_t,"","\\@nsubseteqq"),ut(dt,ft,yt,"⊴","\\unlhd"),ut(dt,ft,yt,"⊵","\\unrhd"),ut(dt,ft,_t,"↚","\\nleftarrow",!0),ut(dt,ft,_t,"↛","\\nrightarrow",!0),ut(dt,ft,_t,"⇍","\\nLeftarrow",!0),ut(dt,ft,_t,"⇏","\\nRightarrow",!0),ut(dt,ft,_t,"↮","\\nleftrightarrow",!0),ut(dt,ft,_t,"⇎","\\nLeftrightarrow",!0),ut(dt,ft,_t,"△","\\vartriangle"),ut(dt,ft,St,"ℏ","\\hslash"),ut(dt,ft,St,"▽","\\triangledown"),ut(dt,ft,St,"◊","\\lozenge"),ut(dt,ft,St,"Ⓢ","\\circledS"),ut(dt,ft,St,"®","\\circledR"),ut(pt,ft,St,"®","\\circledR"),ut(dt,ft,St,"∡","\\measuredangle",!0),ut(dt,ft,St,"∄","\\nexists"),ut(dt,ft,St,"℧","\\mho"),ut(dt,ft,St,"Ⅎ","\\Finv",!0),ut(dt,ft,St,"⅁","\\Game",!0),ut(dt,ft,St,"","\\backprime"),ut(dt,ft,St,"▲","\\blacktriangle"),ut(dt,ft,St,"▼","\\blacktriangledown"),ut(dt,ft,St,"■","\\blacksquare"),ut(dt,ft,St,"⧫","\\blacklozenge"),ut(dt,ft,St,"★","\\bigstar"),ut(dt,ft,St,"∢","\\sphericalangle",!0),ut(dt,ft,St,"∁","\\complement",!0),ut(dt,ft,St,"ð","\\eth",!0),ut(pt,gt,St,"ð","ð"),ut(dt,ft,St,"","\\diagup"),ut(dt,ft,St,"╲","\\diagdown"),ut(dt,ft,St,"□","\\square"),ut(dt,ft,St,"□","\\Box"),ut(dt,ft,St,"◊","\\Diamond"),ut(dt,ft,St,"¥","\\yen",!0),ut(pt,ft,St,"¥","\\yen",!0),ut(dt,ft,St,"✓","\\checkmark",!0),ut(pt,ft,St,"✓","\\checkmark"),ut(dt,ft,St,"ℶ","\\beth",!0),ut(dt,ft,St,"ℸ","\\daleth",!0),ut(dt,ft,St,"ℷ","\\gimel",!0),ut(dt,ft,St,"ϝ","\\digamma",!0),ut(dt,ft,St,"ϰ","\\varkappa"),ut(dt,ft,kt,"┌","\\@ulcorner",!0),ut(dt,ft,vt,"┐","\\@urcorner",!0),ut(dt,ft,kt,"└","\\@llcorner",!0),ut(dt,ft,vt,"┘","\\@lrcorner",!0),ut(dt,ft,_t,"≦","\\leqq",!0),ut(dt,ft,_t,"⩽","\\leqslant",!0),ut(dt,ft,_t,"⪕","\\eqslantless",!0),ut(dt,ft,_t,"≲","\\lesssim",!0),ut(dt,ft,_t,"⪅","\\lessapprox",!0),ut(dt,ft,_t,"≊","\\approxeq",!0),ut(dt,ft,yt,"⋖","\\lessdot"),ut(dt,ft,_t,"⋘","\\lll",!0),ut(dt,ft,_t,"≶","\\lessgtr",!0),ut(dt,ft,_t,"⋚","\\lesseqgtr",!0),ut(dt,ft,_t,"⪋","\\lesseqqgtr",!0),ut(dt,ft,_t,"≑","\\doteqdot"),ut(dt,ft,_t,"≓","\\risingdotseq",!0),ut(dt,ft,_t,"≒","\\fallingdotseq",!0),ut(dt,ft,_t,"∽","\\backsim",!0),ut(dt,ft,_t,"⋍","\\backsimeq",!0),ut(dt,ft,_t,"⫅","\\subseteqq",!0),ut(dt,ft,_t,"⋐","\\Subset",!0),ut(dt,ft,_t,"⊏","\\sqsubset",!0),ut(dt,ft,_t,"≼","\\preccurlyeq",!0),ut(dt,ft,_t,"⋞","\\curlyeqprec",!0),ut(dt,ft,_t,"≾","\\precsim",!0),ut(dt,ft,_t,"⪷","\\precapprox",!0),ut(dt,ft,_t,"⊲","\\vartriangleleft"),ut(dt,ft,_t,"⊴","\\trianglelefteq"),ut(dt,ft,_t,"⊨","\\vDash",!0),ut(dt,ft,_t,"⊪","\\Vvdash",!0),ut(dt,ft,_t,"⌣","\\smallsmile"),ut(dt,ft,_t,"⌢","\\smallfrown"),ut(dt,ft,_t,"≏","\\bumpeq",!0),ut(dt,ft,_t,"≎","\\Bumpeq",!0),ut(dt,ft,_t,"≧","\\geqq",!0),ut(dt,ft,_t,"⩾","\\geqslant",!0),ut(dt,ft,_t,"⪖","\\eqslantgtr",!0),ut(dt,ft,_t,"≳","\\gtrsim",!0),ut(dt,ft,_t,"⪆","\\gtrapprox",!0),ut(dt,ft,yt,"⋗","\\gtrdot"),ut(dt,ft,_t,"⋙","\\ggg",!0),ut(dt,ft,_t,"≷","\\gtrless",!0),ut(dt,ft,_t,"⋛","\\gtreqless",!0),ut(dt,ft,_t,"⪌","\\gtreqqless",!0),ut(dt,ft,_t,"≖","\\eqcirc",!0),ut(dt,ft,_t,"≗","\\circeq",!0),ut(dt,ft,_t,"≜","\\triangleq",!0),ut(dt,ft,_t,"","\\thicksim"),ut(dt,ft,_t,"≈","\\thickapprox"),ut(dt,ft,_t,"⫆","\\supseteqq",!0),ut(dt,ft,_t,"⋑","\\Supset",!0),ut(dt,ft,_t,"⊐","\\sqsupset",!0),ut(dt,ft,_t,"≽","\\succcurlyeq",!0),ut(dt,ft,_t,"⋟","\\curlyeqsucc",!0),ut(dt,ft,_t,"≿","\\succsim",!0),ut(dt,ft,_t,"⪸","\\succapprox",!0),ut(dt,ft,_t,"⊳","\\vartriangleright"),ut(dt,ft,_t,"⊵","\\trianglerighteq"),ut(dt,ft,_t,"⊩","\\Vdash",!0),ut(dt,ft,_t,"","\\shortmid"),ut(dt,ft,_t,"∥","\\shortparallel"),ut(dt,ft,_t,"≬","\\between",!0),ut(dt,ft,_t,"⋔","\\pitchfork",!0),ut(dt,ft,_t,"∝","\\varpropto"),ut(dt,ft,_t,"◀","\\blacktriangleleft"),ut(dt,ft,_t,"∴","\\therefore",!0),ut(dt,ft,_t,"∍","\\backepsilon"),ut(dt,ft,_t,"▶","\\blacktriangleright"),ut(dt,ft,_t,"∵","\\because",!0),ut(dt,ft,_t,"⋘","\\llless"),ut(dt,ft,_t,"⋙","\\gggtr"),ut(dt,ft,yt,"⊲","\\lhd"),ut(dt,ft,yt,"⊳","\\rhd"),ut(dt,ft,_t,"≂","\\eqsim",!0),ut(dt,gt,_t,"⋈","\\Join"),ut(dt,ft,_t,"≑","\\Doteq",!0),ut(dt,ft,yt,"∔","\\dotplus",!0),ut(dt,ft,yt,"","\\smallsetminus"),ut(dt,ft,yt,"⋒","\\Cap",!0),ut(dt,ft,yt,"⋓","\\Cup",!0),ut(dt,ft,yt,"⩞","\\doublebarwedge",!0),ut(dt,ft,yt,"⊟","\\boxminus",!0),ut(dt,ft,yt,"⊞","\\boxplus",!0),ut(dt,ft,yt,"⋇","\\divideontimes",!0),ut(dt,ft,yt,"⋉","\\ltimes",!0),ut(dt,ft,yt,"⋊","\\rtimes",!0),ut(dt,ft,yt,"⋋","\\leftthreetimes",!0),ut(dt,ft,yt,"⋌","\\rightthreetimes",!0),ut(dt,ft,yt,"⋏","\\curlywedge",!0),ut(dt,ft,yt,"⋎","\\curlyvee",!0),ut(dt,ft,yt,"⊝","\\circleddash",!0),ut(dt,ft,yt,"⊛","\\circledast",!0),ut(dt,ft,yt,"⋅","\\centerdot"),ut(dt,ft,yt,"⊺","\\intercal",!0),ut(dt,ft,yt,"⋒","\\doublecap"),ut(dt,ft,yt,"⋓","\\doublecup"),ut(dt,ft,yt,"⊠","\\boxtimes",!0),ut(dt,ft,_t,"⇢","\\dashrightarrow",!0),ut(dt,ft,_t,"⇠","\\dashleftarrow",!0),ut(dt,ft,_t,"⇇","\\leftleftarrows",!0),ut(dt,ft,_t,"⇆","\\leftrightarrows",!0),ut(dt,ft,_t,"⇚","\\Lleftarrow",!0),ut(dt,ft,_t,"↞","\\twoheadleftarrow",!0),ut(dt,ft,_t,"↢","\\leftarrowtail",!0),ut(dt,ft,_t,"↫","\\looparrowleft",!0),ut(dt,ft,_t,"⇋","\\leftrightharpoons",!0),ut(dt,ft,_t,"↶","\\curvearrowleft",!0),ut(dt,ft,_t,"↺","\\circlearrowleft",!0),ut(dt,ft,_t,"↰","\\Lsh",!0),ut(dt,ft,_t,"⇈","\\upuparrows",!0),ut(dt,ft,_t,"↿","\\upharpoonleft",!0),ut(dt,ft,_t,"⇃","\\downharpoonleft",!0),ut(dt,gt,_t,"⊶","\\origof",!0),ut(dt,gt,_t,"⊷","\\imageof",!0),ut(dt,ft,_t,"⊸","\\multimap",!0),ut(dt,ft,_t,"↭","\\leftrightsquigarrow",!0),ut(dt,ft,_t,"⇉","\\rightrightarrows",!0),ut(dt,ft,_t,"⇄","\\rightleftarrows",!0),ut(dt,ft,_t,"↠","\\twoheadrightarrow",!0),ut(dt,ft,_t,"↣","\\rightarrowtail",!0),ut(dt,ft,_t,"↬","\\looparrowright",!0),ut(dt,ft,_t,"↷","\\curvearrowright",!0),ut(dt,ft,_t,"↻","\\circlearrowright",!0),ut(dt,ft,_t,"↱","\\Rsh",!0),ut(dt,ft,_t,"⇊","\\downdownarrows",!0),ut(dt,ft,_t,"↾","\\upharpoonright",!0),ut(dt,ft,_t,"⇂","\\downharpoonright",!0),ut(dt,ft,_t,"⇝","\\rightsquigarrow",!0),ut(dt,ft,_t,"⇝","\\leadsto"),ut(dt,ft,_t,"⇛","\\Rrightarrow",!0),ut(dt,ft,_t,"↾","\\restriction"),ut(dt,gt,St,"","`"),ut(dt,gt,St,"$","\\$"),ut(pt,gt,St,"$","\\$"),ut(pt,gt,St,"$","\\textdollar"),ut(dt,gt,St,"%","\\%"),ut(pt,gt,St,"%","\\%"),ut(dt,gt,St,"_","\\_"),ut(pt,gt,St,"_","\\_"),ut(pt,gt,St,"_","\\textunderscore"),ut(dt,gt,St,"∠","\\angle",!0),ut(dt,gt,St,"∞","\\infty",!0),ut(dt,gt,St,"","\\prime"),ut(dt,gt,St,"△","\\triangle"),ut(dt,gt,St,"Γ","\\Gamma",!0),ut(dt,gt,St,"Δ","\\Delta",!0),ut(dt,gt,St,"Θ","\\Theta",!0),ut(dt,gt,St,"Λ","\\Lambda",!0),ut(dt,gt,St,"Ξ","\\Xi",!0),ut(dt,gt,St,"Π","\\Pi",!0),ut(dt,gt,St,"Σ","\\Sigma",!0),ut(dt,gt,St,"Υ","\\Upsilon",!0),ut(dt,gt,St,"Φ","\\Phi",!0),ut(dt,gt,St,"Ψ","\\Psi",!0),ut(dt,gt,St,"Ω","\\Omega",!0),ut(dt,gt,St,"A","Α"),ut(dt,gt,St,"B","Β"),ut(dt,gt,St,"E","Ε"),ut(dt,gt,St,"Z","Ζ"),ut(dt,gt,St,"H","Η"),ut(dt,gt,St,"I","Ι"),ut(dt,gt,St,"K","Κ"),ut(dt,gt,St,"M","Μ"),ut(dt,gt,St,"N","Ν"),ut(dt,gt,St,"O","Ο"),ut(dt,gt,St,"P","Ρ"),ut(dt,gt,St,"T","Τ"),ut(dt,gt,St,"X","Χ"),ut(dt,gt,St,"¬","\\neg",!0),ut(dt,gt,St,"¬","\\lnot"),ut(dt,gt,St,"","\\top"),ut(dt,gt,St,"⊥","\\bot"),ut(dt,gt,St,"∅","\\emptyset"),ut(dt,ft,St,"∅","\\varnothing"),ut(dt,gt,bt,"α","\\alpha",!0),ut(dt,gt,bt,"β","\\beta",!0),ut(dt,gt,bt,"γ","\\gamma",!0),ut(dt,gt,bt,"δ","\\delta",!0),ut(dt,gt,bt,"ϵ","\\epsilon",!0),ut(dt,gt,bt,"ζ","\\zeta",!0),ut(dt,gt,bt,"η","\\eta",!0),ut(dt,gt,bt,"θ","\\theta",!0),ut(dt,gt,bt,"ι","\\iota",!0),ut(dt,gt,bt,"κ","\\kappa",!0),ut(dt,gt,bt,"λ","\\lambda",!0),ut(dt,gt,bt,"μ","\\mu",!0),ut(dt,gt,bt,"ν","\\nu",!0),ut(dt,gt,bt,"ξ","\\xi",!0),ut(dt,gt,bt,"ο","\\omicron",!0),ut(dt,gt,bt,"π","\\pi",!0),ut(dt,gt,bt,"ρ","\\rho",!0),ut(dt,gt,bt,"σ","\\sigma",!0),ut(dt,gt,bt,"τ","\\tau",!0),ut(dt,gt,bt,"υ","\\upsilon",!0),ut(dt,gt,bt,"ϕ","\\phi",!0),ut(dt,gt,bt,"χ","\\chi",!0),ut(dt,gt,bt,"ψ","\\psi",!0),ut(dt,gt,bt,"ω","\\omega",!0),ut(dt,gt,bt,"ε","\\varepsilon",!0),ut(dt,gt,bt,"ϑ","\\vartheta",!0),ut(dt,gt,bt,"ϖ","\\varpi",!0),ut(dt,gt,bt,"ϱ","\\varrho",!0),ut(dt,gt,bt,"ς","\\varsigma",!0),ut(dt,gt,bt,"φ","\\varphi",!0),ut(dt,gt,yt,"","*",!0),ut(dt,gt,yt,"+","+"),ut(dt,gt,yt,"","-",!0),ut(dt,gt,yt,"⋅","\\cdot",!0),ut(dt,gt,yt,"∘","\\circ",!0),ut(dt,gt,yt,"÷","\\div",!0),ut(dt,gt,yt,"±","\\pm",!0),ut(dt,gt,yt,"×","\\times",!0),ut(dt,gt,yt,"∩","\\cap",!0),ut(dt,gt,yt,"","\\cup",!0),ut(dt,gt,yt,"","\\setminus",!0),ut(dt,gt,yt,"∧","\\land"),ut(dt,gt,yt,"","\\lor"),ut(dt,gt,yt,"∧","\\wedge",!0),ut(dt,gt,yt,"","\\vee",!0),ut(dt,gt,St,"√","\\surd"),ut(dt,gt,kt,"⟨","\\langle",!0),ut(dt,gt,kt,"","\\lvert"),ut(dt,gt,kt,"∥","\\lVert"),ut(dt,gt,vt,"?","?"),ut(dt,gt,vt,"!","!"),ut(dt,gt,vt,"⟩","\\rangle",!0),ut(dt,gt,vt,"","\\rvert"),ut(dt,gt,vt,"∥","\\rVert"),ut(dt,gt,_t,"=","="),ut(dt,gt,_t,":",":"),ut(dt,gt,_t,"≈","\\approx",!0),ut(dt,gt,_t,"≅","\\cong",!0),ut(dt,gt,_t,"≥","\\ge"),ut(dt,gt,_t,"≥","\\geq",!0),ut(dt,gt,_t,"←","\\gets"),ut(dt,gt,_t,">","\\gt",!0),ut(dt,gt,_t,"∈","\\in",!0),ut(dt,gt,_t,"","\\@not"),ut(dt,gt,_t,"⊂","\\subset",!0),ut(dt,gt,_t,"⊃","\\supset",!0),ut(dt,gt,_t,"⊆","\\subseteq",!0),ut(dt,gt,_t,"⊇","\\supseteq",!0),ut(dt,ft,_t,"⊈","\\nsubseteq",!0),ut(dt,ft,_t,"⊉","\\nsupseteq",!0),ut(dt,gt,_t,"⊨","\\models"),ut(dt,gt,_t,"←","\\leftarrow",!0),ut(dt,gt,_t,"≤","\\le"),ut(dt,gt,_t,"≤","\\leq",!0),ut(dt,gt,_t,"<","\\lt",!0),ut(dt,gt,_t,"→","\\rightarrow",!0),ut(dt,gt,_t,"→","\\to"),ut(dt,ft,_t,"≱","\\ngeq",!0),ut(dt,ft,_t,"≰","\\nleq",!0),ut(dt,gt,Et," ","\\ "),ut(dt,gt,Et," ","\\space"),ut(dt,gt,Et," ","\\nobreakspace"),ut(pt,gt,Et," ","\\ "),ut(pt,gt,Et," "," "),ut(pt,gt,Et," ","\\space"),ut(pt,gt,Et," ","\\nobreakspace"),ut(dt,gt,Et,null,"\\nobreak"),ut(dt,gt,Et,null,"\\allowbreak"),ut(dt,gt,Tt,",",","),ut(dt,gt,Tt,";",";"),ut(dt,ft,yt,"⊼","\\barwedge",!0),ut(dt,ft,yt,"⊻","\\veebar",!0),ut(dt,gt,yt,"⊙","\\odot",!0),ut(dt,gt,yt,"⊕","\\oplus",!0),ut(dt,gt,yt,"⊗","\\otimes",!0),ut(dt,gt,St,"∂","\\partial",!0),ut(dt,gt,yt,"⊘","\\oslash",!0),ut(dt,ft,yt,"⊚","\\circledcirc",!0),ut(dt,ft,yt,"⊡","\\boxdot",!0),ut(dt,gt,yt,"△","\\bigtriangleup"),ut(dt,gt,yt,"▽","\\bigtriangledown"),ut(dt,gt,yt,"†","\\dagger"),ut(dt,gt,yt,"⋄","\\diamond"),ut(dt,gt,yt,"⋆","\\star"),ut(dt,gt,yt,"◃","\\triangleleft"),ut(dt,gt,yt,"▹","\\triangleright"),ut(dt,gt,kt,"{","\\{"),ut(pt,gt,St,"{","\\{"),ut(pt,gt,St,"{","\\textbraceleft"),ut(dt,gt,vt,"}","\\}"),ut(pt,gt,St,"}","\\}"),ut(pt,gt,St,"}","\\textbraceright"),ut(dt,gt,kt,"{","\\lbrace"),ut(dt,gt,vt,"}","\\rbrace"),ut(dt,gt,kt,"[","\\lbrack",!0),ut(pt,gt,St,"[","\\lbrack",!0),ut(dt,gt,vt,"]","\\rbrack",!0),ut(pt,gt,St,"]","\\rbrack",!0),ut(dt,gt,kt,"(","\\lparen",!0),ut(dt,gt,vt,")","\\rparen",!0),ut(pt,gt,St,"<","\\textless",!0),ut(pt,gt,St,">","\\textgreater",!0),ut(dt,gt,kt,"⌊","\\lfloor",!0),ut(dt,gt,vt,"⌋","\\rfloor",!0),ut(dt,gt,kt,"⌈","\\lceil",!0),ut(dt,gt,vt,"⌉","\\rceil",!0),ut(dt,gt,St,"\\","\\backslash"),ut(dt,gt,St,"","|"),ut(dt,gt,St,"","\\vert"),ut(pt,gt,St,"|","\\textbar",!0),ut(dt,gt,St,"∥","\\|"),ut(dt,gt,St,"∥","\\Vert"),ut(pt,gt,St,"∥","\\textbardbl"),ut(pt,gt,St,"~","\\textasciitilde"),ut(pt,gt,St,"\\","\\textbackslash"),ut(pt,gt,St,"^","\\textasciicircum"),ut(dt,gt,_t,"↑","\\uparrow",!0),ut(dt,gt,_t,"⇑","\\Uparrow",!0),ut(dt,gt,_t,"↓","\\downarrow",!0),ut(dt,gt,_t,"⇓","\\Downarrow",!0),ut(dt,gt,_t,"↕","\\updownarrow",!0),ut(dt,gt,_t,"⇕","\\Updownarrow",!0),ut(dt,gt,wt,"∐","\\coprod"),ut(dt,gt,wt,"","\\bigvee"),ut(dt,gt,wt,"⋀","\\bigwedge"),ut(dt,gt,wt,"⨄","\\biguplus"),ut(dt,gt,wt,"⋂","\\bigcap"),ut(dt,gt,wt,"","\\bigcup"),ut(dt,gt,wt,"∫","\\int"),ut(dt,gt,wt,"∫","\\intop"),ut(dt,gt,wt,"∬","\\iint"),ut(dt,gt,wt,"∭","\\iiint"),ut(dt,gt,wt,"∏","\\prod"),ut(dt,gt,wt,"∑","\\sum"),ut(dt,gt,wt,"⨂","\\bigotimes"),ut(dt,gt,wt,"⨁","\\bigoplus"),ut(dt,gt,wt,"⨀","\\bigodot"),ut(dt,gt,wt,"∮","\\oint"),ut(dt,gt,wt,"∯","\\oiint"),ut(dt,gt,wt,"∰","\\oiiint"),ut(dt,gt,wt,"⨆","\\bigsqcup"),ut(dt,gt,wt,"∫","\\smallint"),ut(pt,gt,xt,"…","\\textellipsis"),ut(dt,gt,xt,"…","\\mathellipsis"),ut(pt,gt,xt,"…","\\ldots",!0),ut(dt,gt,xt,"…","\\ldots",!0),ut(dt,gt,xt,"⋯","\\@cdots",!0),ut(dt,gt,xt,"⋱","\\ddots",!0),ut(dt,gt,St,"⋮","\\varvdots"),ut(pt,gt,St,"⋮","\\varvdots"),ut(dt,gt,mt,"ˊ","\\acute"),ut(dt,gt,mt,"ˋ","\\grave"),ut(dt,gt,mt,"¨","\\ddot"),ut(dt,gt,mt,"~","\\tilde"),ut(dt,gt,mt,"ˉ","\\bar"),ut(dt,gt,mt,"˘","\\breve"),ut(dt,gt,mt,"ˇ","\\check"),ut(dt,gt,mt,"^","\\hat"),ut(dt,gt,mt,"⃗","\\vec"),ut(dt,gt,mt,"˙","\\dot"),ut(dt,gt,mt,"˚","\\mathring"),ut(dt,gt,bt,"","\\@imath"),ut(dt,gt,bt,"","\\@jmath"),ut(dt,gt,St,"ı","ı"),ut(dt,gt,St,"ȷ","ȷ"),ut(pt,gt,St,"ı","\\i",!0),ut(pt,gt,St,"ȷ","\\j",!0),ut(pt,gt,St,"ß","\\ss",!0),ut(pt,gt,St,"æ","\\ae",!0),ut(pt,gt,St,"œ","\\oe",!0),ut(pt,gt,St,"ø","\\o",!0),ut(pt,gt,St,"Æ","\\AE",!0),ut(pt,gt,St,"Œ","\\OE",!0),ut(pt,gt,St,"Ø","\\O",!0),ut(pt,gt,mt,"ˊ","\\'"),ut(pt,gt,mt,"ˋ","\\`"),ut(pt,gt,mt,"ˆ","\\^"),ut(pt,gt,mt,"˜","\\~"),ut(pt,gt,mt,"ˉ","\\="),ut(pt,gt,mt,"˘","\\u"),ut(pt,gt,mt,"˙","\\."),ut(pt,gt,mt,"¸","\\c"),ut(pt,gt,mt,"˚","\\r"),ut(pt,gt,mt,"ˇ","\\v"),ut(pt,gt,mt,"¨",'\\"'),ut(pt,gt,mt,"˝","\\H"),ut(pt,gt,mt,"◯","\\textcircled");var Ct={"--":!0,"---":!0,"``":!0,"''":!0};ut(pt,gt,St,"","--",!0),ut(pt,gt,St,"","\\textendash"),ut(pt,gt,St,"—","---",!0),ut(pt,gt,St,"—","\\textemdash"),ut(pt,gt,St,"","`",!0),ut(pt,gt,St,"","\\textquoteleft"),ut(pt,gt,St,"","'",!0),ut(pt,gt,St,"","\\textquoteright"),ut(pt,gt,St,"“","``",!0),ut(pt,gt,St,"“","\\textquotedblleft"),ut(pt,gt,St,"”","''",!0),ut(pt,gt,St,"”","\\textquotedblright"),ut(dt,gt,St,"°","\\degree",!0),ut(pt,gt,St,"°","\\degree"),ut(pt,gt,St,"°","\\textdegree",!0),ut(dt,gt,St,"£","\\pounds"),ut(dt,gt,St,"£","\\mathsterling",!0),ut(pt,gt,St,"£","\\pounds"),ut(pt,gt,St,"£","\\textsterling",!0),ut(dt,ft,St,"✠","\\maltese"),ut(pt,ft,St,"✠","\\maltese");for(var At=0;At<14;At++){var Lt='0123456789/@."'.charAt(At);ut(dt,gt,St,Lt,Lt)}for(var Mt=0;Mt<25;Mt++){var Nt='0123456789!@*()-=+";:?/.,'.charAt(Mt);ut(pt,gt,St,Nt,Nt)}for(var It="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Rt=0;Rt<52;Rt++){var Dt=It.charAt(Rt);ut(dt,gt,bt,Dt,Dt),ut(pt,gt,St,Dt,Dt)}ut(dt,ft,St,"C",""),ut(pt,ft,St,"C",""),ut(dt,ft,St,"H",""),ut(pt,ft,St,"H",""),ut(dt,ft,St,"N",""),ut(pt,ft,St,"N",""),ut(dt,ft,St,"P",""),ut(pt,ft,St,"P",""),ut(dt,ft,St,"Q",""),ut(pt,ft,St,"Q",""),ut(dt,ft,St,"R",""),ut(pt,ft,St,"R",""),ut(dt,ft,St,"Z",""),ut(pt,ft,St,"Z",""),ut(dt,gt,bt,"h",""),ut(pt,gt,bt,"h","");for(var Ot="",Pt=0;Pt<52;Pt++){var $t=It.charAt(Pt);ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56320+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56372+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56424+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56580+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56684+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56736+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56788+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56840+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56944+Pt)),ut(pt,gt,St,$t,Ot),Pt<26&&(ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56632+Pt)),ut(pt,gt,St,$t,Ot),ut(dt,gt,bt,$t,Ot=String.fromCharCode(55349,56476+Pt)),ut(pt,gt,St,$t,Ot))}ut(dt,gt,bt,"k",Ot=String.fromCharCode(55349,56668)),ut(pt,gt,St,"k",Ot);for(var Bt=0;Bt<10;Bt++){var Ft=Bt.toString();ut(dt,gt,bt,Ft,Ot=String.fromCharCode(55349,57294+Bt)),ut(pt,gt,St,Ft,Ot),ut(dt,gt,bt,Ft,Ot=String.fromCharCode(55349,57314+Bt)),ut(pt,gt,St,Ft,Ot),ut(dt,gt,bt,Ft,Ot=String.fromCharCode(55349,57324+Bt)),ut(pt,gt,St,Ft,Ot),ut(dt,gt,bt,Ft,Ot=String.fromCharCode(55349,57334+Bt)),ut(pt,gt,St,Ft,Ot)}for(var Wt=0;Wt<3;Wt++){var zt="ÐÞþ".charAt(Wt);ut(dt,gt,bt,zt,zt),ut(pt,gt,St,zt,zt)}var Zt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Yt=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Ut=function(t,e,n){return ht[n][t]&&ht[n][t].replace&&(t=ht[n][t].replace),{value:t,metrics:$(t,e,n)}},Gt=function(t,e,n,r,i){var a,s=Ut(t,e,n),o=s.metrics;if(t=s.value,o){var l=o.italic;("text"===n||r&&"mathit"===r.font)&&(l=0),a=new rt(t,o.height,o.depth,l,o.skew,o.width,i)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+t+"' in style '"+e+"' and mode '"+n+"'"),a=new rt(t,0,0,0,0,0,i);if(r){a.maxFontSize=r.sizeMultiplier,r.style.isTight()&&a.classes.push("mtight");var c=r.getColor();c&&(a.style.color=c)}return a},Vt=(t,e)=>{if(j(t.classes)!==j(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(1===t.classes.length){var n=t.classes[0];if("mbin"===n||"mord"===n)return!1}for(var r in t.style)if(t.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},qt=function(t){for(var e=0,n=0,r=0,i=0;i<t.children.length;i++){var a=t.children[i];a.height>e&&(e=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}t.height=e,t.depth=n,t.maxFontSize=r},jt=function(t,e,n,r){var i=new J(t,e,n,r);return qt(i),i},Ht=(t,e,n,r)=>new J(t,e,n,r),Xt=function(t){var e=new R(t);return qt(e),e},Kt=function(t,e,n){var r="";switch(t){case"amsrm":r="AMS";break;case"textrm":r="Main";break;case"textsf":r="SansSerif";break;case"texttt":r="Typewriter";break;default:r=t}return r+"-"+("textbf"===e&&"textit"===n?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")},Qt={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Jt={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},te={fontMap:Qt,makeSymbol:Gt,mathsym:function(t,e,n,r){return void 0===r&&(r=[]),"boldsymbol"===n.font&&Ut(t,"Main-Bold",e).metrics?Gt(t,"Main-Bold",e,n,r.concat(["mathbf"])):"\\"===t||"main"===ht[e][t].font?Gt(t,"Main-Regular",e,n,r):Gt(t,"AMS-Regular",e,n,r.concat(["amsrm"]))},makeSpan:jt,makeSvgSpan:Ht,makeLineSpan:function(t,e,n){var r=jt([t],[],e);return r.height=Math.max(n||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),r.style.borderBottomWidth=q(r.height),r.maxFontSize=1,r},makeAnchor:function(t,e,n,r){var i=new tt(t,e,n,r);return qt(i),i},makeFragment:Xt,wrapFragment:function(t,e){return t instanceof R?jt([],[t],e):t},makeVList:function(t,e){for(var{children:n,depth:r}=function(t){if("individualShift"===t.positionType){for(var e=t.children,n=[e[0]],r=-e[0].shift-e[0].elem.depth,i=r,a=1;a<e.length;a++){var s=-e[a].shift-i-e[a].elem.depth,o=s-(e[a-1].elem.height+e[a-1].elem.depth);i+=s,n.push({type:"kern",size:o}),n.push(e[a])}return{children:n,depth:r}}var l;if("top"===t.positionType){for(var c=t.positionData,h=0;h<t.children.length;h++){var u=t.children[h];c-="kern"===u.type?u.size:u.elem.height+u.elem.depth}l=c}else if("bottom"===t.positionType)l=-t.positionData;else{var d=t.children[0];if("elem"!==d.type)throw new Error('First child must have type "elem".');if("shift"===t.positionType)l=-d.elem.depth-t.positionData;else{if("firstBaseline"!==t.positionType)throw new Error("Invalid positionType "+t.positionType+".");l=-d.elem.depth}}return{children:t.children,depth:l}}(t),i=0,a=0;a<n.length;a++){var s=n[a];if("elem"===s.type){var o=s.elem;i=Math.max(i,o.maxFontSize,o.height)}}i+=2;var l=jt(["pstrut"],[]);l.style.height=q(i);for(var c=[],h=r,u=r,d=r,p=0;p<n.length;p++){var g=n[p];if("kern"===g.type)d+=g.size;else{var f=g.elem,m=g.wrapperClasses||[],y=g.wrapperStyle||{},v=jt(m,[l,f],void 0,y);v.style.top=q(-i-d-f.depth),g.marginLeft&&(v.style.marginLeft=g.marginLeft),g.marginRight&&(v.style.marginRight=g.marginRight),c.push(v),d+=f.height+f.depth}h=Math.min(h,d),u=Math.max(u,d)}var x,b=jt(["vlist"],c);if(b.style.height=q(u),h<0){var w=jt([],[]),k=jt(["vlist"],[w]);k.style.height=q(-h);var T=jt(["vlist-s"],[new rt("")]);x=[jt(["vlist-r"],[b,T]),jt(["vlist-r"],[k])]}else x=[jt(["vlist-r"],[b])];var _=jt(["vlist-t"],x);return 2===x.length&&_.classes.push("vlist-t2"),_.height=u,_.depth=-h,_},makeOrd:function(t,e,n){var r=t.mode,i=t.text,s=["mord"],o="math"===r||"text"===r&&e.font,l=o?e.font:e.fontFamily,c="",h="";if(55349===i.charCodeAt(0)&&([c,h]=function(t,e){var n=1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536,r="math"===e?0:1;if(119808<=n&&n<120484){var i=Math.floor((n-119808)/26);return[Zt[i][2],Zt[i][r]]}if(120782<=n&&n<=120831){var s=Math.floor((n-120782)/10);return[Yt[s][2],Yt[s][r]]}if(120485===n||120486===n)return[Zt[0][2],Zt[0][r]];if(120486<n&&n<120782)return["",""];throw new a("Unsupported character: "+t)}(i,r)),c.length>0)return Gt(i,c,r,e,s.concat(h));if(l){var u,d;if("boldsymbol"===l){var p=function(t,e,n,r,i){return"textord"!==i&&Ut(t,"Math-BoldItalic",e).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(i,r,0,0,n);u=p.fontName,d=[p.fontClass]}else o?(u=Qt[l].fontName,d=[l]):(u=Kt(l,e.fontWeight,e.fontShape),d=[l,e.fontWeight,e.fontShape]);if(Ut(i,u,r).metrics)return Gt(i,u,r,e,s.concat(d));if(Ct.hasOwnProperty(i)&&"Typewriter"===u.slice(0,10)){for(var g=[],f=0;f<i.length;f++)g.push(Gt(i[f],u,r,e,s.concat(d)));return Xt(g)}}if("mathord"===n)return Gt(i,"Math-Italic",r,e,s.concat(["mathnormal"]));if("textord"===n){var m=ht[r][i]&&ht[r][i].font;if("ams"===m){var y=Kt("amsrm",e.fontWeight,e.fontShape);return Gt(i,y,r,e,s.concat("amsrm",e.fontWeight,e.fontShape))}if("main"!==m&&m){var v=Kt(m,e.fontWeight,e.fontShape);return Gt(i,v,r,e,s.concat(v,e.fontWeight,e.fontShape))}var x=Kt("textrm",e.fontWeight,e.fontShape);return Gt(i,x,r,e,s.concat(e.fontWeight,e.fontShape))}throw new Error("unexpected type: "+n+" in makeOrd")},makeGlue:(t,e)=>{var n=jt(["mspace"],[],e),r=V(t,e);return n.style.marginRight=q(r),n},staticSvg:function(t,e){var[n,r,i]=Jt[t],a=new at(n),s=new it([a],{width:q(r),height:q(i),style:"width:"+q(r),viewBox:"0 0 "+1e3*r+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),o=Ht(["overlay"],[s],e);return o.height=i,o.style.height=q(i),o.style.width=q(r),o},svgData:Jt,tryCombineChars:t=>{for(var e=0;e<t.length-1;e++){var n=t[e],r=t[e+1];n instanceof rt&&r instanceof rt&&Vt(n,r)&&(n.text+=r.text,n.height=Math.max(n.height,r.height),n.depth=Math.max(n.depth,r.depth),n.italic=r.italic,t.splice(e+1,1),e--)}return t}},ee={number:3,unit:"mu"},ne={number:4,unit:"mu"},re={number:5,unit:"mu"},ie={mord:{mop:ee,mbin:ne,mrel:re,minner:ee},mop:{mord:ee,mop:ee,mrel:re,minner:ee},mbin:{mord:ne,mop:ne,mopen:ne,minner:ne},mrel:{mord:re,mop:re,mopen:re,minner:re},mopen:{},mclose:{mop:ee,mbin:ne,mrel:re,minner:ee},mpunct:{mord:ee,mop:ee,mrel:re,mopen:ee,mclose:ee,mpunct:ee,minner:ee},minner:{mord:ee,mop:ee,mbin:ne,mrel:re,mopen:ee,mpunct:ee,minner:ee}},ae={mord:{mop:ee},mop:{mord:ee,mop:ee},mbin:{},mrel:{},mopen:{},mclose:{mop:ee},mpunct:{},minner:{mop:ee}},se={},oe={},le={};function ce(t){for(var{type:e,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:void 0===r.allowedInMath||r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:i},l=0;l<n.length;++l)se[n[l]]=o;e&&(a&&(oe[e]=a),s&&(le[e]=s))}function he(t){var{type:e,htmlBuilder:n,mathmlBuilder:r}=t;ce({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:n,mathmlBuilder:r})}var ue=function(t){return"ordgroup"===t.type&&1===t.body.length?t.body[0]:t},de=function(t){return"ordgroup"===t.type?t.body:[t]},pe=te.makeSpan,ge=["leftmost","mbin","mopen","mrel","mop","mpunct"],fe=["rightmost","mrel","mclose","mpunct"],me={display:A.DISPLAY,text:A.TEXT,script:A.SCRIPT,scriptscript:A.SCRIPTSCRIPT},ye={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},ve=function(t,e,n,r){void 0===r&&(r=[null,null]);for(var i=[],a=0;a<t.length;a++){var s=_e(t[a],e);if(s instanceof R){var o=s.children;i.push(...o)}else i.push(s)}if(te.tryCombineChars(i),!n)return i;var l=e;if(1===t.length){var c=t[0];"sizing"===c.type?l=e.havingSize(c.size):"styling"===c.type&&(l=e.havingStyle(me[c.style]))}var u=pe([r[0]||"leftmost"],[],e),d=pe([r[1]||"rightmost"],[],e),p="root"===n;return xe(i,((t,e)=>{var n=e.classes[0],r=t.classes[0];"mbin"===n&&h(fe,r)?e.classes[0]="mord":"mbin"===r&&h(ge,n)&&(t.classes[0]="mord")}),{node:u},d,p),xe(i,((t,e)=>{var n=ke(e),r=ke(t),i=n&&r?t.hasClass("mtight")?ae[n][r]:ie[n][r]:null;if(i)return te.makeGlue(i,l)}),{node:u},d,p),i},xe=function t(e,n,r,i,a){i&&e.push(i);for(var s=0;s<e.length;s++){var o=e[s],l=be(o);if(l)t(l.children,n,r,null,a);else{var c=!o.hasClass("mspace");if(c){var h=n(o,r.node);h&&(r.insertAfter?r.insertAfter(h):(e.unshift(h),s++))}c?r.node=o:a&&o.hasClass("newline")&&(r.node=pe(["leftmost"])),r.insertAfter=(t=>n=>{e.splice(t+1,0,n),s++})(s)}}i&&e.pop()},be=function(t){return t instanceof R||t instanceof tt||t instanceof J&&t.hasClass("enclosing")?t:null},we=function t(e,n){var r=be(e);if(r){var i=r.children;if(i.length){if("right"===n)return t(i[i.length-1],"right");if("left"===n)return t(i[0],"left")}}return e},ke=function(t,e){return t?(e&&(t=we(t,e)),ye[t.classes[0]]||null):null},Te=function(t,e){var n=["nulldelimiter"].concat(t.baseSizingClasses());return pe(e.concat(n))},_e=function(t,e,n){if(!t)return pe();if(oe[t.type]){var r=oe[t.type](t,e);if(n&&e.size!==n.size){r=pe(e.sizingClasses(n),[r],e);var i=e.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}throw new a("Got group of unknown type: '"+t.type+"'")};function Ee(t,e){var n=pe(["base"],t,e),r=pe(["strut"]);return r.style.height=q(n.height+n.depth),n.depth&&(r.style.verticalAlign=q(-n.depth)),n.children.unshift(r),n}function Se(t,e){var n=null;1===t.length&&"tag"===t[0].type&&(n=t[0].tag,t=t[0].body);var r,i=ve(t,e,"root");2===i.length&&i[1].hasClass("tag")&&(r=i.pop());for(var a,s=[],o=[],l=0;l<i.length;l++)if(o.push(i[l]),i[l].hasClass("mbin")||i[l].hasClass("mrel")||i[l].hasClass("allowbreak")){for(var c=!1;l<i.length-1&&i[l+1].hasClass("mspace")&&!i[l+1].hasClass("newline");)l++,o.push(i[l]),i[l].hasClass("nobreak")&&(c=!0);c||(s.push(Ee(o,e)),o=[])}else i[l].hasClass("newline")&&(o.pop(),o.length>0&&(s.push(Ee(o,e)),o=[]),s.push(i[l]));o.length>0&&s.push(Ee(o,e)),n?((a=Ee(ve(n,e,!0))).classes=["tag"],s.push(a)):r&&s.push(r);var h=pe(["katex-html"],s);if(h.setAttribute("aria-hidden","true"),a){var u=a.children[0];u.style.height=q(h.height+h.depth),h.depth&&(u.style.verticalAlign=q(-h.depth))}return h}function Ce(t){return new R(t)}class Ae{constructor(t,e,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=e||[],this.classes=n||[]}setAttribute(t,e){this.attributes[t]=e}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);this.classes.length>0&&(t.className=j(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof Le&&this.children[n+1]instanceof Le){for(var r=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof Le;)r+=this.children[++n].toText();t.appendChild(new Le(r).toNode())}else t.appendChild(this.children[n].toNode());return t}toMarkup(){var t="<"+this.type;for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="',t+=d(this.attributes[e]),t+='"');this.classes.length>0&&(t+=' class ="'+d(j(this.classes))+'"'),t+=">";for(var n=0;n<this.children.length;n++)t+=this.children[n].toMarkup();return t+"</"+this.type+">"}toText(){return this.children.map((t=>t.toText())).join("")}}class Le{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return d(this.toText())}toText(){return this.text}}var Me={MathNode:Ae,TextNode:Le,SpaceNode:class{constructor(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?"":t>=.1666&&t<=.1667?"":t>=.2222&&t<=.2223?"":t>=.2777&&t<=.2778?"":t>=-.05556&&t<=-.05555?"":t>=-.1667&&t<=-.1666?"":t>=-.2223&&t<=-.2222?"":t>=-.2778&&t<=-.2777?"":null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",q(this.width)),t}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+q(this.width)+'"/>'}toText(){return this.character?this.character:" "}},newDocumentFragment:Ce},Ne=function(t,e,n){return!ht[e][t]||!ht[e][t].replace||55349===t.charCodeAt(0)||Ct.hasOwnProperty(t)&&n&&(n.fontFamily&&"tt"===n.fontFamily.slice(4,6)||n.font&&"tt"===n.font.slice(4,6))||(t=ht[e][t].replace),new Me.TextNode(t)},Ie=function(t){return 1===t.length?t[0]:new Me.MathNode("mrow",t)},Re=function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var n=e.font;if(!n||"mathnormal"===n)return null;var r=t.mode;if("mathit"===n)return"italic";if("boldsymbol"===n)return"textord"===t.type?"bold":"bold-italic";if("mathbf"===n)return"bold";if("mathbb"===n)return"double-struck";if("mathsfit"===n)return"sans-serif-italic";if("mathfrak"===n)return"fraktur";if("mathscr"===n||"mathcal"===n)return"script";if("mathsf"===n)return"sans-serif";if("mathtt"===n)return"monospace";var i=t.text;return h(["\\imath","\\jmath"],i)?null:(ht[r][i]&&ht[r][i].replace&&(i=ht[r][i].replace),$(i,te.fontMap[n].fontName,r)?te.fontMap[n].variant:null)};function De(t){if(!t)return!1;if("mi"===t.type&&1===t.children.length){var e=t.children[0];return e instanceof Le&&"."===e.text}if("mo"===t.type&&1===t.children.length&&"true"===t.getAttribute("separator")&&"0em"===t.getAttribute("lspace")&&"0em"===t.getAttribute("rspace")){var n=t.children[0];return n instanceof Le&&","===n.text}return!1}var Oe=function(t,e,n){if(1===t.length){var r=$e(t[0],e);return n&&r instanceof Ae&&"mo"===r.type&&(r.setAttribute("lspace","0em"),r.setAttribute("rspace","0em")),[r]}for(var i,a=[],s=0;s<t.length;s++){var o=$e(t[s],e);if(o instanceof Ae&&i instanceof Ae){if("mtext"===o.type&&"mtext"===i.type&&o.getAttribute("mathvariant")===i.getAttribute("mathvariant")){i.children.push(...o.children);continue}if("mn"===o.type&&"mn"===i.type){i.children.push(...o.children);continue}if(De(o)&&"mn"===i.type){i.children.push(...o.children);continue}if("mn"===o.type&&De(i))o.children=[...i.children,...o.children],a.pop();else if(("msup"===o.type||"msub"===o.type)&&o.children.length>=1&&("mn"===i.type||De(i))){var l=o.children[0];l instanceof Ae&&"mn"===l.type&&(l.children=[...i.children,...l.children],a.pop())}else if("mi"===i.type&&1===i.children.length){var c=i.children[0];if(c instanceof Le&&"̸"===c.text&&("mo"===o.type||"mi"===o.type||"mn"===o.type)){var h=o.children[0];h instanceof Le&&h.text.length>0&&(h.text=h.text.slice(0,1)+"̸"+h.text.slice(1),a.pop())}}}a.push(o),i=o}return a},Pe=function(t,e,n){return Ie(Oe(t,e,n))},$e=function(t,e){if(!t)return new Me.MathNode("mrow");if(le[t.type])return le[t.type](t,e);throw new a("Got group of unknown type: '"+t.type+"'")};function Be(t,e,n,r,i){var a,s=Oe(t,n);a=1===s.length&&s[0]instanceof Ae&&h(["mrow","mtable"],s[0].type)?s[0]:new Me.MathNode("mrow",s);var o=new Me.MathNode("annotation",[new Me.TextNode(e)]);o.setAttribute("encoding","application/x-tex");var l=new Me.MathNode("semantics",[a,o]),c=new Me.MathNode("math",[l]);return c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),r&&c.setAttribute("display","block"),te.makeSpan([i?"katex":"katex-mathml"],[c])}var Fe=function(t){return new Z({style:t.displayMode?A.DISPLAY:A.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},We=function(t,e){if(e.displayMode){var n=["katex-display"];e.leqno&&n.push("leqno"),e.fleqn&&n.push("fleqn"),t=te.makeSpan(n,[t])}return t},ze={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Ze={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ye=function(t){var e=new Me.MathNode("mo",[new Me.TextNode(ze[t.replace(/^\\/,"")])]);return e.setAttribute("stretchy","true"),e},Ue=function(t,e){var{span:n,minWidth:r,height:i}=function(){var n=4e5,r=t.label.slice(1);if(h(["widehat","widecheck","widetilde","utilde"],r)){var i,a,s,o="ordgroup"===(g=t.base).type?g.body.length:1;if(o>5)"widehat"===r||"widecheck"===r?(i=420,n=2364,s=.42,a=r+"4"):(i=312,n=2340,s=.34,a="tilde4");else{var l=[1,1,2,2,3,3][o];"widehat"===r||"widecheck"===r?(n=[0,1062,2364,2364,2364][l],i=[0,239,300,360,420][l],s=[0,.24,.3,.3,.36,.42][l],a=r+l):(n=[0,600,1033,2339,2340][l],i=[0,260,286,306,312][l],s=[0,.26,.286,.3,.306,.34][l],a="tilde"+l)}var c=new at(a),u=new it([c],{width:"100%",height:q(s),viewBox:"0 0 "+n+" "+i,preserveAspectRatio:"none"});return{span:te.makeSvgSpan([],[u],e),minWidth:0,height:s}}var d,p,g,f=[],m=Ze[r],[y,v,x]=m,b=x/1e3,w=y.length;if(1===w)d=["hide-tail"],p=[m[3]];else if(2===w)d=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");d=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k<w;k++){var T=new at(y[k]),_=new it([T],{width:"400em",height:q(b),viewBox:"0 0 "+n+" "+x,preserveAspectRatio:p[k]+" slice"}),E=te.makeSvgSpan([d[k]],[_],e);if(1===w)return{span:E,minWidth:v,height:b};E.style.height=q(b),f.push(E)}return{span:te.makeSpan(["stretchy"],f,e),minWidth:v,height:b}}();return n.height=i,n.style.height=q(i),r>0&&(n.style.minWidth=q(r)),n};function Ge(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function Ve(t){var e=qe(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function qe(t){return t&&("atom"===t.type||ct.hasOwnProperty(t.type))?t:null}var je=(t,e)=>{var n,r,i;t&&"supsub"===t.type?(n=(r=Ge(t.base,"accent")).base,t.base=n,i=function(t){if(t instanceof J)return t;throw new Error("Expected span<HtmlDomNode> but got "+String(t)+".")}(_e(t,e)),t.base=r):n=(r=Ge(t,"accent")).base;var a=_e(n,e.havingCrampedStyle()),s=0;if(r.isShifty&&f(n)){var o=g(n);s=ot(_e(o,e.havingCrampedStyle())).skew}var l,c="\\c"===r.label,h=c?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight);if(r.isStretchy)l=Ue(r,e),l=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:s>0?{width:"calc(100% - "+q(2*s)+")",marginLeft:q(2*s)}:void 0}]},e);else{var u,d;"\\vec"===r.label?(u=te.staticSvg("vec",e),d=te.svgData.vec[1]):((u=ot(u=te.makeOrd({mode:r.mode,text:r.label},e,"textord"))).italic=0,d=u.width,c&&(h+=u.depth)),l=te.makeSpan(["accent-body"],[u]);var p="\\textcircled"===r.label;p&&(l.classes.push("accent-full"),h=a.height);var m=s;p||(m-=d/2),l.style.left=q(m),"\\textcircled"===r.label&&(l.style.top=".2em"),l=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-h},{type:"elem",elem:l}]},e)}var y=te.makeSpan(["mord","accent"],[l],e);return i?(i.children[0]=y,i.height=Math.max(y.height,i.height),i.classes[0]="mord",i):y},He=(t,e)=>{var n=t.isStretchy?Ye(t.label):new Me.MathNode("mo",[Ne(t.label,t.mode)]),r=new Me.MathNode("mover",[$e(t.base,e),n]);return r.setAttribute("accent","true"),r},Xe=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((t=>"\\"+t)).join("|"));ce({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var n=ue(e[0]),r=!Xe.test(t.funcName),i=!r||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:je,mathmlBuilder:He}),ce({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var n=e[0],r=t.parser.mode;return"math"===r&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),r="text"),{type:"accent",mode:r,label:t.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:je,mathmlBuilder:He}),ce({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=e[0];return{type:"accentUnder",mode:n.mode,label:r,base:i}},htmlBuilder:(t,e)=>{var n=_e(t.base,e),r=Ue(t,e),i="\\utilde"===t.label?.12:0,a=te.makeVList({positionType:"top",positionData:n.height,children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:n}]},e);return te.makeSpan(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var n=Ye(t.label),r=new Me.MathNode("munder",[$e(t.base,e),n]);return r.setAttribute("accentunder","true"),r}});var Ke=t=>{var e=new Me.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};ce({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,n){var{parser:r,funcName:i}=t;return{type:"xArrow",mode:r.mode,label:i,body:e[0],below:n[0]}},htmlBuilder(t,e){var n,r=e.style,i=e.havingStyle(r.sup()),a=te.wrapFragment(_e(t.body,i,e),e),s="\\x"===t.label.slice(0,2)?"x":"cd";a.classes.push(s+"-arrow-pad"),t.below&&(i=e.havingStyle(r.sub()),(n=te.wrapFragment(_e(t.below,i,e),e)).classes.push(s+"-arrow-pad"));var o,l=Ue(t,e),c=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;if((a.depth>.25||"\\xleftequilibrium"===t.label)&&(h-=a.depth),n){var u=-e.fontMetrics().axisHeight+n.height+.5*l.height+.111;o=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:h},{type:"elem",elem:l,shift:c},{type:"elem",elem:n,shift:u}]},e)}else o=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:h},{type:"elem",elem:l,shift:c}]},e);return o.children[0].children[0].children[1].classes.push("svg-align"),te.makeSpan(["mrel","x-arrow"],[o],e)},mathmlBuilder(t,e){var n,r=Ye(t.label);if(r.setAttribute("minsize","x"===t.label.charAt(0)?"1.75em":"3.0em"),t.body){var i=Ke($e(t.body,e));if(t.below){var a=Ke($e(t.below,e));n=new Me.MathNode("munderover",[r,a,i])}else n=new Me.MathNode("mover",[r,i])}else if(t.below){var s=Ke($e(t.below,e));n=new Me.MathNode("munder",[r,s])}else n=Ke(),n=new Me.MathNode("mover",[r,n]);return n}});var Qe=te.makeSpan;function Je(t,e){var n=ve(t.body,e,!0);return Qe([t.mclass],n,e)}function tn(t,e){var n,r=Oe(t.body,e);return"minner"===t.mclass?n=new Me.MathNode("mpadded",r):"mord"===t.mclass?t.isCharacterBox?(n=r[0]).type="mi":n=new Me.MathNode("mi",r):(t.isCharacterBox?(n=r[0]).type="mo":n=new Me.MathNode("mo",r),"mbin"===t.mclass?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):"mpunct"===t.mclass?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):"mopen"===t.mclass||"mclose"===t.mclass?(n.attributes.lspace="0em",n.attributes.rspace="0em"):"minner"===t.mclass&&(n.attributes.lspace="0.0556em",n.attributes.width="+0.1111em")),n}ce({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:n,funcName:r}=t,i=e[0];return{type:"mclass",mode:n.mode,mclass:"m"+r.slice(5),body:de(i),isCharacterBox:f(i)}},htmlBuilder:Je,mathmlBuilder:tn});var en=t=>{var e="ordgroup"===t.type&&t.body.length?t.body[0]:t;return"atom"!==e.type||"bin"!==e.family&&"rel"!==e.family?"mord":"m"+e.family};ce({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:n}=t;return{type:"mclass",mode:n.mode,mclass:en(e[0]),body:de(e[1]),isCharacterBox:f(e[1])}}}),ce({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var n,{parser:r,funcName:i}=t,a=e[1],s=e[0];n="\\stackrel"!==i?en(a):"mrel";var o={type:"op",mode:a.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==i,body:de(a)},l={type:"supsub",mode:s.mode,base:o,sup:"\\underset"===i?null:s,sub:"\\underset"===i?s:null};return{type:"mclass",mode:r.mode,mclass:n,body:[l],isCharacterBox:f(l)}},htmlBuilder:Je,mathmlBuilder:tn}),ce({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"pmb",mode:n.mode,mclass:en(e[0]),body:de(e[0])}},htmlBuilder(t,e){var n=ve(t.body,e,!0),r=te.makeSpan([t.mclass],n,e);return r.style.textShadow="0.02em 0.01em 0.04px",r},mathmlBuilder(t,e){var n=Oe(t.body,e),r=new Me.MathNode("mstyle",n);return r.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),r}});var nn={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},rn=t=>"textord"===t.type&&"@"===t.text;function an(t,e,n){var r=nn[t];switch(r){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(r,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":var i={type:"atom",text:r,mode:"math",family:"rel"},a={type:"ordgroup",mode:"math",body:[n.callFunction("\\\\cdleft",[e[0]],[]),n.callFunction("\\Big",[i],[]),n.callFunction("\\\\cdright",[e[1]],[])]};return n.callFunction("\\\\cdparent",[a],[]);case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return n.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}ce({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:r}=t;return{type:"cdlabel",mode:n.mode,side:r.slice(4),label:e[0]}},htmlBuilder(t,e){var n=e.havingStyle(e.style.sup()),r=te.wrapFragment(_e(t.label,n,e),e);return r.classes.push("cd-label-"+t.side),r.style.bottom=q(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(t,e){var n=new Me.MathNode("mrow",[$e(t.label,e)]);return(n=new Me.MathNode("mpadded",[n])).setAttribute("width","0"),"left"===t.side&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),(n=new Me.MathNode("mstyle",[n])).setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}}),ce({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:n}=t;return{type:"cdlabelparent",mode:n.mode,fragment:e[0]}},htmlBuilder(t,e){var n=te.wrapFragment(_e(t.fragment,e),e);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder:(t,e)=>new Me.MathNode("mrow",[$e(t.fragment,e)])}),ce({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:n}=t,r=Ge(e[0],"ordgroup").body,i="",s=0;s<r.length;s++)i+=Ge(r[s],"textord").text;var o,l=parseInt(i);if(isNaN(l))throw new a("\\@char has non-numeric argument "+i);if(l<0||l>=1114111)throw new a("\\@char with invalid code point "+i);return l<=65535?o=String.fromCharCode(l):(l-=65536,o=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:n.mode,text:o}}});var sn=(t,e)=>{var n=ve(t.body,e.withColor(t.color),!1);return te.makeFragment(n)},on=(t,e)=>{var n=Oe(t.body,e.withColor(t.color)),r=new Me.MathNode("mstyle",n);return r.setAttribute("mathcolor",t.color),r};ce({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:n}=t,r=Ge(e[0],"color-token").color,i=e[1];return{type:"color",mode:n.mode,color:r,body:de(i)}},htmlBuilder:sn,mathmlBuilder:on}),ce({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:n,breakOnTokenText:r}=t,i=Ge(e[0],"color-token").color;n.gullet.macros.set("\\current@color",i);var a=n.parseExpression(!0,r);return{type:"color",mode:n.mode,color:i,body:a}},htmlBuilder:sn,mathmlBuilder:on}),ce({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,n){var{parser:r}=t,i="["===r.gullet.future().text?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:r.mode,newLine:a,size:i&&Ge(i,"size").value}},htmlBuilder(t,e){var n=te.makeSpan(["mspace"],[],e);return t.newLine&&(n.classes.push("newline"),t.size&&(n.style.marginTop=q(V(t.size,e)))),n},mathmlBuilder(t,e){var n=new Me.MathNode("mspace");return t.newLine&&(n.setAttribute("linebreak","newline"),t.size&&n.setAttribute("height",q(V(t.size,e)))),n}});var ln={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},cn=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new a("Expected a control sequence",t);return e},hn=(t,e,n,r)=>{var i=t.gullet.macros.get(n.text);null==i&&(n.noexpand=!0,i={tokens:[n],numArgs:0,unexpandable:!t.gullet.isExpandable(n.text)}),t.gullet.macros.set(e,i,r)};ce({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:n}=t;e.consumeSpaces();var r=e.fetch();if(ln[r.text])return"\\global"!==n&&"\\\\globallong"!==n||(r.text=ln[r.text]),Ge(e.parseFunction(),"internal");throw new a("Invalid token after macro prefix",r)}}),ce({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,r=e.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new a("Expected a control sequence",r);for(var s,o=0,l=[[]];"{"!==e.gullet.future().text;)if("#"===(r=e.gullet.popToken()).text){if("{"===e.gullet.future().text){s=e.gullet.future(),l[o].push("{");break}if(r=e.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new a('Invalid argument number "'+r.text+'"');if(parseInt(r.text)!==o+1)throw new a('Argument number "'+r.text+'" out of order');o++,l.push([])}else{if("EOF"===r.text)throw new a("Expected a macro definition");l[o].push(r.text)}var{tokens:c}=e.gullet.consumeArg();return s&&c.unshift(s),"\\edef"!==n&&"\\xdef"!==n||(c=e.gullet.expandTokens(c)).reverse(),e.gullet.macros.set(i,{tokens:c,numArgs:o,delimiters:l},n===ln[n]),{type:"internal",mode:e.mode}}}),ce({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,r=cn(e.gullet.popToken());e.gullet.consumeSpaces();var i=(t=>{var e=t.gullet.popToken();return"="===e.text&&" "===(e=t.gullet.popToken()).text&&(e=t.gullet.popToken()),e})(e);return hn(e,r,i,"\\\\globallet"===n),{type:"internal",mode:e.mode}}}),ce({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,r=cn(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return hn(e,r,a,"\\\\globalfuture"===n),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var un=function(t,e,n){var r=$(ht.math[t]&&ht.math[t].replace||t,e,n);if(!r)throw new Error("Unsupported symbol "+t+" and font size "+e+".");return r},dn=function(t,e,n,r){var i=n.havingBaseStyle(e),a=te.makeSpan(r.concat(i.sizingClasses(n)),[t],n),s=i.sizeMultiplier/n.sizeMultiplier;return a.height*=s,a.depth*=s,a.maxFontSize=i.sizeMultiplier,a},pn=function(t,e,n){var r=e.havingBaseStyle(n),i=(1-e.sizeMultiplier/r.sizeMultiplier)*e.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=q(i),t.height-=i,t.depth+=i},gn=function(t,e,n,r,i,a){var s=function(t,e,n,r){return te.makeSymbol(t,"Size"+e+"-Regular",n,r)}(t,e,i,r),o=dn(te.makeSpan(["delimsizing","size"+e],[s],r),A.TEXT,r,a);return n&&pn(o,r,A.TEXT),o},fn=function(t,e,n){return{type:"elem",elem:te.makeSpan(["delimsizinginner","Size1-Regular"===e?"delim-size1":"delim-size4"],[te.makeSpan([],[te.makeSymbol(t,e,n)])])}},mn=function(t,e,n){var r=D["Size4-Regular"][t.charCodeAt(0)]?D["Size4-Regular"][t.charCodeAt(0)][4]:D["Size1-Regular"][t.charCodeAt(0)][4],i=new at("inner",function(t,e){switch(t){case"⎜":return"M291 0 H417 V"+e+" H291z M291 0 H417 V"+e+" H291z";case"":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145z";case"∥":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145zM367 0 H410 V"+e+" H367z M367 0 H410 V"+e+" H367z";case"⎟":return"M457 0 H583 V"+e+" H457z M457 0 H583 V"+e+" H457z";case"⎢":return"M319 0 H403 V"+e+" H319z M319 0 H403 V"+e+" H319z";case"⎥":return"M263 0 H347 V"+e+" H263z M263 0 H347 V"+e+" H263z";case"⎪":return"M384 0 H504 V"+e+" H384z M384 0 H504 V"+e+" H384z";case"⏐":return"M312 0 H355 V"+e+" H312z M312 0 H355 V"+e+" H312z";case"‖":return"M257 0 H300 V"+e+" H257z M257 0 H300 V"+e+" H257zM478 0 H521 V"+e+" H478z M478 0 H521 V"+e+" H478z";default:return""}}(t,Math.round(1e3*e))),a=new it([i],{width:q(r),height:q(e),style:"width:"+q(r),viewBox:"0 0 "+1e3*r+" "+Math.round(1e3*e),preserveAspectRatio:"xMinYMin"}),s=te.makeSvgSpan([],[a],n);return s.height=e,s.style.height=q(e),s.style.width=q(r),{type:"elem",elem:s}},yn={type:"kern",size:-.008},vn=["|","\\lvert","\\rvert","\\vert"],xn=["\\|","\\lVert","\\rVert","\\Vert"],bn=function(t,e,n,r,i,a){var s,o,l,c,u="",d=0;s=l=c=t,o=null;var p="Size1-Regular";"\\uparrow"===t?l=c="⏐":"\\Uparrow"===t?l=c="‖":"\\downarrow"===t?s=l="⏐":"\\Downarrow"===t?s=l="‖":"\\updownarrow"===t?(s="\\uparrow",l="⏐",c="\\downarrow"):"\\Updownarrow"===t?(s="\\Uparrow",l="‖",c="\\Downarrow"):h(vn,t)?(l="",u="vert",d=333):h(xn,t)?(l="∥",u="doublevert",d=556):"["===t||"\\lbrack"===t?(s="⎡",l="⎢",c="⎣",p="Size4-Regular",u="lbrack",d=667):"]"===t||"\\rbrack"===t?(s="⎤",l="⎥",c="⎦",p="Size4-Regular",u="rbrack",d=667):"\\lfloor"===t||"⌊"===t?(l=s="⎢",c="⎣",p="Size4-Regular",u="lfloor",d=667):"\\lceil"===t||"⌈"===t?(s="⎡",l=c="⎢",p="Size4-Regular",u="lceil",d=667):"\\rfloor"===t||"⌋"===t?(l=s="⎥",c="⎦",p="Size4-Regular",u="rfloor",d=667):"\\rceil"===t||"⌉"===t?(s="⎤",l=c="⎥",p="Size4-Regular",u="rceil",d=667):"("===t||"\\lparen"===t?(s="⎛",l="⎜",c="⎝",p="Size4-Regular",u="lparen",d=875):")"===t||"\\rparen"===t?(s="⎞",l="⎟",c="⎠",p="Size4-Regular",u="rparen",d=875):"\\{"===t||"\\lbrace"===t?(s="⎧",o="⎨",c="⎩",l="⎪",p="Size4-Regular"):"\\}"===t||"\\rbrace"===t?(s="⎫",o="⎬",c="⎭",l="⎪",p="Size4-Regular"):"\\lgroup"===t||"⟮"===t?(s="⎧",c="⎩",l="⎪",p="Size4-Regular"):"\\rgroup"===t||"⟯"===t?(s="⎫",c="⎭",l="⎪",p="Size4-Regular"):"\\lmoustache"===t||"⎰"===t?(s="⎧",c="⎭",l="⎪",p="Size4-Regular"):"\\rmoustache"!==t&&"⎱"!==t||(s="⎫",c="⎩",l="⎪",p="Size4-Regular");var g=un(s,p,i),f=g.height+g.depth,m=un(l,p,i),y=m.height+m.depth,v=un(c,p,i),x=v.height+v.depth,b=0,w=1;if(null!==o){var k=un(o,p,i);b=k.height+k.depth,w=2}var T=f+x+b,_=T+Math.max(0,Math.ceil((e-T)/(w*y)))*w*y,E=r.fontMetrics().axisHeight;n&&(E*=r.sizeMultiplier);var S=_/2-E,C=[];if(u.length>0){var L=_-f-x,M=Math.round(1e3*_),N=function(t,e){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+e+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+e+" v1759 h84z";case"vert":return"M145 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+e+" v585 h43z";case"doublevert":return"M145 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+e+" v585 h43z\nM367 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+e+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+e+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+e+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+e+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+e+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+" v602 h84z\nM403 1759 V0 H319 V1759 v"+e+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+e+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(e+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(e+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(e+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(e+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(u,Math.round(1e3*L)),I=new at(u,N),R=(d/1e3).toFixed(3)+"em",D=(M/1e3).toFixed(3)+"em",O=new it([I],{width:R,height:D,viewBox:"0 0 "+d+" "+M}),P=te.makeSvgSpan([],[O],r);P.height=M/1e3,P.style.width=R,P.style.height=D,C.push({type:"elem",elem:P})}else{if(C.push(fn(c,p,i)),C.push(yn),null===o){var $=_-f-x+.016;C.push(mn(l,$,r))}else{var B=(_-f-x-b)/2+.016;C.push(mn(l,B,r)),C.push(yn),C.push(fn(o,p,i)),C.push(yn),C.push(mn(l,B,r))}C.push(yn),C.push(fn(s,p,i))}var F=r.havingBaseStyle(A.TEXT),W=te.makeVList({positionType:"bottom",positionData:S,children:C},F);return dn(te.makeSpan(["delimsizing","mult"],[W],F),A.TEXT,r,a)},wn=.08,kn=function(t,e,n,r,i){var a=function(t,e,n){e*=1e3;var r="";switch(t){case"sqrtMain":r=function(t,e){return"M95,"+(622+t+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" 80h400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize1":r=function(t,e){return"M263,"+(601+t+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" 80h400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize2":r=function(t,e){return"M983 "+(10+t+80)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" 80h400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize3":r=function(t,e){return"M424,"+(2398+t+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" 80\nh400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize4":r=function(t,e){return"M473,"+(2713+t+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" 80h400000v"+(40+t)+"H1017.7z"}(e);break;case"sqrtTall":r=function(t,e,n){return"M702 "+(t+80)+"H400000"+(40+t)+"\nH742v"+(n-54-80-t)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+t)+"H742z"}(e,0,n)}return r}(t,r,n),s=new at(t,a),o=new it([s],{width:"400em",height:q(e),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return te.makeSvgSpan(["hide-tail"],[o],i)},Tn=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],_n=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],En=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Sn=[0,1.2,1.8,2.4,3],Cn=[{type:"small",style:A.SCRIPTSCRIPT},{type:"small",style:A.SCRIPT},{type:"small",style:A.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],An=[{type:"small",style:A.SCRIPTSCRIPT},{type:"small",style:A.SCRIPT},{type:"small",style:A.TEXT},{type:"stack"}],Ln=[{type:"small",style:A.SCRIPTSCRIPT},{type:"small",style:A.SCRIPT},{type:"small",style:A.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Mn=function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},Nn=function(t,e,n,r){for(var i=Math.min(2,3-r.style.size);i<n.length&&"stack"!==n[i].type;i++){var a=un(t,Mn(n[i]),"math"),s=a.height+a.depth;if("small"===n[i].type&&(s*=r.havingBaseStyle(n[i].style).sizeMultiplier),s>e)return n[i]}return n[n.length-1]},In=function(t,e,n,r,i,a){var s;"<"===t||"\\lt"===t||"⟨"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"⟩"!==t||(t="\\rangle"),s=h(En,t)?Cn:h(Tn,t)?Ln:An;var o=Nn(t,e,s,r);return"small"===o.type?function(t,e,n,r,i,a){var s=te.makeSymbol(t,"Main-Regular",i,r),o=dn(s,e,r,a);return n&&pn(o,r,e),o}(t,o.style,n,r,i,a):"large"===o.type?gn(t,o.size,n,r,i,a):bn(t,e,n,r,i,a)},Rn={sqrtImage:function(t,e){var n,r,i=e.havingBaseSizing(),a=Nn("\\surd",t*i.sizeMultiplier,Ln,i),s=i.sizeMultiplier,o=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),l=0,c=0,h=0;return"small"===a.type?(t<1?s=1:t<1.4&&(s=.7),c=(1+o)/s,(n=kn("sqrtMain",l=(1+o+wn)/s,h=1e3+1e3*o+80,o,e)).style.minWidth="0.853em",r=.833/s):"large"===a.type?(h=1080*Sn[a.size],c=(Sn[a.size]+o)/s,l=(Sn[a.size]+o+wn)/s,(n=kn("sqrtSize"+a.size,l,h,o,e)).style.minWidth="1.02em",r=1/s):(l=t+o+wn,c=t+o,h=Math.floor(1e3*t+o)+80,(n=kn("sqrtTall",l,h,o,e)).style.minWidth="0.742em",r=1.056),n.height=c,n.style.height=q(l),{span:n,advanceWidth:r,ruleWidth:(e.fontMetrics().sqrtRuleThickness+o)*s}},sizedDelim:function(t,e,n,r,i){if("<"===t||"\\lt"===t||"⟨"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"⟩"!==t||(t="\\rangle"),h(Tn,t)||h(En,t))return gn(t,e,!1,n,r,i);if(h(_n,t))return bn(t,Sn[e],!1,n,r,i);throw new a("Illegal delimiter: '"+t+"'")},sizeToMaxHeight:Sn,customSizedDelim:In,leftRightDelim:function(t,e,n,r,i,a){var s=r.fontMetrics().axisHeight*r.sizeMultiplier,o=5/r.fontMetrics().ptPerEm,l=Math.max(e-s,n+s),c=Math.max(l/500*901,2*l-o);return In(t,c,!0,r,i,a)}},Dn={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},On=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Pn(t,e){var n=qe(t);if(n&&h(On,n.text))return n;throw new a(n?"Invalid delimiter '"+n.text+"' after '"+e.funcName+"'":"Invalid delimiter type '"+t.type+"'",t)}function $n(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}ce({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var n=Pn(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:Dn[t.funcName].size,mclass:Dn[t.funcName].mclass,delim:n.text}},htmlBuilder:(t,e)=>"."===t.delim?te.makeSpan([t.mclass]):Rn.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];"."!==t.delim&&e.push(Ne(t.delim,t.mode));var n=new Me.MathNode("mo",e);"mopen"===t.mclass||"mclose"===t.mclass?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var r=q(Rn.sizeToMaxHeight[t.size]);return n.setAttribute("minsize",r),n.setAttribute("maxsize",r),n}}),ce({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=t.parser.gullet.macros.get("\\current@color");if(n&&"string"!=typeof n)throw new a("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:Pn(e[0],t).text,color:n}}}),ce({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=Pn(e[0],t),r=t.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect("\\right",!1);var a=Ge(r.parseFunction(),"leftright-right");return{type:"leftright",mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{$n(t);for(var n,r,i=ve(t.body,e,!0,["mopen","mclose"]),a=0,s=0,o=!1,l=0;l<i.length;l++)i[l].isMiddle?o=!0:(a=Math.max(i[l].height,a),s=Math.max(i[l].depth,s));if(a*=e.sizeMultiplier,s*=e.sizeMultiplier,n="."===t.left?Te(e,["mopen"]):Rn.leftRightDelim(t.left,a,s,e,t.mode,["mopen"]),i.unshift(n),o)for(var c=1;c<i.length;c++){var h=i[c].isMiddle;h&&(i[c]=Rn.leftRightDelim(h.delim,a,s,h.options,t.mode,[]))}if("."===t.right)r=Te(e,["mclose"]);else{var u=t.rightColor?e.withColor(t.rightColor):e;r=Rn.leftRightDelim(t.right,a,s,u,t.mode,["mclose"])}return i.push(r),te.makeSpan(["minner"],i,e)},mathmlBuilder:(t,e)=>{$n(t);var n=Oe(t.body,e);if("."!==t.left){var r=new Me.MathNode("mo",[Ne(t.left,t.mode)]);r.setAttribute("fence","true"),n.unshift(r)}if("."!==t.right){var i=new Me.MathNode("mo",[Ne(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),n.push(i)}return Ie(n)}}),ce({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=Pn(e[0],t);if(!t.parser.leftrightDepth)throw new a("\\middle without preceding \\left",n);return{type:"middle",mode:t.parser.mode,delim:n.text}},htmlBuilder:(t,e)=>{var n;if("."===t.delim)n=Te(e,[]);else{n=Rn.sizedDelim(t.delim,1,e,t.mode,[]);var r={delim:t.delim,options:e};n.isMiddle=r}return n},mathmlBuilder:(t,e)=>{var n="\\vert"===t.delim||"|"===t.delim?Ne("|","text"):Ne(t.delim,t.mode),r=new Me.MathNode("mo",[n]);return r.setAttribute("fence","true"),r.setAttribute("lspace","0.05em"),r.setAttribute("rspace","0.05em"),r}});var Bn=(t,e)=>{var n,r,i,a=te.wrapFragment(_e(t.body,e),e),s=t.label.slice(1),o=e.sizeMultiplier,l=0,c=f(t.body);if("sout"===s)(n=te.makeSpan(["stretchy","sout"])).height=e.fontMetrics().defaultRuleThickness/o,l=-.5*e.fontMetrics().xHeight;else if("phase"===s){var h=V({number:.6,unit:"pt"},e),u=V({number:.35,unit:"ex"},e);o/=e.havingBaseSizing().sizeMultiplier;var d=a.height+a.depth+h+u;a.style.paddingLeft=q(d/2+h);var p=Math.floor(1e3*d*o),g="M400000 "+(r=p)+" H0 L"+r/2+" 0 l65 45 L145 "+(r-80)+" H400000z",m=new it([new at("phase",g)],{width:"400em",height:q(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});(n=te.makeSvgSpan(["hide-tail"],[m],e)).style.height=q(d),l=a.depth+h+u}else{/cancel/.test(s)?c||a.classes.push("cancel-pad"):"angl"===s?a.classes.push("anglpad"):a.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(s)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),v=y=e.fontMetrics().fboxsep+("colorbox"===s?0:x)):"angl"===s?(y=4*(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness)),v=Math.max(0,.25-a.depth)):v=y=c?.2:0,n=function(t,e,n,r,i){var a,s=t.height+t.depth+n+r;if(/fbox|color|angl/.test(e)){if(a=te.makeSpan(["stretchy",e],[],i),"fbox"===e){var o=i.color&&i.getColor();o&&(a.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(e)&&l.push(new st({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&l.push(new st({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var c=new it(l,{width:"100%",height:q(s)});a=te.makeSvgSpan([],[c],i)}return a.height=s,a.style.height=q(s),a}(a,s,y,v,e),/fbox|boxed|fcolorbox/.test(s)?(n.style.borderStyle="solid",n.style.borderWidth=q(x)):"angl"===s&&.049!==x&&(n.style.borderTopWidth=q(x),n.style.borderRightWidth=q(x)),l=a.depth+v,t.backgroundColor&&(n.style.backgroundColor=t.backgroundColor,t.borderColor&&(n.style.borderColor=t.borderColor))}if(t.backgroundColor)i=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:l},{type:"elem",elem:a,shift:0}]},e);else{var b=/cancel|phase/.test(s)?["svg-align"]:[];i=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:n,shift:l,wrapperClasses:b}]},e)}return/cancel/.test(s)&&(i.height=a.height,i.depth=a.depth),/cancel/.test(s)&&!c?te.makeSpan(["mord","cancel-lap"],[i],e):te.makeSpan(["mord"],[i],e)},Fn=(t,e)=>{var n=0,r=new Me.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[$e(t.body,e)]);switch(t.label){case"\\cancel":r.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":r.setAttribute("notation","downdiagonalstrike");break;case"\\phase":r.setAttribute("notation","phasorangle");break;case"\\sout":r.setAttribute("notation","horizontalstrike");break;case"\\fbox":r.setAttribute("notation","box");break;case"\\angl":r.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,r.setAttribute("width","+"+2*n+"pt"),r.setAttribute("height","+"+2*n+"pt"),r.setAttribute("lspace",n+"pt"),r.setAttribute("voffset",n+"pt"),"\\fcolorbox"===t.label){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);r.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":r.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&r.setAttribute("mathbackground",t.backgroundColor),r};ce({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,n){var{parser:r,funcName:i}=t,a=Ge(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:r.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:Bn,mathmlBuilder:Fn}),ce({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,n){var{parser:r,funcName:i}=t,a=Ge(e[0],"color-token").color,s=Ge(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:r.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:Bn,mathmlBuilder:Fn}),ce({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"enclose",mode:n.mode,label:"\\fbox",body:e[0]}}}),ce({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:r}=t,i=e[0];return{type:"enclose",mode:n.mode,label:r,body:i}},htmlBuilder:Bn,mathmlBuilder:Fn}),ce({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:n}=t;return{type:"enclose",mode:n.mode,label:"\\angl",body:e[0]}}});var Wn={};function zn(t){for(var{type:e,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l<n.length;++l)Wn[n[l]]=o;a&&(oe[e]=a),s&&(le[e]=s)}var Zn={};function Yn(t,e){Zn[t]=e}function Un(t){var e=[];t.consumeSpaces();var n=t.fetch().text;for("\\relax"===n&&(t.consume(),t.consumeSpaces(),n=t.fetch().text);"\\hline"===n||"\\hdashline"===n;)t.consume(),e.push("\\hdashline"===n),t.consumeSpaces(),n=t.fetch().text;return e}var Gn=t=>{if(!t.parser.settings.displayMode)throw new a("{"+t.envName+"} can be used only in display mode.")};function Vn(t){if(-1===t.indexOf("ed"))return-1===t.indexOf("*")}function qn(t,e,n){var{hskipBeforeAndAfter:r,addJot:s,cols:o,arraystretch:l,colSeparationType:c,autoTag:h,singleRow:u,emptySingleRow:d,maxNumCols:p,leqno:g}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!l){var f=t.gullet.expandMacroAsText("\\arraystretch");if(null==f)l=1;else if(!(l=parseFloat(f))||l<0)throw new a("Invalid \\arraystretch: "+f)}t.gullet.beginGroup();var m=[],y=[m],v=[],x=[],b=null!=h?[]:void 0;function w(){h&&t.gullet.macros.set("\\@eqnsw","1",!0)}function k(){b&&(t.gullet.macros.get("\\df@tag")?(b.push(t.subparse([new i("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):b.push(Boolean(h)&&"1"===t.gullet.macros.get("\\@eqnsw")))}for(w(),x.push(Un(t));;){var T=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup(),T={type:"ordgroup",mode:t.mode,body:T},n&&(T={type:"styling",mode:t.mode,style:n,body:[T]}),m.push(T);var _=t.fetch().text;if("&"===_){if(p&&m.length===p){if(u||c)throw new a("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else{if("\\end"===_){k(),1===m.length&&"styling"===T.type&&0===T.body[0].body.length&&(y.length>1||!d)&&y.pop(),x.length<y.length+1&&x.push([]);break}if("\\\\"!==_)throw new a("Expected & or \\\\ or \\cr or \\end",t.nextToken);t.consume();var E=void 0;" "!==t.gullet.future().text&&(E=t.parseSizeGroup(!0)),v.push(E?E.value:null),k(),x.push(Un(t)),m=[],y.push(m),w()}}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:t.mode,addJot:s,arraystretch:l,body:y,cols:o,rowGaps:v,hskipBeforeAndAfter:r,hLinesBeforeRow:x,colSeparationType:c,tags:b,leqno:g}}function jn(t){return"d"===t.slice(0,1)?"display":"text"}var Hn=function(t,e){var n,r,i=t.body.length,s=t.hLinesBeforeRow,o=0,l=new Array(i),c=[],h=Math.max(e.fontMetrics().arrayRuleWidth,e.minRuleThickness),d=1/e.fontMetrics().ptPerEm,p=5*d;t.colSeparationType&&"small"===t.colSeparationType&&(p=e.havingStyle(A.SCRIPT).sizeMultiplier/e.sizeMultiplier*.2778);var g="CD"===t.colSeparationType?V({number:3,unit:"ex"},e):12*d,f=3*d,m=t.arraystretch*g,y=.7*m,v=.3*m,x=0;function b(t){for(var e=0;e<t.length;++e)e>0&&(x+=.25),c.push({pos:x,isDashed:t[e]})}for(b(s[0]),n=0;n<t.body.length;++n){var w=t.body[n],k=y,T=v;o<w.length&&(o=w.length);var _=new Array(w.length);for(r=0;r<w.length;++r){var E=_e(w[r],e);T<E.depth&&(T=E.depth),k<E.height&&(k=E.height),_[r]=E}var S=t.rowGaps[n],C=0;S&&(C=V(S,e))>0&&(T<(C+=v)&&(T=C),C=0),t.addJot&&(T+=f),_.height=k,_.depth=T,x+=k,_.pos=x,x+=T+C,l[n]=_,b(s[n+1])}var L,M,N=x/2+e.fontMetrics().axisHeight,I=t.cols||[],R=[],D=[];if(t.tags&&t.tags.some((t=>t)))for(n=0;n<i;++n){var O=l[n],P=O.pos-N,$=t.tags[n],B=void 0;(B=!0===$?te.makeSpan(["eqn-num"],[],e):te.makeSpan([],!1===$?[]:ve($,e,!0),e)).depth=O.depth,B.height=O.height,D.push({type:"elem",elem:B,shift:P})}for(r=0,M=0;r<o||M<I.length;++r,++M){for(var F=I[M]||{},W=!0;"separator"===F.type;){if(W||((L=te.makeSpan(["arraycolsep"],[])).style.width=q(e.fontMetrics().doubleRuleSep),R.push(L)),"|"!==F.separator&&":"!==F.separator)throw new a("Invalid separator type: "+F.separator);var z="|"===F.separator?"solid":"dashed",Z=te.makeSpan(["vertical-separator"],[],e);Z.style.height=q(x),Z.style.borderRightWidth=q(h),Z.style.borderRightStyle=z,Z.style.margin="0 "+q(-h/2);var Y=x-N;Y&&(Z.style.verticalAlign=q(-Y)),R.push(Z),F=I[++M]||{},W=!1}if(!(r>=o)){var U=void 0;(r>0||t.hskipBeforeAndAfter)&&0!==(U=u(F.pregap,p))&&((L=te.makeSpan(["arraycolsep"],[])).style.width=q(U),R.push(L));var G=[];for(n=0;n<i;++n){var j=l[n],H=j[r];if(H){var X=j.pos-N;H.depth=j.depth,H.height=j.height,G.push({type:"elem",elem:H,shift:X})}}G=te.makeVList({positionType:"individualShift",children:G},e),G=te.makeSpan(["col-align-"+(F.align||"c")],[G]),R.push(G),(r<o-1||t.hskipBeforeAndAfter)&&0!==(U=u(F.postgap,p))&&((L=te.makeSpan(["arraycolsep"],[])).style.width=q(U),R.push(L))}}if(l=te.makeSpan(["mtable"],R),c.length>0){for(var K=te.makeLineSpan("hline",e,h),Q=te.makeLineSpan("hdashline",e,h),J=[{type:"elem",elem:l,shift:0}];c.length>0;){var tt=c.pop(),et=tt.pos-N;tt.isDashed?J.push({type:"elem",elem:Q,shift:et}):J.push({type:"elem",elem:K,shift:et})}l=te.makeVList({positionType:"individualShift",children:J},e)}if(0===D.length)return te.makeSpan(["mord"],[l],e);var nt=te.makeVList({positionType:"individualShift",children:D},e);return nt=te.makeSpan(["tag"],[nt],e),te.makeFragment([l,nt])},Xn={c:"center ",l:"left ",r:"right "},Kn=function(t,e){for(var n=[],r=new Me.MathNode("mtd",[],["mtr-glue"]),i=new Me.MathNode("mtd",[],["mml-eqn-num"]),a=0;a<t.body.length;a++){for(var s=t.body[a],o=[],l=0;l<s.length;l++)o.push(new Me.MathNode("mtd",[$e(s[l],e)]));t.tags&&t.tags[a]&&(o.unshift(r),o.push(r),t.leqno?o.unshift(i):o.push(i)),n.push(new Me.MathNode("mtr",o))}var c=new Me.MathNode("mtable",n),h=.5===t.arraystretch?.1:.16+t.arraystretch-1+(t.addJot?.09:0);c.setAttribute("rowspacing",q(h));var u="",d="";if(t.cols&&t.cols.length>0){var p=t.cols,g="",f=!1,m=0,y=p.length;"separator"===p[0].type&&(u+="top ",m=1),"separator"===p[p.length-1].type&&(u+="bottom ",y-=1);for(var v=m;v<y;v++)"align"===p[v].type?(d+=Xn[p[v].align],f&&(g+="none "),f=!0):"separator"===p[v].type&&f&&(g+="|"===p[v].separator?"solid ":"dashed ",f=!1);c.setAttribute("columnalign",d.trim()),/[sd]/.test(g)&&c.setAttribute("columnlines",g.trim())}if("align"===t.colSeparationType){for(var x=t.cols||[],b="",w=1;w<x.length;w++)b+=w%2?"0em ":"1em ";c.setAttribute("columnspacing",b.trim())}else"alignat"===t.colSeparationType||"gather"===t.colSeparationType?c.setAttribute("columnspacing","0em"):"small"===t.colSeparationType?c.setAttribute("columnspacing","0.2778em"):"CD"===t.colSeparationType?c.setAttribute("columnspacing","0.5em"):c.setAttribute("columnspacing","1em");var k="",T=t.hLinesBeforeRow;u+=T[0].length>0?"left ":"",u+=T[T.length-1].length>0?"right ":"";for(var _=1;_<T.length-1;_++)k+=0===T[_].length?"none ":T[_][0]?"dashed ":"solid ";return/[sd]/.test(k)&&c.setAttribute("rowlines",k.trim()),""!==u&&(c=new Me.MathNode("menclose",[c])).setAttribute("notation",u.trim()),t.arraystretch&&t.arraystretch<1&&(c=new Me.MathNode("mstyle",[c])).setAttribute("scriptlevel","1"),c},Qn=function(t,e){-1===t.envName.indexOf("ed")&&Gn(t);var n,r=[],i=t.envName.indexOf("at")>-1?"alignat":"align",s="split"===t.envName,o=qn(t.parser,{cols:r,addJot:!0,autoTag:s?void 0:Vn(t.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:s?2:void 0,leqno:t.parser.settings.leqno},"display"),l=0,c={type:"ordgroup",mode:t.mode,body:[]};if(e[0]&&"ordgroup"===e[0].type){for(var h="",u=0;u<e[0].body.length;u++)h+=Ge(e[0].body[u],"textord").text;n=Number(h),l=2*n}var d=!l;o.body.forEach((function(t){for(var e=1;e<t.length;e+=2){var r=Ge(t[e],"styling");Ge(r.body[0],"ordgroup").body.unshift(c)}if(d)l<t.length&&(l=t.length);else{var i=t.length/2;if(n<i)throw new a("Too many math in a row: expected "+n+", but got "+i,t[0])}}));for(var p=0;p<l;++p){var g="r",f=0;p%2==1?g="l":p>0&&d&&(f=1),r[p]={type:"align",align:g,pregap:f,postgap:0}}return o.colSeparationType=d?"align":"alignat",o};zn({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var n=(qe(e[0])?[e[0]]:Ge(e[0],"ordgroup").body).map((function(t){var e=Ve(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new a("Unknown column alignment: "+e,t)})),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return qn(t.parser,r,jn(t.envName))},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],n="c",r={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if("*"===t.envName.charAt(t.envName.length-1)){var i=t.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,-1==="lcr".indexOf(n))throw new a("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),r.cols=[{type:"align",align:n}]}}var s=qn(t.parser,r,jn(t.envName)),o=Math.max(0,...s.body.map((t=>t.length)));return s.cols=new Array(o).fill({type:"align",align:n}),e?{type:"leftright",mode:t.mode,body:[s],left:e[0],right:e[1],rightColor:void 0}:s},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e=qn(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var n=(qe(e[0])?[e[0]]:Ge(e[0],"ordgroup").body).map((function(t){var e=Ve(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new a("Unknown column alignment: "+e,t)}));if(n.length>1)throw new a("{subarray} can contain only one column");var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5};if((r=qn(t.parser,r,"script")).body.length>0&&r.body[0].length>1)throw new a("{subarray} can contain only one column");return r},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e=qn(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},jn(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Qn,htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){h(["gather","gather*"],t.envName)&&Gn(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Vn(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return qn(t.parser,e,"display")},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Qn,htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Gn(t);var e={autoTag:Vn(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return qn(t.parser,e,"display")},htmlBuilder:Hn,mathmlBuilder:Kn}),zn({type:"array",names:["CD"],props:{numArgs:0},handler:t=>(Gn(t),function(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var n=t.fetch().text;if("&"!==n&&"\\\\"!==n){if("\\end"===n){0===e[e.length-1].length&&e.pop();break}throw new a("Expected \\\\ or \\cr or \\end",t.nextToken)}t.consume()}for(var r,i,s=[],o=[s],l=0;l<e.length;l++){for(var c=e[l],h={type:"styling",body:[],mode:"math",style:"display"},u=0;u<c.length;u++)if(rn(c[u])){s.push(h);var d=Ve(c[u+=1]).text,p=new Array(2);if(p[0]={type:"ordgroup",mode:"math",body:[]},p[1]={type:"ordgroup",mode:"math",body:[]},"=|.".indexOf(d)>-1);else{if(!("<>AV".indexOf(d)>-1))throw new a('Expected one of "<>AV=|." after @',c[u]);for(var g=0;g<2;g++){for(var f=!0,m=u+1;m<c.length;m++){if(i=d,("mathord"===(r=c[m]).type||"atom"===r.type)&&r.text===i){f=!1,u=m;break}if(rn(c[m]))throw new a("Missing a "+d+" character to complete a CD arrow.",c[m]);p[g].body.push(c[m])}if(f)throw new a("Missing a "+d+" character to complete a CD arrow.",c[u])}}var y={type:"styling",body:[an(d,p,t)],mode:"math",style:"display"};s.push(y),h={type:"styling",body:[],mode:"math",style:"display"}}else h.body.push(c[u]);l%2==0?s.push(h):s.shift(),s=[],o.push(s)}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:"math",body:o,arraystretch:1,addJot:!0,rowGaps:[null],cols:new Array(o[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25}),colSeparationType:"CD",hLinesBeforeRow:new Array(o.length+1).fill([])}}(t.parser)),htmlBuilder:Hn,mathmlBuilder:Kn}),Yn("\\nonumber","\\gdef\\@eqnsw{0}"),Yn("\\notag","\\nonumber"),ce({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new a(t.funcName+" valid only within array environment")}});var Jn=Wn;ce({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:n,funcName:r}=t,i=e[0];if("ordgroup"!==i.type)throw new a("Invalid environment name",i);for(var s="",o=0;o<i.body.length;++o)s+=Ge(i.body[o],"textord").text;if("\\begin"===r){if(!Jn.hasOwnProperty(s))throw new a("No such environment: "+s,i);var l=Jn[s],{args:c,optArgs:h}=n.parseArguments("\\begin{"+s+"}",l),u={mode:n.mode,envName:s,parser:n},d=l.handler(u,c,h);n.expect("\\end",!1);var p=n.nextToken,g=Ge(n.parseFunction(),"environment");if(g.name!==s)throw new a("Mismatch: \\begin{"+s+"} matched by \\end{"+g.name+"}",p);return d}return{type:"environment",mode:n.mode,name:s,nameGroup:i}}});var tr=(t,e)=>{var n=t.font,r=e.withFont(n);return _e(t.body,r)},er=(t,e)=>{var n=t.font,r=e.withFont(n);return $e(t.body,r)},nr={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};ce({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=ue(e[0]),a=r;return a in nr&&(a=nr[a]),{type:"font",mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:tr,mathmlBuilder:er}),ce({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:n}=t,r=e[0],i=f(r);return{type:"mclass",mode:n.mode,mclass:en(r),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:r}],isCharacterBox:i}}}),ce({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:r,breakOnTokenText:i}=t,{mode:a}=n,s=n.parseExpression(!0,i);return{type:"font",mode:a,font:"math"+r.slice(1),body:{type:"ordgroup",mode:n.mode,body:s}}},htmlBuilder:tr,mathmlBuilder:er});var rr=(t,e)=>{var n=e;return"display"===t?n=n.id>=A.SCRIPT.id?n.text():A.DISPLAY:"text"===t&&n.size===A.DISPLAY.size?n=A.TEXT:"script"===t?n=A.SCRIPT:"scriptscript"===t&&(n=A.SCRIPTSCRIPT),n},ir=(t,e)=>{var n,r=rr(t.size,e.style),i=r.fracNum(),a=r.fracDen();n=e.havingStyle(i);var s=_e(t.numer,n,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height<o?o:s.height,s.depth=s.depth<l?l:s.depth}n=e.havingStyle(a);var c,h,u,d,p,g,f,m,y,v,x=_e(t.denom,n,e);if(t.hasBarLine?(t.barSize?(h=V(t.barSize,e),c=te.makeLineSpan("frac-line",e,h)):c=te.makeLineSpan("frac-line",e),h=c.height,u=c.height):(c=null,h=0,u=e.fontMetrics().defaultRuleThickness),r.size===A.DISPLAY.size||"display"===t.size?(d=e.fontMetrics().num1,p=h>0?3*u:7*u,g=e.fontMetrics().denom1):(h>0?(d=e.fontMetrics().num2,p=u):(d=e.fontMetrics().num3,p=3*u),g=e.fontMetrics().denom2),c){var b=e.fontMetrics().axisHeight;d-s.depth-(b+.5*h)<p&&(d+=p-(d-s.depth-(b+.5*h))),b-.5*h-(x.height-g)<p&&(g+=p-(b-.5*h-(x.height-g))),f=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:x,shift:g},{type:"elem",elem:c,shift:-(b-.5*h)},{type:"elem",elem:s,shift:-d}]},e)}else{var w=d-s.depth-(x.height-g);w<p&&(d+=.5*(p-w),g+=.5*(p-w)),f=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:x,shift:g},{type:"elem",elem:s,shift:-d}]},e)}return n=e.havingStyle(r),f.height*=n.sizeMultiplier/e.sizeMultiplier,f.depth*=n.sizeMultiplier/e.sizeMultiplier,m=r.size===A.DISPLAY.size?e.fontMetrics().delim1:r.size===A.SCRIPTSCRIPT.size?e.havingStyle(A.SCRIPT).fontMetrics().delim2:e.fontMetrics().delim2,y=null==t.leftDelim?Te(e,["mopen"]):Rn.customSizedDelim(t.leftDelim,m,!0,e.havingStyle(r),t.mode,["mopen"]),v=t.continued?te.makeSpan([]):null==t.rightDelim?Te(e,["mclose"]):Rn.customSizedDelim(t.rightDelim,m,!0,e.havingStyle(r),t.mode,["mclose"]),te.makeSpan(["mord"].concat(n.sizingClasses(e)),[y,te.makeSpan(["mfrac"],[f]),v],e)},ar=(t,e)=>{var n=new Me.MathNode("mfrac",[$e(t.numer,e),$e(t.denom,e)]);if(t.hasBarLine){if(t.barSize){var r=V(t.barSize,e);n.setAttribute("linethickness",q(r))}}else n.setAttribute("linethickness","0px");var i=rr(t.size,e.style);if(i.size!==e.style.size){n=new Me.MathNode("mstyle",[n]);var a=i.size===A.DISPLAY.size?"true":"false";n.setAttribute("displaystyle",a),n.setAttribute("scriptlevel","0")}if(null!=t.leftDelim||null!=t.rightDelim){var s=[];if(null!=t.leftDelim){var o=new Me.MathNode("mo",[new Me.TextNode(t.leftDelim.replace("\\",""))]);o.setAttribute("fence","true"),s.push(o)}if(s.push(n),null!=t.rightDelim){var l=new Me.MathNode("mo",[new Me.TextNode(t.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}return Ie(s)}return n};ce({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var n,{parser:r,funcName:i}=t,a=e[0],s=e[1],o=null,l=null,c="auto";switch(i){case"\\dfrac":case"\\frac":case"\\tfrac":n=!0;break;case"\\\\atopfrac":n=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":n=!1,o="(",l=")";break;case"\\\\bracefrac":n=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":n=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(i){case"\\dfrac":case"\\dbinom":c="display";break;case"\\tfrac":case"\\tbinom":c="text"}return{type:"genfrac",mode:r.mode,continued:!1,numer:a,denom:s,hasBarLine:n,leftDelim:o,rightDelim:l,size:c,barSize:null}},htmlBuilder:ir,mathmlBuilder:ar}),ce({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=e[0],a=e[1];return{type:"genfrac",mode:n.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),ce({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var e,{parser:n,funcName:r,token:i}=t;switch(r){case"\\over":e="\\frac";break;case"\\choose":e="\\binom";break;case"\\atop":e="\\\\atopfrac";break;case"\\brace":e="\\\\bracefrac";break;case"\\brack":e="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:n.mode,replaceWith:e,token:i}}});var sr=["display","text","script","scriptscript"],or=function(t){var e=null;return t.length>0&&(e="."===(e=t)?null:e),e};ce({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var n,{parser:r}=t,i=e[4],a=e[5],s=ue(e[0]),o="atom"===s.type&&"open"===s.family?or(s.text):null,l=ue(e[1]),c="atom"===l.type&&"close"===l.family?or(l.text):null,h=Ge(e[2],"size"),u=null;n=!!h.isBlank||(u=h.value).number>0;var d="auto",p=e[3];if("ordgroup"===p.type){if(p.body.length>0){var g=Ge(p.body[0],"textord");d=sr[Number(g.text)]}}else p=Ge(p,"textord"),d=sr[Number(p.text)];return{type:"genfrac",mode:r.mode,numer:i,denom:a,continued:!1,hasBarLine:n,barSize:u,leftDelim:o,rightDelim:c,size:d}},htmlBuilder:ir,mathmlBuilder:ar}),ce({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:n,funcName:r,token:i}=t;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:Ge(e[0],"size").value,token:i}}}),ce({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=e[0],a=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}(Ge(e[1],"infix").size),s=e[2],o=a.number>0;return{type:"genfrac",mode:n.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:ir,mathmlBuilder:ar});var lr=(t,e)=>{var n,r,i=e.style;"supsub"===t.type?(n=t.sup?_e(t.sup,e.havingStyle(i.sup()),e):_e(t.sub,e.havingStyle(i.sub()),e),r=Ge(t.base,"horizBrace")):r=Ge(t,"horizBrace");var a,s=_e(r.base,e.havingBaseStyle(A.DISPLAY)),o=Ue(r,e);if(r.isOver?(a=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(a=te.makeVList({positionType:"bottom",positionData:s.depth+.1+o.height,children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[0].classes.push("svg-align"),n){var l=te.makeSpan(["mord",r.isOver?"mover":"munder"],[a],e);a=r.isOver?te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]},e):te.makeVList({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]},e)}return te.makeSpan(["mord",r.isOver?"mover":"munder"],[a],e)};ce({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:r}=t;return{type:"horizBrace",mode:n.mode,label:r,isOver:/^\\over/.test(r),base:e[0]}},htmlBuilder:lr,mathmlBuilder:(t,e)=>{var n=Ye(t.label);return new Me.MathNode(t.isOver?"mover":"munder",[$e(t.base,e),n])}}),ce({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[1],i=Ge(e[0],"url").url;return n.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:n.mode,href:i,body:de(r)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var n=ve(t.body,e,!1);return te.makeAnchor(t.href,[],n,e)},mathmlBuilder:(t,e)=>{var n=Pe(t.body,e);return n instanceof Ae||(n=new Ae("mrow",[n])),n.setAttribute("href",t.href),n}}),ce({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=Ge(e[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:r}))return n.formatUnsupportedCmd("\\url");for(var i=[],a=0;a<r.length;a++){var s=r[a];"~"===s&&(s="\\textasciitilde"),i.push({type:"textord",mode:"text",text:s})}var o={type:"text",mode:n.mode,font:"\\texttt",body:i};return{type:"href",mode:n.mode,href:r,body:de(o)}}}),ce({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(t,e){var{parser:n}=t;return{type:"hbox",mode:n.mode,body:de(e[0])}},htmlBuilder(t,e){var n=ve(t.body,e,!1);return te.makeFragment(n)},mathmlBuilder:(t,e)=>new Me.MathNode("mrow",Oe(t.body,e))}),ce({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(t,e)=>{var n,{parser:r,funcName:i,token:s}=t,o=Ge(e[0],"raw").string,l=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var c={};switch(i){case"\\htmlClass":c.class=o,n={command:"\\htmlClass",class:o};break;case"\\htmlId":c.id=o,n={command:"\\htmlId",id:o};break;case"\\htmlStyle":c.style=o,n={command:"\\htmlStyle",style:o};break;case"\\htmlData":for(var h=o.split(","),u=0;u<h.length;u++){var d=h[u].split("=");if(2!==d.length)throw new a("Error parsing key-value for \\htmlData");c["data-"+d[0].trim()]=d[1].trim()}n={command:"\\htmlData",attributes:c};break;default:throw new Error("Unrecognized html command")}return r.settings.isTrusted(n)?{type:"html",mode:r.mode,attributes:c,body:de(l)}:r.formatUnsupportedCmd(i)},htmlBuilder:(t,e)=>{var n=ve(t.body,e,!1),r=["enclosing"];t.attributes.class&&r.push(...t.attributes.class.trim().split(/\s+/));var i=te.makeSpan(r,n,e);for(var a in t.attributes)"class"!==a&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>Pe(t.body,e)}),ce({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t;return{type:"htmlmathml",mode:n.mode,html:de(e[0]),mathml:de(e[1])}},htmlBuilder:(t,e)=>{var n=ve(t.html,e,!1);return te.makeFragment(n)},mathmlBuilder:(t,e)=>Pe(t.mathml,e)});var cr=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!e)throw new a("Invalid size: '"+t+"' in \\includegraphics");var n={number:+(e[1]+e[2]),unit:e[3]};if(!G(n))throw new a("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};ce({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,n)=>{var{parser:r}=t,i={number:0,unit:"em"},s={number:.9,unit:"em"},o={number:0,unit:"em"},l="";if(n[0])for(var c=Ge(n[0],"raw").string.split(","),h=0;h<c.length;h++){var u=c[h].split("=");if(2===u.length){var d=u[1].trim();switch(u[0].trim()){case"alt":l=d;break;case"width":i=cr(d);break;case"height":s=cr(d);break;case"totalheight":o=cr(d);break;default:throw new a("Invalid key: '"+u[0]+"' in \\includegraphics.")}}}var p=Ge(e[0],"url").url;return""===l&&(l=(l=(l=p).replace(/^.*[\\/]/,"")).substring(0,l.lastIndexOf("."))),r.settings.isTrusted({command:"\\includegraphics",url:p})?{type:"includegraphics",mode:r.mode,alt:l,width:i,height:s,totalheight:o,src:p}:r.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(t,e)=>{var n=V(t.height,e),r=0;t.totalheight.number>0&&(r=V(t.totalheight,e)-n);var i=0;t.width.number>0&&(i=V(t.width,e));var a={height:q(n+r)};i>0&&(a.width=q(i)),r>0&&(a.verticalAlign=q(-r));var s=new et(t.src,t.alt,a);return s.height=n,s.depth=r,s},mathmlBuilder:(t,e)=>{var n=new Me.MathNode("mglyph",[]);n.setAttribute("alt",t.alt);var r=V(t.height,e),i=0;if(t.totalheight.number>0&&(i=V(t.totalheight,e)-r,n.setAttribute("valign",q(-i))),n.setAttribute("height",q(r+i)),t.width.number>0){var a=V(t.width,e);n.setAttribute("width",q(a))}return n.setAttribute("src",t.src),n}}),ce({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:n,funcName:r}=t,i=Ge(e[0],"size");if(n.settings.strict){var a="m"===r[1],s="mu"===i.value.unit;a?(s||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" supports only mu units, not "+i.value.unit+" units"),"math"!==n.mode&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" works only in math mode")):s&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:i.value}},htmlBuilder:(t,e)=>te.makeGlue(t.dimension,e),mathmlBuilder(t,e){var n=V(t.dimension,e);return new Me.SpaceNode(n)}}),ce({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=e[0];return{type:"lap",mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(t,e)=>{var n;"clap"===t.alignment?(n=te.makeSpan([],[_e(t.body,e)]),n=te.makeSpan(["inner"],[n],e)):n=te.makeSpan(["inner"],[_e(t.body,e)]);var r=te.makeSpan(["fix"],[]),i=te.makeSpan([t.alignment],[n,r],e),a=te.makeSpan(["strut"]);return a.style.height=q(i.height+i.depth),i.depth&&(a.style.verticalAlign=q(-i.depth)),i.children.unshift(a),i=te.makeSpan(["thinbox"],[i],e),te.makeSpan(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var n=new Me.MathNode("mpadded",[$e(t.body,e)]);if("rlap"!==t.alignment){var r="llap"===t.alignment?"-1":"-0.5";n.setAttribute("lspace",r+"width")}return n.setAttribute("width","0px"),n}}),ce({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:n,parser:r}=t,i=r.mode;r.switchMode("math");var a="\\("===n?"\\)":"$",s=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:"styling",mode:r.mode,style:"text",body:s}}}),ce({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new a("Mismatched "+t.funcName)}});var hr=(t,e)=>{switch(e.style.size){case A.DISPLAY.size:return t.display;case A.TEXT.size:return t.text;case A.SCRIPT.size:return t.script;case A.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};ce({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:n}=t;return{type:"mathchoice",mode:n.mode,display:de(e[0]),text:de(e[1]),script:de(e[2]),scriptscript:de(e[3])}},htmlBuilder:(t,e)=>{var n=hr(t,e),r=ve(n,e,!1);return te.makeFragment(r)},mathmlBuilder:(t,e)=>{var n=hr(t,e);return Pe(n,e)}});var ur=(t,e,n,r,i,a,s)=>{t=te.makeSpan([],[t]);var o,l,c,h=n&&f(n);if(e){var u=_e(e,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=_e(n,r.havingStyle(i.sub()),r);o={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}if(l&&o){var p=r.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+t.depth+s;c=te.makeVList({positionType:"bottom",positionData:p,children:[{type:"kern",size:r.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:q(-a)},{type:"kern",size:o.kern},{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:q(a)},{type:"kern",size:r.fontMetrics().bigOpSpacing5}]},r)}else if(o){var g=t.height-s;c=te.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:r.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:q(-a)},{type:"kern",size:o.kern},{type:"elem",elem:t}]},r)}else{if(!l)return t;var m=t.depth+s;c=te.makeVList({positionType:"bottom",positionData:m,children:[{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:q(a)},{type:"kern",size:r.fontMetrics().bigOpSpacing5}]},r)}var y=[c];if(o&&0!==a&&!h){var v=te.makeSpan(["mspace"],[],r);v.style.marginRight=q(a),y.unshift(v)}return te.makeSpan(["mop","op-limits"],y,r)},dr=["\\smallint"],pr=(t,e)=>{var n,r,i,a=!1;"supsub"===t.type?(n=t.sup,r=t.sub,i=Ge(t.base,"op"),a=!0):i=Ge(t,"op");var s,o=e.style,l=!1;if(o.size===A.DISPLAY.size&&i.symbol&&!h(dr,i.name)&&(l=!0),i.symbol){var c=l?"Size2-Regular":"Size1-Regular",u="";if("\\oiint"!==i.name&&"\\oiiint"!==i.name||(u=i.name.slice(1),i.name="oiint"===u?"\\iint":"\\iiint"),s=te.makeSymbol(i.name,c,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),u.length>0){var d=s.italic,p=te.staticSvg(u+"Size"+(l?"2":"1"),e);s=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),i.name="\\"+u,s.classes.unshift("mop"),s.italic=d}}else if(i.body){var g=ve(i.body,e,!0);1===g.length&&g[0]instanceof rt?(s=g[0]).classes[0]="mop":s=te.makeSpan(["mop"],g,e)}else{for(var f=[],m=1;m<i.name.length;m++)f.push(te.mathsym(i.name[m],i.mode,e));s=te.makeSpan(["mop"],f,e)}var y=0,v=0;return(s instanceof rt||"\\oiint"===i.name||"\\oiiint"===i.name)&&!i.suppressBaseShift&&(y=(s.height-s.depth)/2-e.fontMetrics().axisHeight,v=s.italic),a?ur(s,n,r,e,o,v,y):(y&&(s.style.position="relative",s.style.top=q(y)),s)},gr=(t,e)=>{var n;if(t.symbol)n=new Ae("mo",[Ne(t.name,t.mode)]),h(dr,t.name)&&n.setAttribute("largeop","false");else if(t.body)n=new Ae("mo",Oe(t.body,e));else{n=new Ae("mi",[new Le(t.name.slice(1))]);var r=new Ae("mo",[Ne("","text")]);n=t.parentIsSupSub?new Ae("mrow",[n,r]):Ce([n,r])}return n},fr={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","":"\\bigvee","⋂":"\\bigcap","":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};ce({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","","⋂","","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=r;return 1===i.length&&(i=fr[i]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:pr,mathmlBuilder:gr}),ce({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:de(r)}},htmlBuilder:pr,mathmlBuilder:gr});var mr={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};ce({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:pr,mathmlBuilder:gr}),ce({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:pr,mathmlBuilder:gr}),ce({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t,r=n;return 1===r.length&&(r=mr[r]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:pr,mathmlBuilder:gr});var yr=(t,e)=>{var n,r,i,a,s=!1;if("supsub"===t.type?(n=t.sup,r=t.sub,i=Ge(t.base,"operatorname"),s=!0):i=Ge(t,"operatorname"),i.body.length>0){for(var o=i.body.map((t=>{var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t})),l=ve(o,e.withFont("mathrm"),!0),c=0;c<l.length;c++){var h=l[c];h instanceof rt&&(h.text=h.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}a=te.makeSpan(["mop"],l,e)}else a=te.makeSpan(["mop"],[],e);return s?ur(a,n,r,e,e.style,0,0):a};function vr(t,e,n){for(var r=ve(t,e,!1),i=e.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var s=r[a].classes.indexOf("sizing");s<0?Array.prototype.push.apply(r[a].classes,e.sizingClasses(n)):r[a].classes[s+1]==="reset-size"+e.size&&(r[a].classes[s+1]="reset-size"+n.size),r[a].height*=i,r[a].depth*=i}return te.makeFragment(r)}ce({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:n,funcName:r}=t,i=e[0];return{type:"operatorname",mode:n.mode,body:de(i),alwaysHandleSupSub:"\\operatornamewithlimits"===r,limits:!1,parentIsSupSub:!1}},htmlBuilder:yr,mathmlBuilder:(t,e)=>{for(var n=Oe(t.body,e.withFont("mathrm")),r=!0,i=0;i<n.length;i++){var a=n[i];if(a instanceof Me.SpaceNode);else if(a instanceof Me.MathNode)switch(a.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":var s=a.children[0];1===a.children.length&&s instanceof Me.TextNode?s.text=s.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):r=!1;break;default:r=!1}else r=!1}if(r){var o=n.map((t=>t.toText())).join("");n=[new Me.TextNode(o)]}var l=new Me.MathNode("mi",n);l.setAttribute("mathvariant","normal");var c=new Me.MathNode("mo",[Ne("","text")]);return t.parentIsSupSub?new Me.MathNode("mrow",[l,c]):Me.newDocumentFragment([l,c])}}),Yn("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),he({type:"ordgroup",htmlBuilder:(t,e)=>t.semisimple?te.makeFragment(ve(t.body,e,!1)):te.makeSpan(["mord"],ve(t.body,e,!0),e),mathmlBuilder:(t,e)=>Pe(t.body,e,!0)}),ce({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:n}=t,r=e[0];return{type:"overline",mode:n.mode,body:r}},htmlBuilder(t,e){var n=_e(t.body,e.havingCrampedStyle()),r=te.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r},{type:"kern",size:i}]},e);return te.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var n=new Me.MathNode("mo",[new Me.TextNode("‾")]);n.setAttribute("stretchy","true");var r=new Me.MathNode("mover",[$e(t.body,e),n]);return r.setAttribute("accent","true"),r}}),ce({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"phantom",mode:n.mode,body:de(r)}},htmlBuilder:(t,e)=>{var n=ve(t.body,e.withPhantom(),!1);return te.makeFragment(n)},mathmlBuilder:(t,e)=>{var n=Oe(t.body,e);return new Me.MathNode("mphantom",n)}}),ce({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"hphantom",mode:n.mode,body:r}},htmlBuilder:(t,e)=>{var n=te.makeSpan([],[_e(t.body,e.withPhantom())]);if(n.height=0,n.depth=0,n.children)for(var r=0;r<n.children.length;r++)n.children[r].height=0,n.children[r].depth=0;return n=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n}]},e),te.makeSpan(["mord"],[n],e)},mathmlBuilder:(t,e)=>{var n=Oe(de(t.body),e),r=new Me.MathNode("mphantom",n),i=new Me.MathNode("mpadded",[r]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i}}),ce({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"vphantom",mode:n.mode,body:r}},htmlBuilder:(t,e)=>{var n=te.makeSpan(["inner"],[_e(t.body,e.withPhantom())]),r=te.makeSpan(["fix"],[]);return te.makeSpan(["mord","rlap"],[n,r],e)},mathmlBuilder:(t,e)=>{var n=Oe(de(t.body),e),r=new Me.MathNode("mphantom",n),i=new Me.MathNode("mpadded",[r]);return i.setAttribute("width","0px"),i}}),ce({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:n}=t,r=Ge(e[0],"size").value,i=e[1];return{type:"raisebox",mode:n.mode,dy:r,body:i}},htmlBuilder(t,e){var n=_e(t.body,e),r=V(t.dy,e);return te.makeVList({positionType:"shift",positionData:-r,children:[{type:"elem",elem:n}]},e)},mathmlBuilder(t,e){var n=new Me.MathNode("mpadded",[$e(t.body,e)]),r=t.dy.number+t.dy.unit;return n.setAttribute("voffset",r),n}}),ce({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}}),ce({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,n){var{parser:r}=t,i=n[0],a=Ge(e[0],"size"),s=Ge(e[1],"size");return{type:"rule",mode:r.mode,shift:i&&Ge(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var n=te.makeSpan(["mord","rule"],[],e),r=V(t.width,e),i=V(t.height,e),a=t.shift?V(t.shift,e):0;return n.style.borderRightWidth=q(r),n.style.borderTopWidth=q(i),n.style.bottom=q(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=1.125*i*e.sizeMultiplier,n},mathmlBuilder(t,e){var n=V(t.width,e),r=V(t.height,e),i=t.shift?V(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Me.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",q(n)),s.setAttribute("height",q(r));var o=new Me.MathNode("mpadded",[s]);return i>=0?o.setAttribute("height",q(i)):(o.setAttribute("height",q(i)),o.setAttribute("depth",q(-i))),o.setAttribute("voffset",q(i)),o}});var xr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ce({type:"sizing",names:xr,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:n,funcName:r,parser:i}=t,a=i.parseExpression(!1,n);return{type:"sizing",mode:i.mode,size:xr.indexOf(r)+1,body:a}},htmlBuilder:(t,e)=>{var n=e.havingSize(t.size);return vr(t.body,n,e)},mathmlBuilder:(t,e)=>{var n=e.havingSize(t.size),r=Oe(t.body,n),i=new Me.MathNode("mstyle",r);return i.setAttribute("mathsize",q(n.sizeMultiplier)),i}}),ce({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,n)=>{var{parser:r}=t,i=!1,a=!1,s=n[0]&&Ge(n[0],"ordgroup");if(s)for(var o="",l=0;l<s.body.length;++l)if("t"===(o=s.body[l].text))i=!0;else{if("b"!==o){i=!1,a=!1;break}a=!0}else i=!0,a=!0;var c=e[0];return{type:"smash",mode:r.mode,body:c,smashHeight:i,smashDepth:a}},htmlBuilder:(t,e)=>{var n=te.makeSpan([],[_e(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return n;if(t.smashHeight&&(n.height=0,n.children))for(var r=0;r<n.children.length;r++)n.children[r].height=0;if(t.smashDepth&&(n.depth=0,n.children))for(var i=0;i<n.children.length;i++)n.children[i].depth=0;var a=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n}]},e);return te.makeSpan(["mord"],[a],e)},mathmlBuilder:(t,e)=>{var n=new Me.MathNode("mpadded",[$e(t.body,e)]);return t.smashHeight&&n.setAttribute("height","0px"),t.smashDepth&&n.setAttribute("depth","0px"),n}}),ce({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,n){var{parser:r}=t,i=n[0],a=e[0];return{type:"sqrt",mode:r.mode,body:a,index:i}},htmlBuilder(t,e){var n=_e(t.body,e.havingCrampedStyle());0===n.height&&(n.height=e.fontMetrics().xHeight),n=te.wrapFragment(n,e);var r=e.fontMetrics().defaultRuleThickness,i=r;e.style.id<A.TEXT.id&&(i=e.fontMetrics().xHeight);var a=r+i/4,s=n.height+n.depth+a+r,{span:o,ruleWidth:l,advanceWidth:c}=Rn.sqrtImage(s,e),h=o.height-l;h>n.height+n.depth+a&&(a=(a+h-n.height-n.depth)/2);var u=o.height-n.height-a-l;n.style.paddingLeft=q(c);var d=te.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+u)},{type:"elem",elem:o},{type:"kern",size:l}]},e);if(t.index){var p=e.havingStyle(A.SCRIPTSCRIPT),g=_e(t.index,p,e),f=.6*(d.height-d.depth),m=te.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:g}]},e),y=te.makeSpan(["root"],[m]);return te.makeSpan(["mord","sqrt"],[y,d],e)}return te.makeSpan(["mord","sqrt"],[d],e)},mathmlBuilder(t,e){var{body:n,index:r}=t;return r?new Me.MathNode("mroot",[$e(n,e),$e(r,e)]):new Me.MathNode("msqrt",[$e(n,e)])}});var br={display:A.DISPLAY,text:A.TEXT,script:A.SCRIPT,scriptscript:A.SCRIPTSCRIPT};ce({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:n,funcName:r,parser:i}=t,a=i.parseExpression(!0,n),s=r.slice(1,r.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var n=br[t.style],r=e.havingStyle(n).withFont("");return vr(t.body,r,e)},mathmlBuilder(t,e){var n=br[t.style],r=e.havingStyle(n),i=Oe(t.body,r),a=new Me.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return a.setAttribute("scriptlevel",s[0]),a.setAttribute("displaystyle",s[1]),a}}),he({type:"supsub",htmlBuilder(t,e){var n=function(t,e){var n=t.base;return n?"op"===n.type?n.limits&&(e.style.size===A.DISPLAY.size||n.alwaysHandleSupSub)?pr:null:"operatorname"===n.type?n.alwaysHandleSupSub&&(e.style.size===A.DISPLAY.size||n.limits)?yr:null:"accent"===n.type?f(n.base)?je:null:"horizBrace"===n.type&&!t.sub===n.isOver?lr:null:null}(t,e);if(n)return n(t,e);var r,i,a,{base:s,sup:o,sub:l}=t,c=_e(s,e),h=e.fontMetrics(),u=0,d=0,p=s&&f(s);if(o){var g=e.havingStyle(e.style.sup());r=_e(o,g,e),p||(u=c.height-g.fontMetrics().supDrop*g.sizeMultiplier/e.sizeMultiplier)}if(l){var m=e.havingStyle(e.style.sub());i=_e(l,m,e),p||(d=c.depth+m.fontMetrics().subDrop*m.sizeMultiplier/e.sizeMultiplier)}a=e.style===A.DISPLAY?h.sup1:e.style.cramped?h.sup3:h.sup2;var y,v=e.sizeMultiplier,x=q(.5/h.ptPerEm/v),b=null;if(i){var w=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(c instanceof rt||w)&&(b=q(-c.italic))}if(r&&i){u=Math.max(u,a,r.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var k=4*h.defaultRuleThickness;if(u-r.depth-(i.height-d)<k){d=k-(u-r.depth)+i.height;var T=.8*h.xHeight-(u-r.depth);T>0&&(u+=T,d-=T)}y=te.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:r,shift:-u,marginRight:x}]},e)}else if(i){d=Math.max(d,h.sub1,i.height-.8*h.xHeight),y=te.makeVList({positionType:"shift",positionData:d,children:[{type:"elem",elem:i,marginLeft:b,marginRight:x}]},e)}else{if(!r)throw new Error("supsub must have either sup or sub.");u=Math.max(u,a,r.depth+.25*h.xHeight),y=te.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:r,marginRight:x}]},e)}var _=ke(c,"right")||"mord";return te.makeSpan([_],[c,te.makeSpan(["msupsub"],[y])],e)},mathmlBuilder(t,e){var n,r=!1;t.base&&"horizBrace"===t.base.type&&!!t.sup===t.base.isOver&&(r=!0,n=t.base.isOver),!t.base||"op"!==t.base.type&&"operatorname"!==t.base.type||(t.base.parentIsSupSub=!0);var i,a=[$e(t.base,e)];if(t.sub&&a.push($e(t.sub,e)),t.sup&&a.push($e(t.sup,e)),r)i=n?"mover":"munder";else if(t.sub)if(t.sup){var s=t.base;i=s&&"op"===s.type&&s.limits&&e.style===A.DISPLAY||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(e.style===A.DISPLAY||s.limits)?"munderover":"msubsup"}else{var o=t.base;i=o&&"op"===o.type&&o.limits&&(e.style===A.DISPLAY||o.alwaysHandleSupSub)||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(o.limits||e.style===A.DISPLAY)?"munder":"msub"}else{var l=t.base;i=l&&"op"===l.type&&l.limits&&(e.style===A.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||e.style===A.DISPLAY)?"mover":"msup"}return new Me.MathNode(i,a)}}),he({type:"atom",htmlBuilder:(t,e)=>te.mathsym(t.text,t.mode,e,["m"+t.family]),mathmlBuilder(t,e){var n=new Me.MathNode("mo",[Ne(t.text,t.mode)]);if("bin"===t.family){var r=Re(t,e);"bold-italic"===r&&n.setAttribute("mathvariant",r)}else"punct"===t.family?n.setAttribute("separator","true"):"open"!==t.family&&"close"!==t.family||n.setAttribute("stretchy","false");return n}});var wr={mi:"italic",mn:"normal",mtext:"normal"};he({type:"mathord",htmlBuilder:(t,e)=>te.makeOrd(t,e,"mathord"),mathmlBuilder(t,e){var n=new Me.MathNode("mi",[Ne(t.text,t.mode,e)]),r=Re(t,e)||"italic";return r!==wr[n.type]&&n.setAttribute("mathvariant",r),n}}),he({type:"textord",htmlBuilder:(t,e)=>te.makeOrd(t,e,"textord"),mathmlBuilder(t,e){var n,r=Ne(t.text,t.mode,e),i=Re(t,e)||"normal";return n="text"===t.mode?new Me.MathNode("mtext",[r]):/[0-9]/.test(t.text)?new Me.MathNode("mn",[r]):"\\prime"===t.text?new Me.MathNode("mo",[r]):new Me.MathNode("mi",[r]),i!==wr[n.type]&&n.setAttribute("mathvariant",i),n}});var kr={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Tr={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};he({type:"spacing",htmlBuilder(t,e){if(Tr.hasOwnProperty(t.text)){var n=Tr[t.text].className||"";if("text"===t.mode){var r=te.makeOrd(t,e,"textord");return r.classes.push(n),r}return te.makeSpan(["mspace",n],[te.mathsym(t.text,t.mode,e)],e)}if(kr.hasOwnProperty(t.text))return te.makeSpan(["mspace",kr[t.text]],[],e);throw new a('Unknown type of space "'+t.text+'"')},mathmlBuilder(t,e){if(!Tr.hasOwnProperty(t.text)){if(kr.hasOwnProperty(t.text))return new Me.MathNode("mspace");throw new a('Unknown type of space "'+t.text+'"')}return new Me.MathNode("mtext",[new Me.TextNode(" ")])}});var _r=()=>{var t=new Me.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};he({type:"tag",mathmlBuilder(t,e){var n=new Me.MathNode("mtable",[new Me.MathNode("mtr",[_r(),new Me.MathNode("mtd",[Pe(t.body,e)]),_r(),new Me.MathNode("mtd",[Pe(t.tag,e)])])]);return n.setAttribute("width","100%"),n}});var Er={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Sr={"\\textbf":"textbf","\\textmd":"textmd"},Cr={"\\textit":"textit","\\textup":"textup"},Ar=(t,e)=>{var n=t.font;return n?Er[n]?e.withTextFontFamily(Er[n]):Sr[n]?e.withTextFontWeight(Sr[n]):"\\emph"===n?"textit"===e.fontShape?e.withTextFontShape("textup"):e.withTextFontShape("textit"):e.withTextFontShape(Cr[n]):e};ce({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:n,funcName:r}=t,i=e[0];return{type:"text",mode:n.mode,body:de(i),font:r}},htmlBuilder(t,e){var n=Ar(t,e),r=ve(t.body,n,!0);return te.makeSpan(["mord","text"],r,n)},mathmlBuilder(t,e){var n=Ar(t,e);return Pe(t.body,n)}}),ce({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"underline",mode:n.mode,body:e[0]}},htmlBuilder(t,e){var n=_e(t.body,e),r=te.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=te.makeVList({positionType:"top",positionData:n.height,children:[{type:"kern",size:i},{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n}]},e);return te.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var n=new Me.MathNode("mo",[new Me.TextNode("‾")]);n.setAttribute("stretchy","true");var r=new Me.MathNode("munder",[$e(t.body,e),n]);return r.setAttribute("accentunder","true"),r}}),ce({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:n}=t;return{type:"vcenter",mode:n.mode,body:e[0]}},htmlBuilder(t,e){var n=_e(t.body,e),r=e.fontMetrics().axisHeight,i=.5*(n.height-r-(n.depth+r));return te.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:n}]},e)},mathmlBuilder:(t,e)=>new Me.MathNode("mpadded",[$e(t.body,e)],["vcenter"])}),ce({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,n){throw new a("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var n=Lr(t),r=[],i=e.havingStyle(e.style.text()),a=0;a<n.length;a++){var s=n[a];"~"===s&&(s="\\textasciitilde"),r.push(te.makeSymbol(s,"Typewriter-Regular",t.mode,i,["mord","texttt"]))}return te.makeSpan(["mord","text"].concat(i.sizingClasses(e)),te.tryCombineChars(r),i)},mathmlBuilder(t,e){var n=new Me.TextNode(Lr(t)),r=new Me.MathNode("mtext",[n]);return r.setAttribute("mathvariant","monospace"),r}});var Lr=t=>t.body.replace(/ /g,t.star?"␣":" "),Mr=se,Nr="[ \r\n\t]",Ir="(\\\\[a-zA-Z@]+)"+Nr+"*",Rr="[̀-ͯ]",Dr=new RegExp(Rr+"+$"),Or="("+Nr+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧‪-퟿豈-￿]"+Rr+"*|[\ud800-\udbff][\udc00-\udfff]"+Rr+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+Ir+"|\\\\[^\ud800-\udfff])";class Pr{constructor(t,e){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=e,this.tokenRegex=new RegExp(Or,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,e){this.catcodes[t]=e}lex(){var t=this.input,e=this.tokenRegex.lastIndex;if(e===t.length)return new i("EOF",new r(this,e,e));var n=this.tokenRegex.exec(t);if(null===n||n.index!==e)throw new a("Unexpected character: '"+t[e]+"'",new i(t[e],new r(this,e,e+1)));var s=n[6]||n[3]||(n[2]?"\\ ":" ");if(14===this.catcodes[s]){var o=t.indexOf("\n",this.tokenRegex.lastIndex);return-1===o?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=o+1,this.lex()}return new i(s,new r(this,e,this.tokenRegex.lastIndex))}}class $r{constructor(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=e,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new a("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,e,n){if(void 0===n&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][t];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(t)&&(i[t]=this.current[t])}null==e?delete this.current[t]:this.current[t]=e}}var Br=Zn;Yn("\\noexpand",(function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}})),Yn("\\expandafter",(function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}})),Yn("\\@firstoftwo",(function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}})),Yn("\\@secondoftwo",(function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}})),Yn("\\@ifnextchar",(function(t){var e=t.consumeArgs(3);t.consumeSpaces();var n=t.future();return 1===e[0].length&&e[0][0].text===n.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}})),Yn("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Yn("\\TextOrMath",(function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}}));var Fr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Yn("\\char",(function(t){var e,n=t.popToken(),r="";if("'"===n.text)e=8,n=t.popToken();else if('"'===n.text)e=16,n=t.popToken();else if("`"===n.text)if("\\"===(n=t.popToken()).text[0])r=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new a("\\char` missing argument");r=n.text.charCodeAt(0)}else e=10;if(e){if(null==(r=Fr[n.text])||r>=e)throw new a("Invalid base-"+e+" digit "+n.text);for(var i;null!=(i=Fr[t.future().text])&&i<e;)r*=e,r+=i,t.popToken()}return"\\@char{"+r+"}"}));var Wr=(t,e,n,r)=>{var i=t.consumeArg().tokens;if(1!==i.length)throw new a("\\newcommand's first argument must be a macro name");var s=i[0].text,o=t.isDefined(s);if(o&&!e)throw new a("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!o&&!n)throw new a("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var l=0;if(1===(i=t.consumeArg().tokens).length&&"["===i[0].text){for(var c="",h=t.expandNextToken();"]"!==h.text&&"EOF"!==h.text;)c+=h.text,h=t.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new a("Invalid number of arguments: "+c);l=parseInt(c),i=t.consumeArg().tokens}return o&&r||t.macros.set(s,{tokens:i,numArgs:l}),""};Yn("\\newcommand",(t=>Wr(t,!1,!0,!1))),Yn("\\renewcommand",(t=>Wr(t,!0,!1,!1))),Yn("\\providecommand",(t=>Wr(t,!0,!0,!0))),Yn("\\message",(t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map((t=>t.text)).join("")),""})),Yn("\\errmessage",(t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map((t=>t.text)).join("")),""})),Yn("\\show",(t=>{var e=t.popToken(),n=e.text;return console.log(e,t.macros.get(n),Mr[n],ht.math[n],ht.text[n]),""})),Yn("\\bgroup","{"),Yn("\\egroup","}"),Yn("~","\\nobreakspace"),Yn("\\lq","`"),Yn("\\rq","'"),Yn("\\aa","\\r a"),Yn("\\AA","\\r A"),Yn("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),Yn("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Yn("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Yn("","\\mathscr{B}"),Yn("","\\mathscr{E}"),Yn("","\\mathscr{F}"),Yn("","\\mathscr{H}"),Yn("","\\mathscr{I}"),Yn("","\\mathscr{L}"),Yn("","\\mathscr{M}"),Yn("","\\mathscr{R}"),Yn("","\\mathfrak{C}"),Yn("","\\mathfrak{H}"),Yn("","\\mathfrak{Z}"),Yn("\\Bbbk","\\Bbb{k}"),Yn("·","\\cdotp"),Yn("\\llap","\\mathllap{\\textrm{#1}}"),Yn("\\rlap","\\mathrlap{\\textrm{#1}}"),Yn("\\clap","\\mathclap{\\textrm{#1}}"),Yn("\\mathstrut","\\vphantom{(}"),Yn("\\underbar","\\underline{\\text{#1}}"),Yn("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Yn("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Yn("\\ne","\\neq"),Yn("≠","\\neq"),Yn("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Yn("∉","\\notin"),Yn("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Yn("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Yn("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Yn("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Yn("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Yn("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Yn("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Yn("⟂","\\perp"),Yn("‼","\\mathclose{!\\mkern-0.8mu!}"),Yn("∌","\\notni"),Yn("⌜","\\ulcorner"),Yn("⌝","\\urcorner"),Yn("⌞","\\llcorner"),Yn("⌟","\\lrcorner"),Yn("©","\\copyright"),Yn("®","\\textregistered"),Yn("","\\textregistered"),Yn("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Yn("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Yn("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Yn("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Yn("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),Yn("⋮","\\vdots"),Yn("\\varGamma","\\mathit{\\Gamma}"),Yn("\\varDelta","\\mathit{\\Delta}"),Yn("\\varTheta","\\mathit{\\Theta}"),Yn("\\varLambda","\\mathit{\\Lambda}"),Yn("\\varXi","\\mathit{\\Xi}"),Yn("\\varPi","\\mathit{\\Pi}"),Yn("\\varSigma","\\mathit{\\Sigma}"),Yn("\\varUpsilon","\\mathit{\\Upsilon}"),Yn("\\varPhi","\\mathit{\\Phi}"),Yn("\\varPsi","\\mathit{\\Psi}"),Yn("\\varOmega","\\mathit{\\Omega}"),Yn("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Yn("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Yn("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Yn("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Yn("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Yn("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),Yn("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),Yn("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var zr={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Yn("\\dots",(function(t){var e="\\dotso",n=t.expandAfterFuture().text;return n in zr?e=zr[n]:("\\not"===n.slice(0,4)||n in ht.math&&h(["bin","rel"],ht.math[n].group))&&(e="\\dotsb"),e}));var Zr={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Yn("\\dotso",(function(t){return t.future().text in Zr?"\\ldots\\,":"\\ldots"})),Yn("\\dotsc",(function(t){var e=t.future().text;return e in Zr&&","!==e?"\\ldots\\,":"\\ldots"})),Yn("\\cdots",(function(t){return t.future().text in Zr?"\\@cdots\\,":"\\@cdots"})),Yn("\\dotsb","\\cdots"),Yn("\\dotsm","\\cdots"),Yn("\\dotsi","\\!\\cdots"),Yn("\\dotsx","\\ldots\\,"),Yn("\\DOTSI","\\relax"),Yn("\\DOTSB","\\relax"),Yn("\\DOTSX","\\relax"),Yn("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Yn("\\,","\\tmspace+{3mu}{.1667em}"),Yn("\\thinspace","\\,"),Yn("\\>","\\mskip{4mu}"),Yn("\\:","\\tmspace+{4mu}{.2222em}"),Yn("\\medspace","\\:"),Yn("\\;","\\tmspace+{5mu}{.2777em}"),Yn("\\thickspace","\\;"),Yn("\\!","\\tmspace-{3mu}{.1667em}"),Yn("\\negthinspace","\\!"),Yn("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Yn("\\negthickspace","\\tmspace-{5mu}{.277em}"),Yn("\\enspace","\\kern.5em "),Yn("\\enskip","\\hskip.5em\\relax"),Yn("\\quad","\\hskip1em\\relax"),Yn("\\qquad","\\hskip2em\\relax"),Yn("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Yn("\\tag@paren","\\tag@literal{({#1})}"),Yn("\\tag@literal",(t=>{if(t.macros.get("\\df@tag"))throw new a("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Yn("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Yn("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Yn("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Yn("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Yn("\\newline","\\\\\\relax"),Yn("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Yr=q(D["Main-Regular"]["T".charCodeAt(0)][1]-.7*D["Main-Regular"]["A".charCodeAt(0)][1]);Yn("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Yr+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Yn("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Yr+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Yn("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Yn("\\@hspace","\\hskip #1\\relax"),Yn("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Yn("\\ordinarycolon",":"),Yn("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Yn("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Yn("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Yn("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Yn("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Yn("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Yn("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Yn("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Yn("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Yn("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Yn("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Yn("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Yn("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Yn("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Yn("∷","\\dblcolon"),Yn("∹","\\eqcolon"),Yn("≔","\\coloneqq"),Yn("≕","\\eqqcolon"),Yn("⩴","\\Coloneqq"),Yn("\\ratio","\\vcentcolon"),Yn("\\coloncolon","\\dblcolon"),Yn("\\colonequals","\\coloneqq"),Yn("\\coloncolonequals","\\Coloneqq"),Yn("\\equalscolon","\\eqqcolon"),Yn("\\equalscoloncolon","\\Eqqcolon"),Yn("\\colonminus","\\coloneq"),Yn("\\coloncolonminus","\\Coloneq"),Yn("\\minuscolon","\\eqcolon"),Yn("\\minuscoloncolon","\\Eqcolon"),Yn("\\coloncolonapprox","\\Colonapprox"),Yn("\\coloncolonsim","\\Colonsim"),Yn("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Yn("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Yn("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Yn("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Yn("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Yn("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Yn("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Yn("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Yn("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Yn("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Yn("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Yn("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Yn("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Yn("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),Yn("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),Yn("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),Yn("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),Yn("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),Yn("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),Yn("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),Yn("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),Yn("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),Yn("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),Yn("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),Yn("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),Yn("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),Yn("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),Yn("\\imath","\\html@mathml{\\@imath}{ı}"),Yn("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),Yn("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Yn("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Yn("⟦","\\llbracket"),Yn("⟧","\\rrbracket"),Yn("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Yn("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Yn("⦃","\\lBrace"),Yn("⦄","\\rBrace"),Yn("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Yn("⦵","\\minuso"),Yn("\\darr","\\downarrow"),Yn("\\dArr","\\Downarrow"),Yn("\\Darr","\\Downarrow"),Yn("\\lang","\\langle"),Yn("\\rang","\\rangle"),Yn("\\uarr","\\uparrow"),Yn("\\uArr","\\Uparrow"),Yn("\\Uarr","\\Uparrow"),Yn("\\N","\\mathbb{N}"),Yn("\\R","\\mathbb{R}"),Yn("\\Z","\\mathbb{Z}"),Yn("\\alef","\\aleph"),Yn("\\alefsym","\\aleph"),Yn("\\Alpha","\\mathrm{A}"),Yn("\\Beta","\\mathrm{B}"),Yn("\\bull","\\bullet"),Yn("\\Chi","\\mathrm{X}"),Yn("\\clubs","\\clubsuit"),Yn("\\cnums","\\mathbb{C}"),Yn("\\Complex","\\mathbb{C}"),Yn("\\Dagger","\\ddagger"),Yn("\\diamonds","\\diamondsuit"),Yn("\\empty","\\emptyset"),Yn("\\Epsilon","\\mathrm{E}"),Yn("\\Eta","\\mathrm{H}"),Yn("\\exist","\\exists"),Yn("\\harr","\\leftrightarrow"),Yn("\\hArr","\\Leftrightarrow"),Yn("\\Harr","\\Leftrightarrow"),Yn("\\hearts","\\heartsuit"),Yn("\\image","\\Im"),Yn("\\infin","\\infty"),Yn("\\Iota","\\mathrm{I}"),Yn("\\isin","\\in"),Yn("\\Kappa","\\mathrm{K}"),Yn("\\larr","\\leftarrow"),Yn("\\lArr","\\Leftarrow"),Yn("\\Larr","\\Leftarrow"),Yn("\\lrarr","\\leftrightarrow"),Yn("\\lrArr","\\Leftrightarrow"),Yn("\\Lrarr","\\Leftrightarrow"),Yn("\\Mu","\\mathrm{M}"),Yn("\\natnums","\\mathbb{N}"),Yn("\\Nu","\\mathrm{N}"),Yn("\\Omicron","\\mathrm{O}"),Yn("\\plusmn","\\pm"),Yn("\\rarr","\\rightarrow"),Yn("\\rArr","\\Rightarrow"),Yn("\\Rarr","\\Rightarrow"),Yn("\\real","\\Re"),Yn("\\reals","\\mathbb{R}"),Yn("\\Reals","\\mathbb{R}"),Yn("\\Rho","\\mathrm{P}"),Yn("\\sdot","\\cdot"),Yn("\\sect","\\S"),Yn("\\spades","\\spadesuit"),Yn("\\sub","\\subset"),Yn("\\sube","\\subseteq"),Yn("\\supe","\\supseteq"),Yn("\\Tau","\\mathrm{T}"),Yn("\\thetasym","\\vartheta"),Yn("\\weierp","\\wp"),Yn("\\Zeta","\\mathrm{Z}"),Yn("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Yn("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Yn("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Yn("\\bra","\\mathinner{\\langle{#1}|}"),Yn("\\ket","\\mathinner{|{#1}\\rangle}"),Yn("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Yn("\\Bra","\\left\\langle#1\\right|"),Yn("\\Ket","\\left|#1\\right\\rangle");var Ur=t=>e=>{var n=e.consumeArg().tokens,r=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=e=>n=>{t&&(n.macros.set("|",s),i.length&&n.macros.set("\\|",o));var a=e;return!e&&i.length&&"|"===n.future().text&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var c=e.consumeArg().tokens,h=e.expandTokens([...a,...c,...n]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};Yn("\\bra@ket",Ur(!1)),Yn("\\bra@set",Ur(!0)),Yn("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Yn("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Yn("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Yn("\\angln","{\\angl n}"),Yn("\\blue","\\textcolor{##6495ed}{#1}"),Yn("\\orange","\\textcolor{##ffa500}{#1}"),Yn("\\pink","\\textcolor{##ff00af}{#1}"),Yn("\\red","\\textcolor{##df0030}{#1}"),Yn("\\green","\\textcolor{##28ae7b}{#1}"),Yn("\\gray","\\textcolor{gray}{#1}"),Yn("\\purple","\\textcolor{##9d38bd}{#1}"),Yn("\\blueA","\\textcolor{##ccfaff}{#1}"),Yn("\\blueB","\\textcolor{##80f6ff}{#1}"),Yn("\\blueC","\\textcolor{##63d9ea}{#1}"),Yn("\\blueD","\\textcolor{##11accd}{#1}"),Yn("\\blueE","\\textcolor{##0c7f99}{#1}"),Yn("\\tealA","\\textcolor{##94fff5}{#1}"),Yn("\\tealB","\\textcolor{##26edd5}{#1}"),Yn("\\tealC","\\textcolor{##01d1c1}{#1}"),Yn("\\tealD","\\textcolor{##01a995}{#1}"),Yn("\\tealE","\\textcolor{##208170}{#1}"),Yn("\\greenA","\\textcolor{##b6ffb0}{#1}"),Yn("\\greenB","\\textcolor{##8af281}{#1}"),Yn("\\greenC","\\textcolor{##74cf70}{#1}"),Yn("\\greenD","\\textcolor{##1fab54}{#1}"),Yn("\\greenE","\\textcolor{##0d923f}{#1}"),Yn("\\goldA","\\textcolor{##ffd0a9}{#1}"),Yn("\\goldB","\\textcolor{##ffbb71}{#1}"),Yn("\\goldC","\\textcolor{##ff9c39}{#1}"),Yn("\\goldD","\\textcolor{##e07d10}{#1}"),Yn("\\goldE","\\textcolor{##a75a05}{#1}"),Yn("\\redA","\\textcolor{##fca9a9}{#1}"),Yn("\\redB","\\textcolor{##ff8482}{#1}"),Yn("\\redC","\\textcolor{##f9685d}{#1}"),Yn("\\redD","\\textcolor{##e84d39}{#1}"),Yn("\\redE","\\textcolor{##bc2612}{#1}"),Yn("\\maroonA","\\textcolor{##ffbde0}{#1}"),Yn("\\maroonB","\\textcolor{##ff92c6}{#1}"),Yn("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Yn("\\maroonD","\\textcolor{##ca337c}{#1}"),Yn("\\maroonE","\\textcolor{##9e034e}{#1}"),Yn("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Yn("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Yn("\\purpleC","\\textcolor{##aa87ff}{#1}"),Yn("\\purpleD","\\textcolor{##7854ab}{#1}"),Yn("\\purpleE","\\textcolor{##543b78}{#1}"),Yn("\\mintA","\\textcolor{##f5f9e8}{#1}"),Yn("\\mintB","\\textcolor{##edf2df}{#1}"),Yn("\\mintC","\\textcolor{##e0e5cc}{#1}"),Yn("\\grayA","\\textcolor{##f6f7f7}{#1}"),Yn("\\grayB","\\textcolor{##f0f1f2}{#1}"),Yn("\\grayC","\\textcolor{##e3e5e6}{#1}"),Yn("\\grayD","\\textcolor{##d6d8da}{#1}"),Yn("\\grayE","\\textcolor{##babec2}{#1}"),Yn("\\grayF","\\textcolor{##888d93}{#1}"),Yn("\\grayG","\\textcolor{##626569}{#1}"),Yn("\\grayH","\\textcolor{##3b3e40}{#1}"),Yn("\\grayI","\\textcolor{##21242c}{#1}"),Yn("\\kaBlue","\\textcolor{##314453}{#1}"),Yn("\\kaGreen","\\textcolor{##71B307}{#1}");var Gr={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Vr{constructor(t,e,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new $r(Br,e.macros),this.mode=n,this.stack=[]}feed(t){this.lexer=new Pr(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var e,n,r;if(t){if(this.consumeSpaces(),"["!==this.future().text)return null;e=this.popToken(),({tokens:r,end:n}=this.consumeArg(["]"]))}else({tokens:r,start:e,end:n}=this.consumeArg());return this.pushToken(new i("EOF",n.loc)),this.pushTokens(r),e.range(n,"")}consumeSpaces(){for(;" "===this.future().text;)this.stack.pop()}consumeArg(t){var e=[],n=t&&t.length>0;n||this.consumeSpaces();var r,i=this.future(),s=0,o=0;do{if(r=this.popToken(),e.push(r),"{"===r.text)++s;else if("}"===r.text){if(-1==--s)throw new a("Extra }",r)}else if("EOF"===r.text)throw new a("Unexpected end of input in a macro argument, expected '"+(t&&n?t[o]:"}")+"'",r);if(t&&n)if((0===s||1===s&&"{"===t[o])&&r.text===t[o]){if(++o===t.length){e.splice(-o,o);break}}else o=0}while(0!==s||n);return"{"===i.text&&"}"===e[e.length-1].text&&(e.pop(),e.shift()),e.reverse(),{tokens:e,start:i,end:r}}consumeArgs(t,e){if(e){if(e.length!==t+1)throw new a("The length of delimiters doesn't match the number of args!");for(var n=e[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new a("Use of the macro doesn't match its definition",i)}}for(var s=[],o=0;o<t;o++)s.push(this.consumeArg(e&&e[o+1]).tokens);return s}countExpansion(t){if(this.expansionCount+=t,this.expansionCount>this.settings.maxExpand)throw new a("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var e=this.popToken(),n=e.text,r=e.noexpand?null:this._getExpansion(n);if(null==r||t&&r.unexpandable){if(t&&null==r&&"\\"===n[0]&&!this.isDefined(n))throw new a("Undefined control sequence: "+n);return this.pushToken(e),!1}this.countExpansion(1);var i=r.tokens,s=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs)for(var o=(i=i.slice()).length-1;o>=0;--o){var l=i[o];if("#"===l.text){if(0===o)throw new a("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--o]).text)i.splice(o+1,1);else{if(!/^[1-9]$/.test(l.text))throw new a("Not a valid argument number",l);i.splice(o,2,...s[+l.text-1])}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}throw new Error}expandMacro(t){return this.macros.has(t)?this.expandTokens([new i(t)]):void 0}expandTokens(t){var e=[],n=this.stack.length;for(this.pushTokens(t);this.stack.length>n;)if(!1===this.expandOnce(!0)){var r=this.stack.pop();r.treatAsRelax&&(r.noexpand=!1,r.treatAsRelax=!1),e.push(r)}return this.countExpansion(e.length),e}expandMacroAsText(t){var e=this.expandMacro(t);return e?e.map((t=>t.text)).join(""):e}_getExpansion(t){var e=this.macros.get(t);if(null==e)return e;if(1===t.length){var n=this.lexer.catcodes[t];if(null!=n&&13!==n)return}var r="function"==typeof e?e(this):e;if("string"==typeof r){var i=0;if(-1!==r.indexOf("#"))for(var a=r.replace(/##/g,"");-1!==a.indexOf("#"+(i+1));)++i;for(var s=new Pr(r,this.settings),o=[],l=s.lex();"EOF"!==l.text;)o.push(l),l=s.lex();return o.reverse(),{tokens:o,numArgs:i}}return r}isDefined(t){return this.macros.has(t)||Mr.hasOwnProperty(t)||ht.math.hasOwnProperty(t)||ht.text.hasOwnProperty(t)||Gr.hasOwnProperty(t)}isExpandable(t){var e=this.macros.get(t);return null!=e?"string"==typeof e||"function"==typeof e||!e.unexpandable:Mr.hasOwnProperty(t)&&!Mr[t].primitive}}var qr=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,jr=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9",ₐ:"a",ₑ:"e",ₕ:"h",ᵢ:"i",ⱼ:"j",ₖ:"k",ₗ:"l",ₘ:"m",ₙ:"n",ₒ:"o",ₚ:"p",ᵣ:"r",ₛ:"s",ₜ:"t",ᵤ:"u",ᵥ:"v",ₓ:"x",ᵦ:"β",ᵧ:"γ",ᵨ:"ρ",ᵩ:"ϕ",ᵪ:"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9",ᴬ:"A",ᴮ:"B",ᴰ:"D",ᴱ:"E",ᴳ:"G",ᴴ:"H",ᴵ:"I",ᴶ:"J",ᴷ:"K",ᴸ:"L",ᴹ:"M",ᴺ:"N",ᴼ:"O",ᴾ:"P",ᴿ:"R",ᵀ:"T",ᵁ:"U",ⱽ:"V",ᵂ:"W",ᵃ:"a",ᵇ:"b",ᶜ:"c",ᵈ:"d",ᵉ:"e",ᶠ:"f",ᵍ:"g",ʰ:"h",ⁱ:"i",ʲ:"j",ᵏ:"k",ˡ:"l",ᵐ:"m",ⁿ:"n",ᵒ:"o",ᵖ:"p",ʳ:"r",ˢ:"s",ᵗ:"t",ᵘ:"u",ᵛ:"v",ʷ:"w",ˣ:"x",ʸ:"y",ᶻ:"z",ᵝ:"β",ᵞ:"γ",ᵟ:"δ",ᵠ:"ϕ",ᵡ:"χ",ᶿ:"θ"}),Hr={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Xr={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Kr{constructor(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Vr(t,e,this.mode),this.settings=e,this.leftrightDepth=0}expect(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new a("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var e=this.nextToken;this.consume(),this.gullet.pushToken(new i("}")),this.gullet.pushTokens(t);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=e,n}parseExpression(t,e){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var r=this.fetch();if(-1!==Kr.endOfExpression.indexOf(r.text))break;if(e&&r.text===e)break;if(t&&Mr[r.text]&&Mr[r.text].infix)break;var i=this.parseAtom(e);if(!i)break;"internal"!==i.type&&n.push(i)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(t){for(var e,n=-1,r=0;r<t.length;r++)if("infix"===t[r].type){if(-1!==n)throw new a("only one infix operator per group",t[r].token);n=r,e=t[r].replaceWith}if(-1!==n&&e){var i,s,o=t.slice(0,n),l=t.slice(n+1);return i=1===o.length&&"ordgroup"===o[0].type?o[0]:{type:"ordgroup",mode:this.mode,body:o},s=1===l.length&&"ordgroup"===l[0].type?l[0]:{type:"ordgroup",mode:this.mode,body:l},["\\\\abovefrac"===e?this.callFunction(e,[i,t[n],s],[]):this.callFunction(e,[i,s],[])]}return t}handleSupSubscript(t){var e,n=this.fetch(),r=n.text;this.consume(),this.consumeSpaces();do{var i;e=this.parseGroup(t)}while("internal"===(null==(i=e)?void 0:i.type));if(!e)throw new a("Expected group after '"+r+"'",n);return e}formatUnsupportedCmd(t){for(var e=[],n=0;n<t.length;n++)e.push({type:"textord",mode:"text",text:t[n]});var r={type:"text",mode:this.mode,body:e};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(t){var e,n,r=this.parseGroup("atom",t);if("internal"===(null==r?void 0:r.type))return r;if("text"===this.mode)return r;for(;;){this.consumeSpaces();var s=this.fetch();if("\\limits"===s.text||"\\nolimits"===s.text){if(r&&"op"===r.type){var o="\\limits"===s.text;r.limits=o,r.alwaysHandleSupSub=!0}else{if(!r||"operatorname"!==r.type)throw new a("Limit controls must follow a math operator",s);r.alwaysHandleSupSub&&(r.limits="\\limits"===s.text)}this.consume()}else if("^"===s.text){if(e)throw new a("Double superscript",s);e=this.handleSupSubscript("superscript")}else if("_"===s.text){if(n)throw new a("Double subscript",s);n=this.handleSupSubscript("subscript")}else if("'"===s.text){if(e)throw new a("Double superscript",s);var l={type:"textord",mode:this.mode,text:"\\prime"},c=[l];for(this.consume();"'"===this.fetch().text;)c.push(l),this.consume();"^"===this.fetch().text&&c.push(this.handleSupSubscript("superscript")),e={type:"ordgroup",mode:this.mode,body:c}}else{if(!jr[s.text])break;var h=qr.test(s.text),u=[];for(u.push(new i(jr[s.text])),this.consume();;){var d=this.fetch().text;if(!jr[d])break;if(qr.test(d)!==h)break;u.unshift(new i(jr[d])),this.consume()}var p=this.subparse(u);h?n={type:"ordgroup",mode:"math",body:p}:e={type:"ordgroup",mode:"math",body:p}}}return e||n?{type:"supsub",mode:this.mode,base:r,sup:e,sub:n}:r}parseFunction(t,e){var n=this.fetch(),r=n.text,i=Mr[r];if(!i)return null;if(this.consume(),e&&"atom"!==e&&!i.allowedInArgument)throw new a("Got function '"+r+"' with no arguments"+(e?" as "+e:""),n);if("text"===this.mode&&!i.allowedInText)throw new a("Can't use function '"+r+"' in text mode",n);if("math"===this.mode&&!1===i.allowedInMath)throw new a("Can't use function '"+r+"' in math mode",n);var{args:s,optArgs:o}=this.parseArguments(r,i);return this.callFunction(r,s,o,n,t)}callFunction(t,e,n,r,i){var s={funcName:t,parser:this,token:r,breakOnTokenText:i},o=Mr[t];if(o&&o.handler)return o.handler(s,e,n);throw new a("No function handler for "+t)}parseArguments(t,e){var n=e.numArgs+e.numOptionalArgs;if(0===n)return{args:[],optArgs:[]};for(var r=[],i=[],s=0;s<n;s++){var o=e.argTypes&&e.argTypes[s],l=s<e.numOptionalArgs;(e.primitive&&null==o||"sqrt"===e.type&&1===s&&null==i[0])&&(o="primitive");var c=this.parseGroupOfType("argument to '"+t+"'",o,l);if(l)i.push(c);else{if(null==c)throw new a("Null argument, please report this as a bug");r.push(c)}}return{args:r,optArgs:i}}parseGroupOfType(t,e,n){switch(e){case"color":return this.parseColorGroup(n);case"size":return this.parseSizeGroup(n);case"url":return this.parseUrlGroup(n);case"math":case"text":return this.parseArgumentGroup(n,e);case"hbox":var r=this.parseArgumentGroup(n,"text");return null!=r?{type:"styling",mode:r.mode,body:[r],style:"text"}:null;case"raw":var i=this.parseStringGroup("raw",n);return null!=i?{type:"raw",mode:"text",string:i.text}:null;case"primitive":if(n)throw new a("A primitive argument cannot be optional");var s=this.parseGroup(t);if(null==s)throw new a("Expected group as "+t,this.fetch());return s;case"original":case null:case void 0:return this.parseArgumentGroup(n);default:throw new a("Unknown group type as "+t,this.fetch())}}consumeSpaces(){for(;" "===this.fetch().text;)this.consume()}parseStringGroup(t,e){var n=this.gullet.scanArgument(e);if(null==n)return null;for(var r,i="";"EOF"!==(r=this.fetch()).text;)i+=r.text,this.consume();return this.consume(),n.text=i,n}parseRegexGroup(t,e){for(var n,r=this.fetch(),i=r,s="";"EOF"!==(n=this.fetch()).text&&t.test(s+n.text);)s+=(i=n).text,this.consume();if(""===s)throw new a("Invalid "+e+": '"+r.text+"'",r);return r.range(i,s)}parseColorGroup(t){var e=this.parseStringGroup("color",t);if(null==e)return null;var n=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!n)throw new a("Invalid color: '"+e.text+"'",e);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r="#"+r),{type:"color-token",mode:this.mode,color:r}}parseSizeGroup(t){var e,n=!1;if(this.gullet.consumeSpaces(),!(e=t||"{"===this.gullet.future().text?this.parseStringGroup("size",t):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;t||0!==e.text.length||(e.text="0pt",n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);if(!r)throw new a("Invalid size: '"+e.text+"'",e);var i={number:+(r[1]+r[2]),unit:r[3]};if(!G(i))throw new a("Invalid unit: '"+i.unit+"'",e);return{type:"size",mode:this.mode,value:i,isBlank:n}}parseUrlGroup(t){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var e=this.parseStringGroup("url",t);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),null==e)return null;var n=e.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:n}}parseArgumentGroup(t,e){var n=this.gullet.scanArgument(t);if(null==n)return null;var r=this.mode;e&&this.switchMode(e),this.gullet.beginGroup();var i=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var a={type:"ordgroup",mode:this.mode,loc:n.loc,body:i};return e&&this.switchMode(r),a}parseGroup(t,e){var n,i=this.fetch(),s=i.text;if("{"===s||"\\begingroup"===s){this.consume();var o="{"===s?"}":"\\endgroup";this.gullet.beginGroup();var l=this.parseExpression(!1,o),c=this.fetch();this.expect(o),this.gullet.endGroup(),n={type:"ordgroup",mode:this.mode,loc:r.range(i,c),body:l,semisimple:"\\begingroup"===s||void 0}}else if(null==(n=this.parseFunction(e,t)||this.parseSymbol())&&"\\"===s[0]&&!Gr.hasOwnProperty(s)){if(this.settings.throwOnError)throw new a("Undefined control sequence: "+s,i);n=this.formatUnsupportedCmd(s),this.consume()}return n}formLigatures(t){for(var e=t.length-1,n=0;n<e;++n){var i=t[n],a=i.text;"-"===a&&"-"===t[n+1].text&&(n+1<e&&"-"===t[n+2].text?(t.splice(n,3,{type:"textord",mode:"text",loc:r.range(i,t[n+2]),text:"---"}),e-=2):(t.splice(n,2,{type:"textord",mode:"text",loc:r.range(i,t[n+1]),text:"--"}),e-=1)),"'"!==a&&"`"!==a||t[n+1].text!==a||(t.splice(n,2,{type:"textord",mode:"text",loc:r.range(i,t[n+1]),text:a+a}),e-=1)}}parseSymbol(){var t=this.fetch(),e=t.text;if(/^\\verb[^a-zA-Z]/.test(e)){this.consume();var n=e.slice(5),i="*"===n.charAt(0);if(i&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new a("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:n=n.slice(1,-1),star:i}}Xr.hasOwnProperty(e[0])&&!ht[this.mode][e[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+e[0]+'" used in math mode',t),e=Xr[e[0]]+e.slice(1));var s,o=Dr.exec(e);if(o&&("i"===(e=e.substring(0,o.index))?e="ı":"j"===e&&(e="ȷ")),ht[this.mode][e]){this.settings.strict&&"math"===this.mode&&"ÐÞþ".indexOf(e)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var l,c=ht[this.mode][e].group,h=r.range(t);if(lt.hasOwnProperty(c)){var u=c;l={type:"atom",mode:this.mode,family:u,loc:h,text:e}}else l={type:c,mode:this.mode,loc:h,text:e};s=l}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(N(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),s={type:"textord",mode:"text",loc:r.range(t),text:e}}if(this.consume(),o)for(var d=0;d<o[0].length;d++){var p=o[0][d];if(!Hr[p])throw new a("Unknown accent ' "+p+"'",t);var g=Hr[p][this.mode]||Hr[p].text;if(!g)throw new a("Accent "+p+" unsupported in "+this.mode+" mode",t);s={type:"accent",mode:this.mode,loc:r.range(t),label:g,isStretchy:!1,isShifty:!0,base:s}}return s}}Kr.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Qr=function(t,e){if(!("string"==typeof t||t instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var n=new Kr(t,e);delete n.gullet.macros.current["\\df@tag"];var r=n.parse();if(delete n.gullet.macros.current["\\current@color"],delete n.gullet.macros.current["\\color"],n.gullet.macros.get("\\df@tag")){if(!e.displayMode)throw new a("\\tag works only in display equations");r=[{type:"tag",mode:"text",body:r,tag:n.subparse([new i("\\df@tag")])}]}return r},Jr=function(t,e,n){e.textContent="";var r=ei(t,n).toNode();e.appendChild(r)};"undefined"!=typeof document&&"CSS1Compat"!==document.compatMode&&("undefined"!=typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Jr=function(){throw new a("KaTeX doesn't work in quirks mode.")});var ti=function(t,e,n){if(n.throwOnError||!(t instanceof a))throw t;var r=te.makeSpan(["katex-error"],[new rt(e)]);return r.setAttribute("title",t.toString()),r.setAttribute("style","color:"+n.errorColor),r},ei=function(t,e){var n=new x(e);try{return function(t,e,n){var r,i=Fe(n);if("mathml"===n.output)return Be(t,e,i,n.displayMode,!0);if("html"===n.output){var a=Se(t,i);r=te.makeSpan(["katex"],[a])}else{var s=Be(t,e,i,n.displayMode,!1),o=Se(t,i);r=te.makeSpan(["katex"],[s,o])}return We(r,n)}(Qr(t,n),t,n)}catch(e){return ti(e,t,n)}},ni={version:"0.16.22",render:Jr,renderToString:function(t,e){return ei(t,e).toMarkup()},ParseError:a,SETTINGS_SCHEMA:y,__parse:function(t,e){var n=new x(e);return Qr(t,n)},__renderToDomTree:ei,__renderToHTMLTree:function(t,e){var n=new x(e);try{return function(t,e,n){var r=Se(t,Fe(n)),i=te.makeSpan(["katex"],[r]);return We(i,n)}(Qr(t,n),0,n)}catch(e){return ti(e,t,n)}},__setFontMetrics:function(t,e){D[t]=e},__defineSymbol:ut,__defineFunction:ce,__defineMacro:Yn,__domTree:{Span:J,Anchor:tt,SymbolNode:rt,SvgNode:it,PathNode:at,LineNode:st}}},6883:(t,e,n)=>{"use strict";var r;n.d(e,{c:()=>a,o:()=>i}),(()=>{var t={470:t=>{function e(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function n(t,e){for(var n,r="",i=0,a=-1,s=0,o=0;o<=t.length;++o){if(o<t.length)n=t.charCodeAt(o);else{if(47===n)break;n=47}if(47===n){if(a===o-1||1===s);else if(a!==o-1&&2===s){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),a=o,s=0;continue}}else if(2===r.length||1===r.length){r="",i=0,a=o,s=0;continue}e&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+t.slice(a+1,o):r=t.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===n&&-1!==s?++s:s=-1}return r}var r={resolve:function(){for(var t,r="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=process.cwd()),s=t),e(s),0!==s.length&&(r=s+"/"+r,i=47===s.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(t){if(e(t),0===t.length)return".";var r=47===t.charCodeAt(0),i=47===t.charCodeAt(t.length-1);return 0!==(t=n(t,!r)).length||r||(t="."),t.length>0&&i&&(t+="/"),r?"/"+t:t},isAbsolute:function(t){return e(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,n=0;n<arguments.length;++n){var i=arguments[n];e(i),i.length>0&&(void 0===t?t=i:t+="/"+i)}return void 0===t?".":r.normalize(t)},relative:function(t,n){if(e(t),e(n),t===n)return"";if((t=r.resolve(t))===(n=r.resolve(n)))return"";for(var i=1;i<t.length&&47===t.charCodeAt(i);++i);for(var a=t.length,s=a-i,o=1;o<n.length&&47===n.charCodeAt(o);++o);for(var l=n.length-o,c=s<l?s:l,h=-1,u=0;u<=c;++u){if(u===c){if(l>c){if(47===n.charCodeAt(o+u))return n.slice(o+u+1);if(0===u)return n.slice(o+u)}else s>c&&(47===t.charCodeAt(i+u)?h=u:0===u&&(h=0));break}var d=t.charCodeAt(i+u);if(d!==n.charCodeAt(o+u))break;47===d&&(h=u)}var p="";for(u=i+h+1;u<=a;++u)u!==a&&47!==t.charCodeAt(u)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(o+h):(o+=h,47===n.charCodeAt(o)&&++o,n.slice(o))},_makeLong:function(t){return t},dirname:function(t){if(e(t),0===t.length)return".";for(var n=t.charCodeAt(0),r=47===n,i=-1,a=!0,s=t.length-1;s>=1;--s)if(47===(n=t.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return-1===i?r?"/":".":r&&1===i?"//":t.slice(0,i)},basename:function(t,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');e(t);var r,i=0,a=-1,s=!0;if(void 0!==n&&n.length>0&&n.length<=t.length){if(n.length===t.length&&n===t)return"";var o=n.length-1,l=-1;for(r=t.length-1;r>=0;--r){var c=t.charCodeAt(r);if(47===c){if(!s){i=r+1;break}}else-1===l&&(s=!1,l=r+1),o>=0&&(c===n.charCodeAt(o)?-1==--o&&(a=r):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=t.length),t.slice(i,a)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!s){i=r+1;break}}else-1===a&&(s=!1,a=r+1);return-1===a?"":t.slice(i,a)},extname:function(t){e(t);for(var n=-1,r=0,i=-1,a=!0,s=0,o=t.length-1;o>=0;--o){var l=t.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===n?n=o:1!==s&&(s=1):-1!==n&&(s=-1);else if(!a){r=o+1;break}}return-1===n||-1===i||0===s||1===s&&n===i-1&&n===r+1?"":t.slice(n,i)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var n=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+r:n+"/"+r:r}(0,t)},parse:function(t){e(t);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return n;var r,i=t.charCodeAt(0),a=47===i;a?(n.root="/",r=1):r=0;for(var s=-1,o=0,l=-1,c=!0,h=t.length-1,u=0;h>=r;--h)if(47!==(i=t.charCodeAt(h)))-1===l&&(c=!1,l=h+1),46===i?-1===s?s=h:1!==u&&(u=1):-1!==s&&(u=-1);else if(!c){o=h+1;break}return-1===s||-1===l||0===u||1===u&&s===l-1&&s===o+1?-1!==l&&(n.base=n.name=0===o&&a?t.slice(1,l):t.slice(o,l)):(0===o&&a?(n.name=t.slice(1,s),n.base=t.slice(1,l)):(n.name=t.slice(o,s),n.base=t.slice(o,l)),n.ext=t.slice(s,l)),o>0?n.dir=t.slice(0,o-1):a&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,t.exports=r}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{let t;if(n.r(i),n.d(i,{URI:()=>h,Utils:()=>_}),"object"==typeof process)t="win32"===process.platform;else if("object"==typeof navigator){let e=navigator.userAgent;t=e.indexOf("Windows")>=0}const e=/^\w[\w\d+.-]*$/,r=/^\//,a=/^\/\//;function s(t,n){if(!t.scheme&&n)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!e.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!r.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const o="",l="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(t){return t instanceof h||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}scheme;authority;path;query;fragment;constructor(t,e,n,r,i,a=!1){"object"==typeof t?(this.scheme=t.scheme||o,this.authority=t.authority||o,this.path=t.path||o,this.query=t.query||o,this.fragment=t.fragment||o):(this.scheme=function(t,e){return t||e?t:"file"}(t,a),this.authority=e||o,this.path=function(t,e){switch(t){case"https":case"http":case"file":e?e[0]!==l&&(e=l+e):e=l}return e}(this.scheme,n||o),this.query=r||o,this.fragment=i||o,s(this,a))}get fsPath(){return m(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:n,path:r,query:i,fragment:a}=t;return void 0===e?e=this.scheme:null===e&&(e=o),void 0===n?n=this.authority:null===n&&(n=o),void 0===r?r=this.path:null===r&&(r=o),void 0===i?i=this.query:null===i&&(i=o),void 0===a?a=this.fragment:null===a&&(a=o),e===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&a===this.fragment?this:new d(e,n,r,i,a)}static parse(t,e=!1){const n=c.exec(t);return n?new d(n[2]||o,b(n[4]||o),b(n[5]||o),b(n[7]||o),b(n[9]||o),e):new d(o,o,o,o,o)}static file(e){let n=o;if(t&&(e=e.replace(/\\/g,l)),e[0]===l&&e[1]===l){const t=e.indexOf(l,2);-1===t?(n=e.substring(2),e=l):(n=e.substring(2,t),e=e.substring(t)||l)}return new d("file",n,e,o,o)}static from(t){const e=new d(t.scheme,t.authority,t.path,t.query,t.fragment);return s(e,!0),e}toString(t=!1){return y(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof h)return t;{const e=new d(t);return e._formatted=t.external,e._fsPath=t._sep===u?t.fsPath:null,e}}return t}}const u=t?1:void 0;class d extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=m(this,!1)),this._fsPath}toString(t=!1){return t?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=u),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const p={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function g(t,e,n){let r,i=-1;for(let a=0;a<t.length;a++){const s=t.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||e&&47===s||n&&91===s||n&&93===s||n&&58===s)-1!==i&&(r+=encodeURIComponent(t.substring(i,a)),i=-1),void 0!==r&&(r+=t.charAt(a));else{void 0===r&&(r=t.substr(0,a));const e=p[s];void 0!==e?(-1!==i&&(r+=encodeURIComponent(t.substring(i,a)),i=-1),r+=e):-1===i&&(i=a)}}return-1!==i&&(r+=encodeURIComponent(t.substring(i))),void 0!==r?r:t}function f(t){let e;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);35===r||63===r?(void 0===e&&(e=t.substr(0,n)),e+=p[r]):void 0!==e&&(e+=t[n])}return void 0!==e?e:t}function m(e,n){let r;return r=e.authority&&e.path.length>1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?n?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,t&&(r=r.replace(/\//g,"\\")),r}function y(t,e){const n=e?f:g;let r="",{scheme:i,authority:a,path:s,query:o,fragment:c}=t;if(i&&(r+=i,r+=":"),(a||"file"===i)&&(r+=l,r+=l),a){let t=a.indexOf("@");if(-1!==t){const e=a.substr(0,t);a=a.substr(t+1),t=e.lastIndexOf(":"),-1===t?r+=n(e,!1,!1):(r+=n(e.substr(0,t),!1,!1),r+=":",r+=n(e.substr(t+1),!1,!0)),r+="@"}a=a.toLowerCase(),t=a.lastIndexOf(":"),-1===t?r+=n(a,!1,!0):(r+=n(a.substr(0,t),!1,!0),r+=a.substr(t))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){const t=s.charCodeAt(1);t>=65&&t<=90&&(s=`/${String.fromCharCode(t+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){const t=s.charCodeAt(0);t>=65&&t<=90&&(s=`${String.fromCharCode(t+32)}:${s.substr(2)}`)}r+=n(s,!0,!1)}return o&&(r+="?",r+=n(o,!1,!1)),c&&(r+="#",r+=e?c:g(c,!1,!1)),r}function v(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+v(t.substr(3)):t}}const x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function b(t){return t.match(x)?t.replace(x,(t=>v(t))):t}var w=n(470);const k=w.posix||w,T="/";var _;!function(t){t.joinPath=function(t,...e){return t.with({path:k.join(t.path,...e)})},t.resolvePath=function(t,...e){let n=t.path,r=!1;n[0]!==T&&(n=T+n,r=!0);let i=k.resolve(n,...e);return r&&i[0]===T&&!t.authority&&(i=i.substring(1)),t.with({path:i})},t.dirname=function(t){if(0===t.path.length||t.path===T)return t;let e=k.dirname(t.path);return 1===e.length&&46===e.charCodeAt(0)&&(e=""),t.with({path:e})},t.basename=function(t){return k.basename(t.path)},t.extname=function(t){return k.extname(t.path)}}(_||(_={}))})(),r=i})();const{URI:i,Utils:a}=r}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var a=e[r]={exports:{}};return t[r].call(a.exports,a,a.exports,n),a.exports}n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{default:()=>Ue});var t=n(9241),e=n(8337),i=(n(1566),n(5179),n(3583),n(1426),n(6241)),a=(n(214),n(7946)),s=n(2926),o=n(5430),l=n(4082),c=n(8464),h=n(3108),u="comm",d="rule",p="decl",g=Math.abs,f=String.fromCharCode;function m(t){return t.trim()}function y(t,e,n){return t.replace(e,n)}function v(t,e,n){return t.indexOf(e,n)}function x(t,e){return 0|t.charCodeAt(e)}function b(t,e,n){return t.slice(e,n)}function w(t){return t.length}function k(t,e){return e.push(t),t}function T(t,e){for(var n="",r=0;r<t.length;r++)n+=e(t[r],r,t,e)||"";return n}function _(t,e,n,r){switch(t.type){case"@layer":if(t.children.length)break;case"@import":case"@namespace":case p:return t.return=t.return||t.value;case u:return"";case"@keyframes":return t.return=t.value+"{"+T(t.children,r)+"}";case d:if(!w(t.value=t.props.join(",")))return""}return w(n=T(t.children,r))?t.return=t.value+"{"+n+"}":""}Object.assign;var E=1,S=1,C=0,A=0,L=0,M="";function N(t,e,n,r,i,a,s,o){return{value:t,root:e,parent:n,type:r,props:i,children:a,line:E,column:S,length:s,return:"",siblings:o}}function I(){return L=A>0?x(M,--A):0,S--,10===L&&(S=1,E--),L}function R(){return L=A<C?x(M,A++):0,S++,10===L&&(S=1,E++),L}function D(){return x(M,A)}function O(){return A}function P(t,e){return b(M,t,e)}function $(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function B(t){return m(P(A-1,z(91===t?t+2:40===t?t+1:t)))}function F(t){for(;(L=D())&&L<33;)R();return $(t)>2||$(L)>3?"":" "}function W(t,e){for(;--e&&R()&&!(L<48||L>102||L>57&&L<65||L>70&&L<97););return P(t,O()+(e<6&&32==D()&&32==R()))}function z(t){for(;R();)switch(L){case t:return A;case 34:case 39:34!==t&&39!==t&&z(L);break;case 40:41===t&&z(t);break;case 92:R()}return A}function Z(t,e){for(;R()&&t+L!==57&&(t+L!==84||47!==D()););return"/*"+P(e,A-1)+"*"+f(47===t?t:R())}function Y(t){for(;!$(D());)R();return P(t,A)}function U(t){return function(t){return M="",t}(G("",null,null,null,[""],t=function(t){return E=S=1,C=w(M=t),A=0,[]}(t),0,[0],t))}function G(t,e,n,r,i,a,s,o,l){for(var c=0,h=0,u=s,d=0,p=0,m=0,T=1,_=1,E=1,S=0,C="",A=i,L=a,M=r,N=C;_;)switch(m=S,S=R()){case 40:if(108!=m&&58==x(N,u-1)){-1!=v(N+=y(B(S),"&","&\f"),"&\f",g(c?o[c-1]:0))&&(E=-1);break}case 34:case 39:case 91:N+=B(S);break;case 9:case 10:case 13:case 32:N+=F(m);break;case 92:N+=W(O()-1,7);continue;case 47:switch(D()){case 42:case 47:k(q(Z(R(),O()),e,n,l),l),5!=$(m||1)&&5!=$(D()||1)||!w(N)||" "===b(N,-1,void 0)||(N+=" ");break;default:N+="/"}break;case 123*T:o[c++]=w(N)*E;case 125*T:case 59:case 0:switch(S){case 0:case 125:_=0;case 59+h:-1==E&&(N=y(N,/\f/g,"")),p>0&&(w(N)-u||0===T&&47===m)&&k(p>32?j(N+";",r,n,u-1,l):j(y(N," ","")+";",r,n,u-2,l),l);break;case 59:N+=";";default:if(k(M=V(N,e,n,c,h,i,o,C,A=[],L=[],u,a),a),123===S)if(0===h)G(N,e,M,M,A,a,u,o,L);else{switch(d){case 99:if(110===x(N,3))break;case 108:if(97===x(N,2))break;default:h=0;case 100:case 109:case 115:}h?G(t,M,M,r&&k(V(t,M,M,0,0,i,o,C,i,A=[],u,L),L),i,L,u,o,r?A:L):G(N,M,M,M,[""],L,0,o,L)}}c=h=p=0,T=E=1,C=N="",u=s;break;case 58:u=1+w(N),p=m;default:if(T<1)if(123==S)--T;else if(125==S&&0==T++&&125==I())continue;switch(N+=f(S),S*T){case 38:E=h>0?1:(N+="\f",-1);break;case 44:o[c++]=(w(N)-1)*E,E=1;break;case 64:45===D()&&(N+=B(R())),d=D(),h=u=w(C=N+=Y(O())),S++;break;case 45:45===m&&2==w(N)&&(T=0)}}return a}function V(t,e,n,r,i,a,s,o,l,c,h,u){for(var p=i-1,f=0===i?a:[""],v=function(t){return t.length}(f),x=0,w=0,k=0;x<r;++x)for(var T=0,_=b(t,p+1,p=g(w=s[x])),E=t;T<v;++T)(E=m(w>0?f[T]+" "+_:y(_,/&\f/g,f[T])))&&(l[k++]=E);return N(t,e,n,0===i?d:o,l,c,h,u)}function q(t,e,n,r){return N(t,e,n,u,f(L),b(t,2,-2),0,r)}function j(t,e,n,r,i){return N(t,e,n,p,b(t,0,r),b(t,r+1,-1),r,i)}var H=n(2424),X=n(9697),K={id:"c4",detector:(0,l.eW)((t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,8931));return{id:"c4",diagram:t}}),"loader")},Q="flowchart",J={id:Q,detector:(0,l.eW)(((t,e)=>"dagre-wrapper"!==e?.flowchart?.defaultRenderer&&"elk"!==e?.flowchart?.defaultRenderer&&/^\s*graph/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9389));return{id:Q,diagram:t}}),"loader")},tt="flowchart-v2",et={id:tt,detector:(0,l.eW)(((t,e)=>"dagre-d3"!==e?.flowchart?.defaultRenderer&&("elk"===e?.flowchart?.defaultRenderer&&(e.layout="elk"),!(!/^\s*graph/.test(t)||"dagre-wrapper"!==e?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(t))),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9389));return{id:tt,diagram:t}}),"loader")},nt={id:"er",detector:(0,l.eW)((t=>/^\s*erDiagram/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9640));return{id:"er",diagram:t}}),"loader")},rt="gitGraph",it={id:rt,detector:(0,l.eW)((t=>/^\s*gitGraph/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,4290));return{id:rt,diagram:t}}),"loader")},at="gantt",st={id:at,detector:(0,l.eW)((t=>/^\s*gantt/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,4748));return{id:at,diagram:t}}),"loader")},ot="info",lt={id:ot,detector:(0,l.eW)((t=>/^\s*info/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,3997));return{id:ot,diagram:t}}),"loader")},ct={id:"pie",detector:(0,l.eW)((t=>/^\s*pie/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,8661));return{id:"pie",diagram:t}}),"loader")},ht="quadrantChart",ut={id:ht,detector:(0,l.eW)((t=>/^\s*quadrantChart/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,3661));return{id:ht,diagram:t}}),"loader")},dt="xychart",pt={id:dt,detector:(0,l.eW)((t=>/^\s*xychart-beta/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,5587));return{id:dt,diagram:t}}),"loader")},gt="requirement",ft={id:gt,detector:(0,l.eW)((t=>/^\s*requirement(Diagram)?/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9816));return{id:gt,diagram:t}}),"loader")},mt="sequence",yt={id:mt,detector:(0,l.eW)((t=>/^\s*sequenceDiagram/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,4438));return{id:mt,diagram:t}}),"loader")},vt="class",xt={id:vt,detector:(0,l.eW)(((t,e)=>"dagre-wrapper"!==e?.class?.defaultRenderer&&/^\s*classDiagram/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,5635));return{id:vt,diagram:t}}),"loader")},bt="classDiagram",wt={id:bt,detector:(0,l.eW)(((t,e)=>!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==e?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9876));return{id:bt,diagram:t}}),"loader")},kt="state",Tt={id:kt,detector:(0,l.eW)(((t,e)=>"dagre-wrapper"!==e?.state?.defaultRenderer&&/^\s*stateDiagram/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,952));return{id:kt,diagram:t}}),"loader")},_t="stateDiagram",Et={id:_t,detector:(0,l.eW)(((t,e)=>!!/^\s*stateDiagram-v2/.test(t)||!(!/^\s*stateDiagram/.test(t)||"dagre-wrapper"!==e?.state?.defaultRenderer)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,8710));return{id:_t,diagram:t}}),"loader")},St="journey",Ct={id:St,detector:(0,l.eW)((t=>/^\s*journey/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,8891));return{id:St,diagram:t}}),"loader")},At={draw:(0,l.eW)(((t,e,n)=>{l.cM.debug("rendering svg for syntax error\n");const r=(0,o.P)(e),i=r.append("g");r.attr("viewBox","0 0 2412 512"),(0,l.v2)(r,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${n}`)}),"draw")},Lt=At,Mt={db:{},renderer:At,parser:{parse:(0,l.eW)((()=>{}),"parse")}},Nt="flowchart-elk",It={id:Nt,detector:(0,l.eW)(((t,e={})=>!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===e?.flowchart?.defaultRenderer)&&(e.layout="elk",!0)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9389));return{id:Nt,diagram:t}}),"loader")},Rt="timeline",Dt={id:Rt,detector:(0,l.eW)((t=>/^\s*timeline/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,2270));return{id:Rt,diagram:t}}),"loader")},Ot="mindmap",Pt={id:Ot,detector:(0,l.eW)((t=>/^\s*mindmap/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,9002));return{id:Ot,diagram:t}}),"loader")},$t="kanban",Bt={id:$t,detector:(0,l.eW)((t=>/^\s*kanban/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,7744));return{id:$t,diagram:t}}),"loader")},Ft="sankey",Wt={id:Ft,detector:(0,l.eW)((t=>/^\s*sankey-beta/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,7096));return{id:Ft,diagram:t}}),"loader")},zt="packet",Zt={id:zt,detector:(0,l.eW)((t=>/^\s*packet-beta/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,4628));return{id:zt,diagram:t}}),"loader")},Yt="radar",Ut={id:Yt,detector:(0,l.eW)((t=>/^\s*radar-beta/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,6672));return{id:Yt,diagram:t}}),"loader")},Gt="block",Vt={id:Gt,detector:(0,l.eW)((t=>/^\s*block-beta/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,7724));return{id:Gt,diagram:t}}),"loader")},qt="architecture",jt={id:qt,detector:(0,l.eW)((t=>/^\s*architecture/.test(t)),"detector"),loader:(0,l.eW)((async()=>{const{diagram:t}=await Promise.resolve().then(n.bind(n,8545));return{id:qt,diagram:t}}),"loader")},Ht=!1,Xt=(0,l.eW)((()=>{Ht||(Ht=!0,(0,l.Cq)("error",Mt,(t=>"error"===t.toLowerCase().trim())),(0,l.Cq)("---",{db:{clear:(0,l.eW)((()=>{}),"clear")},styles:{},renderer:{draw:(0,l.eW)((()=>{}),"draw")},parser:{parse:(0,l.eW)((()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}),"parse")},init:(0,l.eW)((()=>null),"init")},(t=>t.toLowerCase().trimStart().startsWith("---"))),(0,l.KO)(K,Bt,wt,xt,nt,st,lt,ct,ft,yt,It,et,J,Pt,Dt,it,Et,Tt,Ct,ut,Wt,Zt,pt,Vt,jt,Ut))}),"addDiagrams"),Kt=(0,l.eW)((async()=>{l.cM.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(l.Bf).map((async([t,{detector:e,loader:n}])=>{if(n)try{(0,l._7)(t)}catch{try{const{diagram:t,id:r}=await n();(0,l.Cq)(r,t,e)}catch(e){throw l.cM.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete l.Bf[t],e}}})))).filter((t=>"rejected"===t.status));if(t.length>0){l.cM.error(`Failed to load ${t.length} external diagrams`);for(const e of t)l.cM.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}}),"loadRegisteredDiagrams"),Qt="graphics-document document";function Jt(t,e){t.attr("role",Qt),""!==e&&t.attr("aria-roledescription",e)}function te(t,e,n,r){if(void 0!==t.insert){if(n){const e=`chart-desc-${r}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(n)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}(0,l.eW)(Jt,"setA11yDiagramInfo"),(0,l.eW)(te,"addSVGa11yTitleDescription");var ee=class t{constructor(t,e,n,r,i){this.type=t,this.text=e,this.db=n,this.parser=r,this.renderer=i}static{(0,l.eW)(this,"Diagram")}static async fromText(e,n={}){const r=(0,l.iE)(),i=(0,l.Vg)(e,r);e=(0,a.Vy)(e)+"\n";try{(0,l._7)(i)}catch{const t=(0,l.cq)(i);if(!t)throw new l.cj(`Diagram ${i} not found.`);const{id:e,diagram:n}=await t();(0,l.Cq)(e,n)}const{db:s,parser:o,renderer:c,init:h}=(0,l._7)(i);return o.parser&&(o.parser.yy=s),s.clear?.(),h?.(r),n.title&&s.setDiagramTitle?.(n.title),await o.parse(e),new t(i,e,s,o,c)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}},ne=[],re=(0,l.eW)((()=>{ne.forEach((t=>{t()})),ne=[]}),"attachFunctions"),ie=(0,l.eW)((t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart()),"cleanupComments");function ae(e){const n=e.match(l.M6);if(!n)return{text:e,metadata:{}};let r=(0,t.z)(n[1],{schema:t.A})??{};r="object"!=typeof r||Array.isArray(r)?{}:r;const i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:e.slice(n[0].length),metadata:i}}(0,l.eW)(ae,"extractFrontMatter");var se=(0,l.eW)((t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,n)=>"<"+e+n.replace(/="([^"]*)"/g,"='$1'")+">"))),"cleanupText"),oe=(0,l.eW)((t=>{const{text:e,metadata:n}=ae(t),{displayMode:r,title:i,config:a={}}=n;return r&&(a.gantt||(a.gantt={}),a.gantt.displayMode=r),{title:i,config:a,text:e}}),"processFrontmatter"),le=(0,l.eW)((t=>{const e=a.w8.detectInit(t)??{},n=a.w8.detectDirective(t,"wrap");return Array.isArray(n)?e.wrap=n.some((({type:t})=>"wrap"===t)):"wrap"===n?.type&&(e.wrap=!0),{text:(0,a.tf)(t),directive:e}}),"processDirectives");function ce(t){const e=se(t),n=oe(e),r=le(n.text),i=(0,a.Rb)(n.config,r.directive);return{code:t=ie(r.text),title:n.title,config:i}}function he(t){const e=(new TextEncoder).encode(t),n=Array.from(e,(t=>String.fromCodePoint(t))).join("");return btoa(n)}(0,l.eW)(ce,"preprocessDiagram"),(0,l.eW)(he,"toBase64");var ue=["foreignobject"],de=["dominant-baseline"];function pe(t){const e=ce(t);return(0,l.mc)(),(0,l.XV)(e.config??{}),e}async function ge(t,e){Xt();try{const{code:e,config:n}=pe(t);return{diagramType:(await Ee(e)).type,config:n}}catch(t){if(e?.suppressErrors)return!1;throw t}}(0,l.eW)(pe,"processAndSetConfigs"),(0,l.eW)(ge,"parse");var fe=(0,l.eW)(((t,e,n=[])=>`\n.${t} ${e} { ${n.join(" !important; ")} !important; }`),"cssImportantStyles"),me=(0,l.eW)(((t,e=new Map)=>{let n="";if(void 0!==t.themeCSS&&(n+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(n+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(n+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const r=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach((t=>{(0,X.Z)(t.styles)||r.forEach((e=>{n+=fe(t.id,e,t.styles)})),(0,X.Z)(t.textStyles)||(n+=fe(t.id,"tspan",(t?.textStyles||[]).map((t=>t.replace("color","fill")))))}))}return n}),"createCssStyles"),ye=(0,l.eW)(((t,e,n,r)=>{const i=me(t,n);return T(U(`${r}{${(0,l.Ee)(e,i,t.themeVariables)}}`),_)}),"createUserStyles"),ve=(0,l.eW)(((t="",e,n)=>{let r=t;return n||e||(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=(0,a.SH)(r),r=r.replace(/<br>/g,"<br/>"),r}),"cleanUpSvgCode"),xe=(0,l.eW)(((t="",e)=>`<iframe style="width:100%;height:${e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${he(`<body style="margin:0">${t}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups">\n The "iframe" tag is not supported by your browser.\n</iframe>`),"putIntoIFrame"),be=(0,l.eW)(((t,e,n,r,i)=>{const a=t.append("div");a.attr("id",n),r&&a.attr("style",r);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return i&&s.attr("xmlns:xlink",i),s.append("g"),t}),"appendDivSvgG");function we(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,l.eW)(we,"sandboxedIframe");var ke=(0,l.eW)(((t,e,n,r)=>{t.getElementById(e)?.remove(),t.getElementById(n)?.remove(),t.getElementById(r)?.remove()}),"removeExistingElements"),Te=(0,l.eW)((async function(t,e,n){Xt();const r=pe(e);e=r.code;const i=(0,l.iE)();l.cM.debug(i),e.length>(i?.maxTextSize??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const a="#"+t,o="i"+t,c="#"+o,u="d"+t,d="#"+u,p=(0,l.eW)((()=>{const t=f?c:d,e=(0,h.Ys)(t).node();e&&"remove"in e&&e.remove()}),"removeTempElements");let g=(0,h.Ys)("body");const f="sandbox"===i.securityLevel,m="loose"===i.securityLevel,y=i.fontFamily;if(void 0!==n){if(n&&(n.innerHTML=""),f){const t=we((0,h.Ys)(n),o);g=(0,h.Ys)(t.nodes()[0].contentDocument.body),g.node().style.margin=0}else g=(0,h.Ys)(n);be(g,t,u,`font-family: ${y}`,"http://www.w3.org/1999/xlink")}else{if(ke(document,t,u,o),f){const t=we((0,h.Ys)("body"),o);g=(0,h.Ys)(t.nodes()[0].contentDocument.body),g.node().style.margin=0}else g=(0,h.Ys)("body");be(g,t,u)}let v,x;try{v=await ee.fromText(e,{title:r.title})}catch(t){if(i.suppressErrorRendering)throw p(),t;v=await ee.fromText("error"),x=t}const b=g.select(d).node(),w=v.type,k=b.firstChild,T=k.firstChild,_=v.renderer.getClasses?.(e,v),E=ye(i,w,_,a),S=document.createElement("style");S.innerHTML=E,k.insertBefore(S,T);try{await v.renderer.draw(e,t,s.X.version,v)}catch(n){throw i.suppressErrorRendering?p():Lt.draw(e,t,s.X.version),n}const C=g.select(`${d} svg`),A=v.db.getAccTitle?.(),L=v.db.getAccDescription?.();Se(w,C,A,L),g.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let M=g.select(d).node().innerHTML;if(l.cM.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),M=ve(M,f,(0,l.ku)(i.arrowMarkerAbsolute)),f){const t=g.select(d+" svg").node();M=xe(M,t)}else m||(M=H.Z.sanitize(M,{ADD_TAGS:ue,ADD_ATTR:de,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(re(),x)throw x;return p(),{diagramType:w,svg:M,bindFunctions:v.db.bindFunctions}}),"render");function _e(t={}){const e=(0,l.Yc)({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),(0,l.dY)(e),e?.theme&&e.theme in l._j?e.themeVariables=l._j[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=l._j.default.getThemeVariables(e.themeVariables));const n="object"==typeof e?(0,l.Yn)(e):(0,l.ZD)();(0,l.Ub)(n.logLevel),Xt()}(0,l.eW)(_e,"initialize");var Ee=(0,l.eW)(((t,e={})=>{const{code:n}=ce(t);return ee.fromText(n,e)}),"getDiagramFromText");function Se(t,e,n,r){Jt(e,t),te(e,n,r,e.attr("id"))}(0,l.eW)(Se,"addA11yInfo");var Ce=Object.freeze({render:Te,parse:ge,getDiagramFromText:Ee,initialize:_e,getConfig:l.iE,setConfig:l.v6,getSiteConfig:l.ZD,updateSiteConfig:l.Tb,reset:(0,l.eW)((()=>{(0,l.mc)()}),"reset"),globalReset:(0,l.eW)((()=>{(0,l.mc)(l.u_)}),"globalReset"),defaultConfig:l.u_});(0,l.Ub)((0,l.iE)().logLevel),(0,l.mc)((0,l.iE)());var Ae=(0,l.eW)(((t,e,n)=>{l.cM.warn(t),(0,a.bZ)(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))}),"handleError"),Le=(0,l.eW)((async function(t={querySelector:".mermaid"}){try{await Me(t)}catch(e){if((0,a.bZ)(e)&&l.cM.error(e.str),ze.parseError&&ze.parseError(e),!t.suppressErrors)throw l.cM.error("Use the suppressErrors option to suppress these errors"),e}}),"run"),Me=(0,l.eW)((async function({postRenderCallback:t,querySelector:e,nodes:n}={querySelector:".mermaid"}){const r=Ce.getConfig();let i;if(l.cM.debug((t?"":"No ")+"Callback function found"),n)i=n;else{if(!e)throw new Error("Nodes and querySelector are both undefined");i=document.querySelectorAll(e)}l.cM.debug(`Found ${i.length} diagrams`),void 0!==r?.startOnLoad&&(l.cM.debug("Start On Load: "+r?.startOnLoad),Ce.updateSiteConfig({startOnLoad:r?.startOnLoad}));const s=new a.w8.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed);let o;const h=[];for(const e of Array.from(i)){if(l.cM.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");const n=`mermaid-${s.next()}`;o=e.innerHTML,o=(0,c.Z)(a.w8.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,"<br/>");const r=a.w8.detectInit(o);r&&l.cM.debug("Detected early reinit: ",r);try{const{svg:r,bindFunctions:i}=await We(n,o,e);e.innerHTML=r,t&&await t(n),i&&i(e)}catch(t){Ae(t,h,ze.parseError)}}if(h.length>0)throw h[0]}),"runThrowsErrors"),Ne=(0,l.eW)((function(t){Ce.initialize(t)}),"initialize"),Ie=(0,l.eW)((async function(t,e,n){l.cM.warn("mermaid.init is deprecated. Please use run instead."),t&&Ne(t);const r={postRenderCallback:n,querySelector:".mermaid"};"string"==typeof e?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await Le(r)}),"init"),Re=(0,l.eW)((async(t,{lazyLoad:e=!0}={})=>{Xt(),(0,l.KO)(...t),!1===e&&await Kt()}),"registerExternalDiagrams"),De=(0,l.eW)((function(){if(ze.startOnLoad){const{startOnLoad:t}=Ce.getConfig();t&&ze.run().catch((t=>l.cM.error("Mermaid failed to initialize",t)))}}),"contentLoaded");"undefined"!=typeof document&&window.addEventListener("load",De,!1);var Oe=(0,l.eW)((function(t){ze.parseError=t}),"setParseErrorHandler"),Pe=[],$e=!1,Be=(0,l.eW)((async()=>{if(!$e){for($e=!0;Pe.length>0;){const t=Pe.shift();if(t)try{await t()}catch(t){l.cM.error("Error executing queue",t)}}$e=!1}}),"executeQueue"),Fe=(0,l.eW)((async(t,e)=>new Promise(((n,r)=>{const i=(0,l.eW)((()=>new Promise(((i,a)=>{Ce.parse(t,e).then((t=>{i(t),n(t)}),(t=>{l.cM.error("Error parsing",t),ze.parseError?.(t),a(t),r(t)}))}))),"performCall");Pe.push(i),Be().catch(r)}))),"parse"),We=(0,l.eW)(((t,e,n)=>new Promise(((r,i)=>{const a=(0,l.eW)((()=>new Promise(((a,s)=>{Ce.render(t,e,n).then((t=>{a(t),r(t)}),(t=>{l.cM.error("Error parsing",t),ze.parseError?.(t),s(t),i(t)}))}))),"performCall");Pe.push(a),Be().catch(i)}))),"render"),ze={startOnLoad:!0,mermaidAPI:Ce,parse:Fe,render:We,init:Ie,run:Le,registerExternalDiagrams:Re,registerLayoutLoaders:e.jM,initialize:Ne,parseError:void 0,contentLoaded:De,setParseErrorHandler:Oe,detectType:l.Vg,registerIconPacks:i.ef},Ze=ze;function Ye(t){var e=t.querySelectorAll(".mermaid");Ze.init({},e),e.forEach((function(t){return t.classList.add("content-center")}))}const Ue={initMermaid:function(){Ye(document),document.querySelectorAll(".pluggable").forEach((function(t){return t.addEventListener("onPluginReady",(function(){Ye(t)}))}))}}})(),window.__DOCS_MERMAID__=r})();