@civilization/dsh-drawio 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,353 @@
1
+ var PlantUml=(()=>{var yc=Object.defineProperty;var vv=Object.getOwnPropertyDescriptor;var pv=Object.getOwnPropertyNames;var $v=Object.prototype.hasOwnProperty;var xh=(pr,q)=>{for(var Xr in q)yc(pr,Xr,{get:q[Xr],enumerable:!0})},gv=(pr,q,Xr,Tr)=>{if(q&&typeof q=="object"||typeof q=="function")for(let se of pv(q))!$v.call(pr,se)&&se!==Xr&&yc(pr,se,{get:()=>q[se],enumerable:!(Tr=vv(q,se))||Tr.enumerable});return pr};var Rv=pr=>gv(yc({},"__esModule",{value:!0}),pr);var mv={};xh(mv,{default:()=>Av});var Ec={};xh(Ec,{ActivityLegacyParser:()=>vd,ActivityParser:()=>Cd,ArchimateParser:()=>yd,C4Parser:()=>Ed,ClassParser:()=>pd,ComponentParser:()=>$d,GanttParser:()=>kd,JsonParser:()=>tf,MindmapParser:()=>Ad,NetworkParser:()=>bd,ObjectParser:()=>gd,PlantUml2Drawio:()=>dd,PlantUml2Png:()=>zh,PlantUml2Svg:()=>Gf,PlantUmlCellFactory:()=>of,PlantUmlFurniture:()=>Ba,PlantUmlLexer:()=>Hh,PlantUmlParser:()=>zl,PlantUmlPreprocessor:()=>Lf,PlantUmlSkinParam:()=>fd,PlantUmlStyleSheet:()=>kt,PlantUmlThemes:()=>ef,PlantUmlUnsupported:()=>Eu,PlantUmlWarnings:()=>vo,SaltParser:()=>Fd,SequenceParser:()=>cd,StateParser:()=>hd,TimingParser:()=>_d,UseCaseParser:()=>Rd,WbsParser:()=>md,YamlParser:()=>Od,mxPlantUmlToDrawio:()=>Kh});var Hh=(function(){function pr(q){this.input=q,this.pos=0,this.line=1,this.col=1,this.len=q.length}return pr.prototype.peek=function(q){return this.input[this.pos+(q||0)]||""},pr.prototype.peekStr=function(q){return this.input.substring(this.pos,this.pos+q)},pr.prototype.isEof=function(){return this.pos>=this.len},pr.prototype.advance=function(q){q=q||1;for(var Xr=0;Xr<q&&this.pos<this.len;Xr++)this.input[this.pos]===`
2
+ `?(this.line++,this.col=1):this.col++,this.pos++},pr.prototype.skipInlineWhitespace=function(){for(;this.pos<this.len;){var q=this.input[this.pos];if(q===" "||q===" ")this.pos++,this.col++;else break}},pr.prototype.skipWhitespace=function(){for(;this.pos<this.len;){var q=this.input[this.pos];if(q===" "||q===" "||q==="\r"||q===`
3
+ `)this.advance(1);else break}},pr.prototype.skipLineComment=function(){for(;this.pos<this.len&&this.input[this.pos]!==`
4
+ `;)this.pos++,this.col++},pr.prototype.skipBlockComment=function(){for(this.advance(2);this.pos<this.len-1;){if(this.input[this.pos]==="'"&&this.input[this.pos+1]==="/"){this.advance(2);return}this.advance(1)}this.pos=this.len},pr.prototype.skipWhitespaceAndComments=function(){for(;this.pos<this.len;){var q=this.input[this.pos];if(q===" "||q===" "||q==="\r"||q===`
5
+ `)this.advance(1);else if(q==="'")this.skipLineComment();else if(q==="/"&&this.input[this.pos+1]==="'")this.skipBlockComment();else break}},pr.prototype.readQuotedString=function(){var q=this.input[this.pos];if(q!=='"'&&q!=="'"&&q!=="`")return null;var Xr=this.pos+1,Tr="";for(this.advance(1);this.pos<this.len;){var se=this.input[this.pos];if(se==="\\"&&this.pos+1<this.len)Tr+=this.input[this.pos+1],this.advance(2);else{if(se===q)return this.advance(1),Tr;Tr+=se,this.advance(1)}}return Tr},pr.prototype.readLine=function(){for(var q=this.pos;this.pos<this.len&&this.input[this.pos]!==`
6
+ `;)this.pos++,this.col++;var Xr=this.input.substring(q,this.pos);return this.pos<this.len&&this.advance(1),Xr},pr.prototype.readIdentifier=function(){var q=this.input[this.pos];if(!(q>="a"&&q<="z"||q>="A"&&q<="Z"||q==="_"))return null;for(var Xr=this.pos;this.pos<this.len;){var Tr=this.input[this.pos];if(Tr>="a"&&Tr<="z"||Tr>="A"&&Tr<="Z"||Tr>="0"&&Tr<="9"||Tr==="_")this.pos++,this.col++;else break}return this.input.substring(Xr,this.pos)},{create:function(q){return new pr(q)}}})();var ef=(function(){var pr={},q={};q._none_={author:"The-Lum",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr._none_=[].join(`
7
+ `),q.amiga={author:"Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr.amiga=['!$THEME = "amiga"',"",'!$BLACK = "#000121"','!$BLUE = "#0B58A8"','!$ORANGE = "#FDA325"','!$RED = "#DB252B"','!$WHITE = "#FFFFFF"',"","!$BGCOLOR = $BLUE","!$FGCOLOR = $WHITE","","!ifndef $FONT_NAME",'!$FONT_NAME = "Verdana"',"!endif","","!ifndef $FONT_NAME_MONOSPACED",'!$FONT_NAME_MONOSPACED = "Courier"',"!endif","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","HyperLinkColor $ORANGE","LineColor $FGCOLOR","LineThickness 1","Margin 5","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","groupHeader {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","node {","MaximumWidth 300","}","referenceHeader {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","participant {","Margin 5 10","Padding 5 5","}","</style>","","skinparam ArrowLollipopColor $FGCOLOR","skinparam BackgroundColor $BGCOLOR","skinparam DefaultFontName $FONT_NAME","skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED","skinparam LifelineStrategy nosolid","skinparam SequenceLifeLineBorderColor $FGCOLOR","skinparam Shadowing false","skinparam UseBetaStyle true","","skinparam Activity {","BackgroundColor $BGCOLOR","BarColor $FGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Boundary {","FontColor $FGCOLOR","}","skinparam Box {","Padding 5","}","skinparam CircledCharacter {","FontColor $BGCOLOR","FontName $FONT_NAME_MONOSPACED","Radius 9","}","skinparam Class {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassAttribute {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassStereotype {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Footer {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Header {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Hyperlink {","Color $ORANGE","}","skinparam IconPackage {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPrivate {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconProtected {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPublic {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam Note {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Object {","BorderColor $FGCOLOR","}","skinparam Package {","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam State {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeA {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeC {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeE {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeI {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeN {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam UseCaseStereoType {","FontColor $FGCOLOR","FontName $FONT_NAME","}"].join(`
8
+ `),q["aws-orange"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["aws-orange"]=['!$PUML_THEME = "aws-orange"','!$THEME = "aws-orange"','!if %not(%variable_exists("$PUML_BGCOLOR"))','!$PUML_BGCOLOR = "transparent"',"!endif",'!if %not(%variable_exists("$PUML_GRADIENT"))',"!$PUML_GRADIENT = 20","!endif",'!if %not(%variable_exists("$PUML_MODE"))','!$PUML_MODE = "light"',"!endif",'!if %not(%variable_exists("$PUML_OUTLINE"))','!$PUML_OUTLINE = "false"',"!endif","skinparam BackgroundColor $PUML_BGCOLOR","skinparam useBetaStyle false",'!$WHITE = "#FFF"','!$GRAY_LIGHT = "#222"','!$GRAY = "#868e96"','!$PRIMARY = "#EC7211"','!$WARNING = "#EC7211"','!$LIGHT = "#abb6c2"','!$DARK = "#4E5D6C"','!if ($PUML_MODE == "light")','!$SECONDARY = "#eeeeee"','!$SECONDARY_LIGHT = "ffffff"','!$SUCCESS = "#1D8102"','!$INFO = "#0073bb"','!$DANGER = "#d13212"',"!$SECONDARY_TEXT = $DARK","!$FGCOLOR = $DARK","!$DIAMOND_BD = %darken($SECONDARY, $PUML_GRADIENT)","!assume transparent light","!else",'!$SECONDARY = "#2a2e33"',"!$SECONDARY_LIGHT = %lighten($SECONDARY, $PUML_GRADIENT)",'!$SUCCESS = "#6aaf35"','!$INFO = "#44b9d6"','!$DANGER = "#ff5d64"',"!$SECONDARY_TEXT = $WHITE","!$FGCOLOR = $WHITE","!$DIAMOND_BD = %lighten($SECONDARY, $PUML_GRADIENT)","!assume transparent dark","!endif","!$PRIMARY_DARK = %darken($PRIMARY, $PUML_GRADIENT)","!$PRIMARY_LIGHT = %lighten($PRIMARY, $PUML_GRADIENT)","!$SECONDARY_DARK = %darken($SECONDARY, $PUML_GRADIENT)","!$SUCCESS_DARK = %darken($SUCCESS, $PUML_GRADIENT)","!$SUCCESS_LIGHT = %lighten($SUCCESS, $PUML_GRADIENT)","!$INFO_DARK = %darken($INFO, $PUML_GRADIENT)","!$INFO_LIGHT = %lighten($INFO, $PUML_GRADIENT)","!$DANGER_DARK = %darken($DANGER, $PUML_GRADIENT)","!$DANGER_LIGHT = %lighten($DANGER, $PUML_GRADIENT)","!$WARNING_DARK = %darken($WARNING, $PUML_GRADIENT)","!$WARNING_LIGHT = %lighten($WARNING, $PUML_GRADIENT)","!$DARK_DARK = %darken($DARK, $PUML_GRADIENT)","!$DARK_LIGHT = %lighten($DARK, $PUML_GRADIENT)","!$LIGHT_DARK = %darken($LIGHT, $PUML_GRADIENT)","!$LIGHT_LIGHT = %lighten($LIGHT, $PUML_GRADIENT)","!$INFO_TEXT = $WHITE","!$SUCCESS_TEXT = $WHITE","!$WARNING_TEXT = $WHITE","!$DANGER_TEXT = $WHITE","!$PRIMARY_TEXT = $WHITE","!$HEADER_TEXT = $WHITE",'!if ($PUML_OUTLINE == "true")',"!$HEADER_TEXT = $PRIMARY_TEXT","!$PRIMARY_TEXT = $PRIMARY_LIGHT","!$INFO_TEXT = $INFO_LIGHT","!$WARNING_TEXT = $WARNING_LIGHT","!$DARK_BG = $PUML_BGCOLOR","!$INFO_BG = $PUML_BGCOLOR","!$DANGER_BG = $PUML_BGCOLOR","!$WARNING_BG = $PUML_BGCOLOR","!$SECONDARY_BG = $PUML_BGCOLOR","!else","!$DARK_BG = $DARK","!$INFO_BG = $INFO","!$DANGER_BG = $DANGER","!$WARNING_BG = $WARNING","!$SECONDARY_BG = $SECONDARY","!endif","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","!procedure $primary_scheme()",'!if ($PUML_OUTLINE == "true")',"FontColor $PRIMARY","BorderColor $PRIMARY","BackgroundColor $PUML_BGCOLOR","!else","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","!endif","!endprocedure","!procedure $secondary_scheme()",'!if ($PUML_OUTLINE == "true")',"FontColor $SECONDARY_DARK","BorderColor $SECONDARY_DARK","BackgroundColor $PUML_BGCOLOR","!else","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_DARK","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","!endif","!endprocedure",'!_POST = "<color #007a3e>POST</color>"','!_PUT = "<color #ea7400>PUT</color>"','!_DELETE = "<color #cf2a2a>DELETE</color>"','!_GET = "<color #009fdb>GET</color>"','!_PATCH = "<color #b5bd00>PATCH</color>"','!_HEAD = "<color #9012fe>HEAD</color>"','skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","","skinparam legend {","$secondary_scheme()","BackgroundColor transparent","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","' <style> ","' mindmapDiagram {","' Padding 15","' Margin 10","' FontSize 12","' FontName Verdana","' Shadowing 0.0","' LineThickness 1.5","' FontColor $PRIMARY_TEXT","' LineColor $PRIMARY_DARK","' node {","' LineColor $PRIMARY","' BackGroundColor $PRIMARY_LIGHT-$PRIMARY","' }","' }","' </style>","","!startsub activity","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_BG","DiamondBorderColor $DIAMOND_BD","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","skinparam actor {","$primary_scheme()","FontColor $FGCOLOR","}","!endsub","","!startsub arrow","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","skinparam sequence {","ArrowThickness 3","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $PUML_BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $PUML_BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $LIGHT","LifeLineBorderThickness 2","LifeLineBackgroundColor $LIGHT_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupBodyBackgroundColor $PUML_BGCOLOR","GroupHeaderBackgroundColor $PUML_BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $PUML_BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","StereotypeFontSize 12","}","!endsub","","!startsub partition","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $PUML_BGCOLOR","}","!endsub","","!startsub collections","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","skinparam note {","BorderThickness 1","BackgroundColor $INFO_BG","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub artifact","skinparam artifact {","BackgroundColor $DARK_BG","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","skinparam storage {","BackgroundColor $WARNING_BG","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","skinparam node {","BackgroundColor $PUML_BGCOLOR","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","skinparam cloud {","BackgroundColor transparent","BorderColor $DARK","FontColor $FGCOLOR","}","!endsub","","!startsub database","skinparam database {","$primary_scheme()","FontColor $FGCOLOR","StereotypeFontColor $FGCOLOR","}","!endsub","","!startsub class","skinparam class {","$primary_scheme()","FontColor $HEADER_TEXT","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub object","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","skinparam rectangle {","BackgroundColor $PUML_BGCOLOR","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_TEXT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","skinparam package {","BackgroundColor $PUML_BGCOLOR","BorderColor $SECONDARY_TEXT","FontColor $SECONDARY_TEXT","BorderThickness 2","}","!endsub","","!startsub folder","skinparam folder {","BackgroundColor $SECONDARY_BG","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","skinparam frame {","BackgroundColor $SECONDARY_BG","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","skinparam card {","BackgroundColor $INFO_BG","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","skinparam file {","BackgroundColor $SECONDARY_BG","BorderColor $LIGHT","FontColor $FGCOLOR","}","!endsub","","!startsub stack","skinparam stack {","$primary_scheme()","}","!endsub","","!startsub map","skinparam map {","$primary_scheme()","}","!endsub","","<style>","participant {","Margin 5 40","Padding 15 20","}","wbsDiagram, mindmapDiagram {","root {","BackgroundColor $PUML_BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $INFO_BG","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","$primary_scheme()","Padding 15","RoundCorner 20","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY_BG","FontColor $INFO_BG","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $PUML_BGCOLOR","FontColor $DARK_BG","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $PUML_BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_BG","FontColor $PRIMARY_TEXT","BorderColor $SECONDARY_BG","}","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY_BG","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT_BG","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY_BG","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO_BG","}","separator {","LineColor $SECONDARY_BG","BackGroundColor $secondary_scheme()","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO_BG","FontSize 16","FontStyle italic","BackGroundColor $DIAMOND_BG","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY_BG","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>"].join(`
9
+ `),q["black-knight"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["black-knight"]=['!$THEME = "black-knight"',"!assume transparent dark",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif",'!if %not(%variable_exists("$GRADIENT"))',"!$GRADIENT = 20","!endif","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false",'!$PRIMARY = "#303030"',"!$PRIMARY_DARK = %darken($PRIMARY, $GRADIENT)","!$PRIMARY_LIGHT = %lighten($PRIMARY, $GRADIENT)",'!$PRIMARY_TEXT = "#fff200"','!$SECONDARY = "#484848"',"!$SECONDARY_DARK = %darken($SECONDARY, $GRADIENT)","!$SECONDARY_LIGHT = %lighten($SECONDARY, $GRADIENT)",'!$SECONDARY_TEXT = "#fefefe"','!$SUCCESS = "#00FF00"',"!$SUCCESS_DARK = %darken($SUCCESS, $GRADIENT)","!$SUCCESS_LIGHT = %lighten($SUCCESS, $GRADIENT)",'!$SUCCESS_TEXT = "ffffff"','!$INFO = "#0060a8"',"!$INFO_DARK = %darken($INFO, $GRADIENT)","!$INFO_LIGHT = %lighten($INFO, $GRADIENT)",'!$INFO_TEXT = "ffffff"','!$WARNING = "#ff8000"',"!$WARNING_DARK = %darken($WARNING, $GRADIENT)","!$WARNING_LIGHT = %lighten($WARNING, $GRADIENT)",'!$WARNING_TEXT = "#222222"','!$DANGER = "#ff0000"',"!$DANGER_DARK = %darken($DANGER, $GRADIENT)","!$DANGER_LIGHT = %lighten($DANGER, $GRADIENT)",'!$DANGER_TEXT = "ffffff"','!$LIGHT = "#fff200"','!$DARK = "#484848"',"!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","!procedure $info($msg)","<font color=$INFO><b>$msg","!endprocedure","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","!endprocedure","!procedure $secondary_scheme()","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_DARK","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","!endprocedure","","skinparam {",'defaultFontName "Verdana"',"defaultFontSize 12","defaultTextAlignment center","shadowing false","RoundCorner 10","TitleFontSize 18","' TitleFontColor $PRIMARY_TEXT","}","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_LIGHT","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_LIGHT","LineColor $PRIMARY_LIGHT","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_DARK","CBorderColor $SECONDARY_LIGHT","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","","skinparam title {","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $PRIMARY","BorderColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupBodyBackgroundColor $BGCOLOR","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $SECONDARY_TEXT","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY_LIGHT","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub artifact","skinparam artifact {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub component","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING_DARK","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY_LIGHT","FontColor $PRIMARY_TEXT","}","!endsub","","!startsub cloud","skinparam cloud {","BackgroundColor transparent","BorderColor $PRIMARY_LIGHT","FontColor $LIGHT","}","!endsub","","!startsub database","skinparam database {","$primary_scheme()","BackgroundColor $BGCOLOR","}","!endsub","","!startsub class","skinparam class {","$primary_scheme()","HeaderBackgroundColor $SECONDARY_DARK-$SECONDARY","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","skinparam rectangle {","$primary_scheme()","BackgroundColor $BGCOLOR","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","skinparam package {","$primary_scheme()","BackgroundColor $BGCOLOR","BorderThickness 2","}","!endsub","","!startsub folder","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $INFO","FontColor $SECONDARY_TEXT","}","!endsub","","!startsub stack","skinparam stack {","$primary_scheme()","}","!endsub","",'!if %variable_exists("NEWSTYLE")',"<>","wbsDiagram {","LineColor $PRIMARY","BorderThickness 3","BackgroundColor $LIGHT","FontColor $PRIMARY_TEXT",":depth(0) {","fontSize 16","fontStyle bold","fontColor $SECONDARY","}",":depth(1) {","fontSize 14","padding 5","fontStyle bold","}",":depth(2) {","fontSize 12","padding 4","}",":depth(3) {","fontSize 11","padding 3","fontColor $INFO","}","","}","</>","!endif"].join(`
10
+ `),q.bluegray={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.bluegray=['!$THEME = "bluegray"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$WHITE = "#fff"','!$GRAY_DARK = "#5a5a5a"','!$GRAY = "#959595"','!$PRIMARY = "#009fdb"','!$SECONDARY = "#f2f2f2"','!$SUCCESS = "#b5bd00"','!$INFO = "#0568ae"','!$WARNING = "#ea7400"','!$DANGER = "#cf2a2a"','!$LIGHT = "#d2d2d2"','!$DARK = "#5a5a5a"',"","!$FGCOLOR = $DARK",'!$PRIMARY_LIGHT = "#33b2e2"','!$PRIMARY_DARK = "#007faf"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_LIGHT = "#f5f5f5"','!$SECONDARY_DARK = "#c2c2c2"',"!$SECONDARY_TEXT = $DARK",'!$INFO_LIGHT = "#3786be"','!$INFO_DARK = "#04538b"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_LIGHT = "#c4ca33"','!$SUCCESS_DARK = "#919700"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_LIGHT = "#ee9033"','!$WARNING_DARK = "#bb5d00"',"!$WARNING_TEXT = $WHITE",'!$DANGER_LIGHT = "#d95555"','!$DANGER_DARK = "#a62222"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_LIGHT","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","","!endprocedure","","!procedure $secondary_scheme()","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_DARK","BackgroundColor $WHITE-#fefefe","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 30","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 20","skinparam BoxPadding 40","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $LIGHT","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_LIGHT","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $WHITE-$LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor #orange","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $WHITE-$LIGHT","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $SECONDARY_DARK","FontColor $PRIMARY","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $PRIMARY","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","' FontColor $PRIMARY","BorderColor $PRIMARY_DARK","' BackgroundColor $BGCOLOR","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$secondary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","FontColor $PRIMARY","BorderColor $PRIMARY_LIGHT","BackgroundColor $BGCOLOR","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $WHITE-$SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $WHITE-$SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BorderColor $PRIMARY_DARK","StartColor $INFO","EndColor $INFO","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $INFO","FontColor $SECONDARY_TEXT","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
11
+ `),q.blueprint={author:"Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr.blueprint=['!$THEME = "blueprint"',"",'!$BGCOLOR = "#003153"','!$FGCOLOR = "#D9D3D0"',"","!ifndef $FONT_NAME",'!$FONT_NAME = "Verdana"',"!endif","","!ifndef $FONT_NAME_MONOSPACED",'!$FONT_NAME_MONOSPACED = "Courier"',"!endif","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","HyperLinkColor $FGCOLOR","LineColor $FGCOLOR","LineThickness 1","Margin 5","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","node {","MaximumWidth 300","}","participant {","Margin 5 10","Padding 5 5","}","</style>","","skinparam ArrowLollipopColor $FGCOLOR","skinparam BackgroundColor $BGCOLOR","skinparam DefaultFontName $FONT_NAME","skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED","skinparam LifelineStrategy nosolid","skinparam SequenceLifeLineBorderColor $FGCOLOR","skinparam Shadowing false","skinparam UseBetaStyle true","","skinparam Activity {","BackgroundColor $BGCOLOR","BarColor $FGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Boundary {","FontColor $FGCOLOR","}","skinparam Box {","Padding 5","}","skinparam CircledCharacter {","FontColor $FGCOLOR","FontName $FONT_NAME_MONOSPACED","Radius 9","}","skinparam Class {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassAttribute {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassStereotype {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Footer {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Header {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Hyperlink {","Color $FGCOLOR","}","skinparam IconPackage {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPrivate {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconProtected {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPublic {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam Note {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Object {","BorderColor $FGCOLOR","}","skinparam Package {","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam State {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeA {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeC {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeE {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeI {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeN {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam UseCaseStereoType {","FontColor $FGCOLOR","FontName $FONT_NAME","}"].join(`
12
+ `),q["carbon-gray"]={author:"Bharat Rajagopalan",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr["carbon-gray"]=['!$THEME = "carbon-gray"',"",`'!$BGCOLOR = "#f5f5f5"`,"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","","!$RED_80 = '#750e13'","!$RED_70 = '#a2191f'","!$RED_60 = '#da1e28'","!$RED_50 = '#fa4d56'","!$RED_40 = '#ff8389'","!$RED_30 = '#ffb3b8'","!$RED_20 = '#ffd7d9'","!$RED_10 = '#fff1f1'","","!$CYAN_10 = '#e5f6ff'","!$CYAN_20 = '#bae6ff'","!$CYAN_30 = '#82cfff'","!$CYAN_40 = '#33b1ff'","!$CYAN_50 = '#1192e8'","!$CYAN_60 = '#0072c3'","!$CYAN_70 = '#00539a'","!$CYAN_80 = '#003a6d'","","!$PURPLE_80 ='#491d8b'","!$PURPLE_70 = '#6929c4'","!$PURPLE_60 = '#8a3ffc'","!$PURPLE_50 = '#a56eff'","!$PURPLE_40 = '#be95ff'","!$PURPLE_30 = '#d4bbff'","!$PURPLE_20 = '#e8daff'","!$PURPLE_10 = '#f6f2ff'","","!$TEAL_10 = '#d9fbfb'","!$TEAL_20 = '#9ef0f0'","!$TEAL_30 = '#3ddbd9'","!$TEAL_40 = '#08bdba'","!$TEAL_50 = '#009d9a'","!$TEAL_60 = '#007d79'","!$TEAL_70 = '#005d5d'","!$TEAL_80 = '#004144'","","!$GRAY_10 = '#f4f4f4'","!$GRAY_20 = '#e0e0e0'","!$GRAY_30 = '#c6c6c6'","!$GRAY_40 = '#a8a8a8'","!$GRAY_50 = '#8d8d8d'","!$GRAY_60 = '#6f6f6f'","!$GRAY_70 = '#525252'","!$GRAY_80 = '#393939'","!$GRAY_90 = '#262626'","!$GRAY_100 = '#161616'","!$WHITE = '#FFFFF'","","!$GRAY_DARK = $GRAY_100","!$GRAY = $GRAY_30","!$LIGHT = $GRAY_70","!$DARK = $GRAY_90","","!$FGCOLOR = $DARK","!$PRIMARY = $GRAY_10","!$PRIMARY_LIGHT = $GRAY_10 ","!$PRIMARY_DARK = $GRAY_30","!$PRIMARY_TEXT = $DARK","!$SECONDARY = $GRAY_10 ","!$SECONDARY_LIGHT = $GRAY_10","!$SECONDARY_DARK = $GRAY_30","!$SECONDARY_TEXT = $DARK","!$INFO = $WHITE","!$INFO_LIGHT = $GRAY_20","!$INFO_DARK = $GRAY_30","!$INFO_TEXT = $DARK","!$SUCCESS = $DARK","!$SUCCESS_LIGHT = $DARK","!$SUCCESS_DARK = $DARK","!$SUCCESS_TEXT = $WHITE","!$WARNING = $WHITE","!$WARNING_LIGHT = $WHITE","!$WARNING_DARK = $WHITE","!$WARNING_TEXT = $DARK","!$DANGER = $WHITE","!$DANGER_LIGHT = $WHITE","!$DANGER_DARK = $WHITE","!$DANGER_TEXT = $DARK","","!$OTHER_BG = $WHITE","!$DB_BG = $GRAY","!$LINE_THICKNESS = 1","!$BORDER_THICKNESS = 1","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","RoundCorner 0","!endprocedure","",'skinparam defaultFontName "IBM Plex Sans, Noto Sans, Verdana"',"skinparam defaultFontSize 12","'skinparam dpi 125","skinparam shadowing false","skinparam roundcorner 0","skinparam BoxPadding 30","skinparam ArrowColor $GRAY","<style>","participant {","Margin 5 30","Padding 15 20","}","</style>","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY","FontSize 20","BorderRoundCorner 8","BorderThickness 0","BackgroundColor $BGCOLOR","}","","skinparam legend {","BackgroundColor $OTHER_BG","BorderColor $DARK","FontColor $PRIMARY_TEXT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $PRIMARY","BorderThickness $LINE_THICKNESS","TitleBackgroundColor $PRIMARY_LIGHT-$PRIMARY","TitleFontColor $PRIMARY_TEXT","BackgroundColor $BG_COLOR","TitleFontStyle bold","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $DARK","StartColor $LIGHT-$DARK","EndColor $LIGHT-$DARK","DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY","DiamondBorderColor $SECONDARY","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness $BORDER_THICKNESS","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness $LINE_THICKNESS","Color $GRAY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY_DARK","' For some reason sequence title font color does not pick up from global","TitleFontColor $SECONDARY_TEXT","BackgroundColor $OTHER_BG","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $OTHER_BG","BoxBorderColor $PRIMARY_DARK","BoxFontColor $PRIMARY_TEXT","DelayFontColor $PRIMARY_TEXT","LifeLineBorderColor $PRIMARY_DARK","LifeLineBorderThickness $LINE_THICKNESS","LifeLineBackgroundColor $PRIMARY","GroupBorderColor $PRIMARY_DARK","GroupFontColor $PRIMARY_TEXT","GroupFontStyle bold","GroupHeaderFontColor $INFO_TEXT","GroupBackgroundColor $PRIMARY","GroupBodyBackgroundColor $OTHER_BG","GroupHeaderBackgroundColor $PRIMARY","DividerBackgroundColor $PRIMARY","DividerBorderColor $PRIMARY_DARK","DividerBorderThickness $LINE_THICKNESS","DividerFontColor $PRIMARY_TEXT","ReferenceBackgroundColor $BGCOLOR","ReferenceHeaderBorderColor $PRIMARY_DARK","ReferenceHeaderBackgroundColor $PRIMARY","ReferenceBorderColor $PRIMARY_DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO_TEXT","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY_TEXT","BackgroundColor $OTHER_BG","fontStyle bold","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $PRIMARY_LIGHT","BorderColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","RoundCorner 0","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $DARK","FontColor $INFO_TEXT","RoundCorner 0","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $PRIMARY","BorderColor $PRIMARY_DARK","FontColor $DARK","RoundCorner 0","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","BackgroundColor $PRIMARY","BorderColor $PRIMARY_DARK","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $PRIMARY_DARK","BorderColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $OTHER_BG","BorderColor $DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $OTHER_BG","BorderColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","Roundcorner 0","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $OTHER_BG","BorderColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","Roundcorner 0","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","BorderColor $PRIMARY_DARK","BackgroundColor $OTHER_BG","Roundcorner 0","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $PRIMARY_TEXT","StereotypeFontSize 9","BorderThickness $LINE_THICKNESS","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $PRIMARY_TEXT","BorderThickness $BORDER_THICKNESS","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness $BORDER_THICKNESS","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $OTHER_BG","BorderThickness $BORDER_THICKNESS","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub package","","skinparam package {","$primary_scheme()","BackgroundColor $OTHER_BG","BorderThickness $BORDER_THICKNESS","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $OTHER_BG","BorderColor $PRIMARY_DARK","FontColor $WARNING_TEXT","BorderThickness $BORDER_THICKNESS","Roundcorner 0","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $OTHER_BG","BorderColor $PRIMARY_DARK","FontColor $DARK","BorderThickness $BORDER_THICKNESS","Roundcorner 0","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BorderColor $PRIMARY_DARK","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $OTHER_BG","BorderColor $PRIMARY_DARK","FontColor $INFO_TEXT","RoundCorner 0","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","RoundCorner 0","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub","","!startsub person","","skinparam person {","$primary_scheme()","}","!endsub","",'!if (%variable_exists("LEGACY"))','!$LEGACY = "true"',"!endif","",'!if (%getenv("LEGACY") == "true")','!$LEGACY = "true"',"!endif","",`'!if (not %variable_exists("$LEGACY"))`,"","skinparam useBetaStyle true","","!startsub mindmap","","<style>","","boardDiagram {","node {","$primary_scheme()","BackGroundColor $PRIMARY","LineColor $PRIMARY_DARK",'FontName "IBM Plex Sans, Noto Sans, Verdana"',"'FontColor ","FontSize 12","'FontStyle bold","RoundCorner 0","'LineThickness 2","'LineStyle 10-5","separator {","LineThickness $LINE_THICKNESS","LineColor $PRIMARY_DARK","'LineStyle 1-5","}","}","}","","ganttDiagram {","","task {","BackGroundColor $PRIMARY","LineColor $PRIMARY_DARK","FontStyle Bold","FontSize 12","unstarted {","BackGroundColor $PRIMARY_LIGHT","LineColor $PRIMARY_DARK","'FontColor $RED_80","}","Padding 3","Margin 3","","}","timeline {","LineColor $PRIMARY","FontColor $WHITE","BackgroundColor $DARK","FontName Helvetica","'FontSize 12","FontStyle bold","YearFontColor $WHITE","QuarterFontColor $WHITE","MonthFontColor $WHITE","WeekFontColor $WHITE","WeekdayFontColor $WHITE","DayFontColor $WHITE","}","arrow {","'FontName Helvetica","'FontColor red","FontSize 12","FontStyle bold","'BackGroundColor GreenYellow","LineColor $PRIMARY_DARK","'LineStyle 8.0-13.0","'LineThickness 3.0","}","","milestone {","FontColor $PRIMARY_TEXT","FontSize 12","FontStyle bold","BackGroundColor $DARK","LineColor $DARK","}","separator {","BackgroundColor $PRIMARY","'LineStyle 8.0-3.0","LineColor $PRIMARY","LineThickness 1.0","FontSize 12","FontStyle bold","FontColor $PRIMARY_TEXT","Margin 3","'Padding 20","}","closed {","BackgroundColor $RED_20","FontColor $RED_20","}","}","","jsonDiagram {","node {","$primary_scheme()","BackGroundColor $PRIMARY","LineColor $PRIMARY_DARK",'FontName "IBM Plex Sans, Noto Sans, Verdana"',"'FontColor ","FontSize 12","'FontStyle bold","RoundCorner 0","'LineThickness 2","'LineStyle 10-5","separator {","LineThickness $LINE_THICKNESS","LineColor $PRIMARY_DARK","'LineStyle 1-5","}","}","arrow {","BackGroundColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","LineThickness $LINE_THICKNESS","LineStyle 3-6","}","highlight {","BackGroundColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","FontStyle italic","}","}","","mindmapDiagram {","'Padding 8","'Margin 8","LineThickness $LINE_THICKNESS","FontColor $PRIMARY_TEXT","LineColor $PRIMARY_DARK","'BackgroundColor $PRIMARY_LIGHT-$PRIMARY","Roundcorner 0","node {","'Padding 12","'Margin 3","'HorizontalAlignment center","LineColor $PRIMARY_DARK","LineThickness $BORDER_THICKNESS","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","RoundCorner 0","MaximumWidth 100","FontColor $DARK","'FontStyle bold","}","}","","'Salt Diagram only has limited skinning","saltDiagram {","BackGroundColor $BG_COLOR","'Fontname Monospaced","'FontSize 10","'FontStyle italic","'LineThickness 0.5","'LineColor PRIMARY_DARK","}","","timingDiagram {","document {","BackGroundColor $BG_COLOR","LineColor $PRIMARY","BorderColor $PRIMARY","FontColor $PRIMARY_TEXT","","}","highlight {","BackGroundColor $PRIMARY","}","","constraintArrow {","'LineStyle 2-1","LineThickness 2","LineColor $RED_80","FontColor $RED_80","FontStyle bold","}","}","","wbsDiagram {","'Padding 8","node {","'Padding 12","'Margin 3","'HorizontalAlignment center","LineColor $PRIMARY_DARK","LineThickness $BORDER_THICKNESS","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","RoundCorner 0","MaximumWidth 100","FontColor $PRIMARY_TEXT","'FontStyle bold","}","'Margin 8","'LineThickness $LINE_THICKNESS","'FontColor $PRIMARY_TEXT","'LineColor $PRIMARY","'BorderColor $PRIMARY","'BackgroundColor $PRIMARY_LIGHT-$PRIMARY","'RoundCorner 0","","arrow {",`' note that Connectors are actually "Arrows"; this may change in the future`,"' so this means all Connectors and Arrows are now going to be green","","lineColor $PRIMARY_DARK","fontColor $PRIMARY_TEXT","thickness $LINE_THICKNESS","}","","noteBorderColor $DARK","}","","'Placeholder for adding wirediagram skins","wireDiagram {","}","","yamlDiagram {","node {","$primary_scheme()","BackGroundColor $PRIMARY","LineColor $PRIMARY_DARK",'FontName "IBM Plex Sans, Noto Sans, Verdana"',"'FontColor ","FontSize 12","'FontStyle bold","RoundCorner 0","'LineThickness 2","'LineStyle 10-5","separator {","LineThickness $LINE_THICKNESS","LineColor $PRIMARY_DARK","'LineStyle 1-5","}","}","arrow {","BackGroundColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","LineThickness $LINE_THICKNESS","LineStyle 3-6","}","highlight {","BackGroundColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","FontStyle italic","}","}","</style>","!endsub","'!endif"].join(`
13
+ `),q.cerulean={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.cerulean=['!$THEME = "cerulean"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#033C73"','!$INDIGO = "#6610F2"','!$PURPLE = "#6F42C1"','!$PINK = "#E83E8C"','!$RED = "#C71C22"','!$ORANGE = "#FD7E14"','!$YELLOW = "#DD5600"','!$GREEN = "#73A839"','!$TEAL = "#20C997"','!$CYAN = "#2FA4E7"','!$WHITE = "#FFF"','!$GRAY_DARK = "#343A40"','!$GRAY = "#868E96"','!$PRIMARY = "#2FA4E7"','!$SECONDARY = "#E9ECEF"','!$SUCCESS = "#73A839"','!$INFO = "#033C73"','!$WARNING = "#DD5600"','!$DANGER = "#C71C22"','!$LIGHT = "#F8F9FA"','!$DARK = "#343A40"',"","!$FGCOLOR = $DARK",'!$PRIMARY_LIGHT = "#59B6EC"','!$PRIMARY_DARK = "#2683B9"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_LIGHT = "#EDF0F2"','!$SECONDARY_DARK = "#BABDBF"',"!$SECONDARY_TEXT = $DARK",'!$INFO_LIGHT = "#35638F"','!$INFO_DARK = "#02305C"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_LIGHT = "#8FB961"','!$SUCCESS_DARK = "#5C862E"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_LIGHT = "#E47833"','!$WARNING_DARK = "#B14500"',"!$WARNING_TEXT = $WHITE",'!$DANGER_LIGHT = "#D2494E"','!$DANGER_DARK = "#9F161B"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $WHITE-$SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $LIGHT","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_LIGHT","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $WHITE-$LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor #orange","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $WHITE-$LIGHT","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $SECONDARY","FontColor $SECONDARY_TEXT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $PRIMARY","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","FontColor $PRIMARY","BorderColor $PRIMARY_LIGHT","BackgroundColor $BGCOLOR","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","FontColor $PRIMARY","BorderColor $PRIMARY_LIGHT","BackgroundColor $BGCOLOR","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $WHITE-$SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $WHITE-$SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BorderColor $PRIMARY_DARK","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $INFO","FontColor $GRAY","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
14
+ `),q["cerulean-outline"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["cerulean-outline"]=['!$THEME = "cerulean-outline"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#033C73"','!$INDIGO = "#6610F2"','!$PURPLE = "#6F42C1"','!$PINK = "#E83E8C"','!$RED = "#C71C22"','!$ORANGE = "#FD7E14"','!$YELLOW = "#DD5600"','!$GREEN = "#73A839"','!$TEAL = "#20C997"','!$CYAN = "#2FA4E7"','!$WHITE = "#FFF"','!$GRAY_DARK = "#343A40"','!$GRAY = "#868E96"','!$PRIMARY = "#2FA4E7"','!$SECONDARY = "#E9ECEF"','!$SUCCESS = "#73A839"','!$INFO = "#033C73"','!$WARNING = "#DD5600"','!$DANGER = "#C71C22"','!$LIGHT = "#F8F9FA"','!$DARK = "#343A40"',"","!$FGCOLOR = $DARK",'!$PRIMARY_LIGHT = "#59B6EC"','!$PRIMARY_DARK = "#2683B9"',"!$PRIMARY_TEXT = $PRIMARY",'!$SECONDARY_LIGHT = "#EDF0F2"','!$SECONDARY_DARK = "#BABDBF"',"!$SECONDARY_TEXT = $SECONDARY_DARK",'!$INFO_LIGHT = "#35638F"',"!$INFO_TEXT = $INFO",'!$SUCCESS_LIGHT = "#8FB961"',"!$SUCCESS_TEXT = $SUCCESS",'!$WARNING_LIGHT = "#E47833"',"!$WARNING_TEXT = $WARNING",'!$DANGER_LIGHT = "#D2494E"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $BGCOLOR","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $BGCOLOR","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $BGCOLOR","}","separator {","LineColor $SECONDARY_DARK","BackGroundColor $BGCOLOR","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","}","","skinparam legend {","BackgroundColor $BGCOLOR","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $BGCOLOR","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $BGCOLOR","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO_TEXT","DividerBackgroundColor $LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO_TEXT","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $BGCOLOR","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $BGCOLOR","BorderColor $GRAY","FontColor $GRAY","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $SUCCESS","' FontColor $SUCCESS_TEXT","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $BGCOLOR","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $LIGHT","HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_DARK","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $BGCOLOR","BorderColor $GRAY","FontColor $GRAY","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub","",'!if (%variable_exists("LEGACY"))','!$LEGACY = "true"',"!endif","",'!if (%getenv("LEGACY") == "true")','!$LEGACY = "true"',"!endif","",'!if (%variable_exists("$LEGACY"))',"","skinparam useBetaStyle true","","!startsub mindmap","","<style>","style mindmapDiagram {","'Padding 8","Margin 8","LineThickness 2.0","FontColor $PRIMARY_TEXT","LineColor $SECONDARY","BackGroundColor $PRIMARY_LIGHT-$PRIMARY","}","wbsDiagram {","'Padding 8","Margin 8","LineThickness 2.0","FontColor $PRIMARY_TEXT","LineColor $PRIMARY","BackGroundColor $PRIMARY_LIGHT-$PRIMARY","}","</style>","!endsub","!endif"].join(`
15
+ `),q["cloudscape-design"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["cloudscape-design"]=[`'!$PUML_OUTLINE = "true"`,`'!$PUML_BGCOLOR = "#0f1b2a"`,`'!$PUML_MODE = "dark"`,'!$PUML_THEME = "cloudscape-design"','!$THEME = "cloudscape-design"','!if %not(%variable_exists("$PUML_BGCOLOR"))','!$PUML_BGCOLOR = "transparent"',"!endif",'!if %not(%variable_exists("$PUML_GRADIENT"))',"!$PUML_GRADIENT = 20","!endif",'!if %not(%variable_exists("$PUML_MODE"))','!$PUML_MODE = "light"',"!endif",'!if %not(%variable_exists("$PUML_OUTLINE"))','!$PUML_OUTLINE = "false"',"!endif","skinparam BackgroundColor $PUML_BGCOLOR","skinparam useBetaStyle false",'!$ALPHA = "80"','!$WHITE = "#FFF"','!$GRAY_LIGHT = "#222"','!$GRAY = "#868e96"','!$PRIMARY = "#0972d3"','!$WARNING = "#ecdd00"','!$LIGHT = "#d1d5db"','!$DARK = "#000716"','!$SECONDARY_TEXT = "#539fe5"','!if ($PUML_MODE == "light")',"!$PRIMARY_TEXT = $LIGHT",'!$SECONDARY = "#eeeeee"',"!$SECONDARY_LIGHT = %lighten($SECONDARY, $PUML_GRADIENT)",'!$SUCCESS = "#037f0c"','!$INFO = "#0972d3"','!$DANGER = "#d91515"',"!$SECONDARY_TEXT = $DARK","!$FGCOLOR = $DARK","!$DIAMOND_BD = %darken($SECONDARY, $PUML_GRADIENT)","!$GRAY_LIGHT = %lighten($GRAY, $PUML_GRADIENT)","!$GRAY_DARK = %darken($GRAY, $PUML_GRADIENT)","!$MAIN_BG = $WHITE","!assume transparent light","!else","!$TMP = $LIGHT","!$LIGHT = $DARK","!$DARK = $TMP",'!$PRIMARY = "#539fe5"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY = "#2a2e33"',"!$SECONDARY_LIGHT = %lighten($SECONDARY, $PUML_GRADIENT)",'!$SUCCESS = "#037f0c"','!$INFO = "#0972d3"','!$DANGER = "#ff5d64"','!$WARNING = "#fbf8cc"',"!$SECONDARY_TEXT = $WHITE","!$FGCOLOR = $WHITE","!$DIAMOND_BD = %lighten($SECONDARY, $PUML_GRADIENT)","!$GRAY_LIGHT = %darken($GRAY, $PUML_GRADIENT)","!$GRAY_DARK = %lighten($GRAY, $PUML_GRADIENT)",'!$MAIN_BG = "#0f1b2a"',"!assume transparent dark","!endif","!$PRIMARY_DARK = %darken($PRIMARY, $PUML_GRADIENT)","!$PRIMARY_LIGHT = %lighten($PRIMARY, $PUML_GRADIENT)","!$SECONDARY_DARK = %darken($SECONDARY, $PUML_GRADIENT)","!$SUCCESS_DARK = %darken($SUCCESS, $PUML_GRADIENT)","!$SUCCESS_LIGHT = %lighten($SUCCESS, $PUML_GRADIENT)","!$INFO_DARK = %darken($INFO, $PUML_GRADIENT)","!$INFO_LIGHT = %lighten($INFO, $PUML_GRADIENT)","!$DANGER_DARK = %darken($DANGER, $PUML_GRADIENT)","!$DANGER_LIGHT = %lighten($DANGER, $PUML_GRADIENT)","!$WARNING_DARK = %darken($WARNING, $PUML_GRADIENT)","!$WARNING_LIGHT = %lighten($WARNING, $PUML_GRADIENT)","!$DARK_DARK = %darken($DARK, $PUML_GRADIENT)","!$DARK_LIGHT = %lighten($DARK, $PUML_GRADIENT)","!$LIGHT_DARK = %darken($LIGHT, $PUML_GRADIENT)","!$LIGHT_LIGHT = %lighten($LIGHT, $PUML_GRADIENT)","!$INFO_TEXT = $WHITE","!$SUCCESS_TEXT = $WHITE","!$WARNING_TEXT = $WHITE","!$DANGER_TEXT = $WHITE","!$HEADER_TEXT = $WHITE",'!if ($PUML_OUTLINE == "true")',"!$HEADER_TEXT = $PRIMARY_TEXT","!$PRIMARY_TEXT = $PRIMARY_LIGHT","!$INFO_TEXT = $INFO","!$WARNING_TEXT = $WARNING_LIGHT","!$DARK_BG = $PUML_BGCOLOR","!$INFO_BG = $PUML_BGCOLOR","!$DANGER_BG = $PUML_BGCOLOR","!$WARNING_BG = $PUML_BGCOLOR","!$SECONDARY_BG = $PUML_BGCOLOR","!else","!$DARK_BG = $DARK","!$INFO_BG = $INFO","!$DANGER_BG = $DANGER","!$WARNING_BG = $WARNING","!$SECONDARY_BG = $SECONDARY","!endif","!unquoted function $alpha($color, $alpha) !return $color + $alpha","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","!procedure $primary_scheme()",'!if ($PUML_OUTLINE == "true")',"FontColor $PRIMARY","BorderColor $PRIMARY","BackgroundColor $PUML_BGCOLOR","!else","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","!endif","!endprocedure","!procedure $secondary_scheme()",'!if ($PUML_OUTLINE == "true")',"FontColor $SECONDARY_DARK","BorderColor $SECONDARY_DARK","BackgroundColor $PUML_BGCOLOR","!else","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_DARK","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","!endif","!endprocedure",'!_POST = "<color #007a3e>POST</color>"','!_PUT = "<color #ea7400>PUT</color>"','!_DELETE = "<color #cf2a2a>DELETE</color>"','!_GET = "<color #009fdb>GET</color>"','!_PATCH = "<color #b5bd00>PATCH</color>"','!_HEAD = "<color #9012fe>HEAD</color>"','skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","","skinparam legend {","$secondary_scheme()","BackgroundColor transparent","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_BG","DiamondBorderColor $DIAMOND_BD","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","skinparam actor {","$primary_scheme()","FontColor $FGCOLOR","}","!endsub","","!startsub arrow","skinparam arrow {","Thickness 2","Color $GRAY_LIGHT","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","skinparam sequence {","ArrowThickness 2","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $PUML_BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $alpha($PUML_BGCOLOR, $ALPHA)","BoxBorderColor $GRAY_DARK","BoxFontColor $GRAY_DARK","DelayFontColor $LIGHT","LifeLineBorderColor $PRIMARY","LifeLineBorderThickness 0","LifeLineBackgroundColor $SECONDARY","GroupBorderColor $DARK","GroupBorderThickness 1","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $alpha($SECONDARY, $ALPHA)","GroupBodyBackgroundColor $alpha($PUML_BGCOLOR, $ALPHA)","GroupHeaderBackgroundColor $PUML_BGCOLOR","DividerBackgroundColor $SECONDARY","DividerBorderColor $SECONDARY_LIGHT","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceAlignment left","ReferenceBackgroundColor $alpha($PUML_BGCOLOR, $ALPHA)","ReferenceBorderColor $SECONDARY","ReferenceBorderThickness 2","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $alpha($SECONDARY, $ALPHA)","StereotypeFontColor $PRIMARY_TEXT","StereotypeFontSize 12","}","!endsub","","!startsub partition","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $PUML_BGCOLOR","}","!endsub","","!startsub collections","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $GRAY","}","!endsub","","!startsub note","skinparam note {","BorderThickness 1","BackgroundColor $INFO_BG","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub artifact","skinparam artifact {","BackgroundColor $DARK_BG","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","skinparam storage {","BackgroundColor $WARNING_BG","BorderColor $WARNING_DARK","FontColor $GRAY","}","!endsub","","!startsub node","skinparam node {","BackgroundColor $PUML_BGCOLOR","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","skinparam cloud {","BackgroundColor transparent","BorderColor $DARK","FontColor $FGCOLOR","}","!endsub","","!startsub database","skinparam database {","$primary_scheme()","FontColor $FGCOLOR","StereotypeFontColor $FGCOLOR","}","!endsub","","!startsub class","skinparam class {","$primary_scheme()","FontColor $HEADER_TEXT","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub object","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","skinparam rectangle {","BackgroundColor $PUML_BGCOLOR","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY_TEXT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","skinparam package {","BackgroundColor $PUML_BGCOLOR","BorderColor $SECONDARY_TEXT","FontColor $SECONDARY_TEXT","BorderThickness 2","}","!endsub","","!startsub folder","skinparam folder {","BackgroundColor $SECONDARY_BG","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","skinparam frame {","BackgroundColor $SECONDARY_BG","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","skinparam card {","BackgroundColor $INFO_BG","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","skinparam file {","BackgroundColor $SECONDARY_BG","BorderColor $LIGHT","FontColor $FGCOLOR","}","!endsub","","!startsub stack","skinparam stack {","$primary_scheme()","}","!endsub","","!startsub map","skinparam map {","$primary_scheme()","}","!endsub","","<style>","participant {","Margin 5 40","Padding 15 20","}","wbsDiagram, mindmapDiagram {","root {","BackgroundColor $PUML_BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $INFO_BG","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","$primary_scheme()","Padding 15","RoundCorner 20","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY_BG","FontColor $INFO_BG","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $PUML_BGCOLOR","FontColor $DARK_BG","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $PUML_BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_BG","FontColor $PRIMARY_TEXT","BorderColor $SECONDARY_BG","}","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY_BG","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT_BG","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY_BG","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO_BG","}","separator {","LineColor $SECONDARY_BG","BackGroundColor $secondary_scheme()","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO_BG","FontSize 16","FontStyle italic","BackGroundColor $DIAMOND_BG","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY_BG","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>"].join(`
16
+ `),q["crt-amber"]={author:"Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr["crt-amber"]=['!$THEME = "crt-amber"',"",'!$DARK_AMBER = "#FFB000"','!$LIGHT_AMBER = "#FFCC00"',"",'!$BGCOLOR = "#282828"',"!$FGCOLOR = $DARK_AMBER","","!ifndef $FONT_NAME",'!$FONT_NAME = "Verdana"',"!endif","","!ifndef $FONT_NAME_MONOSPACED",'!$FONT_NAME_MONOSPACED = "Courier"',"!endif","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","HyperLinkColor $LIGHT_AMBER","LineColor $FGCOLOR","LineThickness 1","Margin 5","}","box {","LineStyle 12-18","LineThickness 3","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","groupHeader {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","node {","MaximumWidth 300","}","referenceHeader {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","participant {","Margin 5 10","Padding 5 5","}","</style>","","skinparam ArrowLollipopColor $FGCOLOR","skinparam BackgroundColor $BGCOLOR","skinparam DefaultFontName $FONT_NAME","skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED","skinparam LifelineStrategy solid","skinparam SequenceLifeLineBorderColor $FGCOLOR","skinparam Shadowing false","skinparam UseBetaStyle true","","skinparam Activity {","BackgroundColor $BGCOLOR","BarColor $FGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Boundary {","FontColor $FGCOLOR","}","skinparam Box {","Padding 5","}","skinparam CircledCharacter {","FontColor $BGCOLOR","FontName $FONT_NAME_MONOSPACED","Radius 9","}","skinparam Class {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassAttribute {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassStereotype {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Footer {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Header {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Hyperlink {","Color $LIGHT_AMBER","}","skinparam IconPackage {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPrivate {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconProtected {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPublic {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam Note {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Object {","BorderColor $FGCOLOR","}","skinparam Package {","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam State {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeA {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeC {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeE {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeI {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeN {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam UseCaseStereoType {","FontColor $FGCOLOR","FontName $FONT_NAME","}"].join(`
17
+ `),q["crt-green"]={author:"Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr["crt-green"]=['!$THEME = "crt-green"',"",'!$BGCOLOR = "#282828"','!$FGCOLOR = "#33FF33"',"","!ifndef $FONT_NAME",'!$FONT_NAME = "Verdana"',"!endif","","!ifndef $FONT_NAME_MONOSPACED",'!$FONT_NAME_MONOSPACED = "Courier"',"!endif","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","HyperLinkColor $FGCOLOR","LineColor $FGCOLOR","LineThickness 1","Margin 5","}","box {","LineStyle 12-18","LineThickness 3","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","groupHeader {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","node {","MaximumWidth 300","}","referenceHeader {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","participant {","Margin 5 10","Padding 5 5","}","</style>","","skinparam ArrowLollipopColor $FGCOLOR","skinparam BackgroundColor $BGCOLOR","skinparam DefaultFontName $FONT_NAME","skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED","skinparam LifelineStrategy solid","skinparam SequenceLifeLineBorderColor $FGCOLOR","skinparam Shadowing false","skinparam UseBetaStyle true","","skinparam Activity {","BackgroundColor $BGCOLOR","BarColor $FGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Boundary {","FontColor $FGCOLOR","}","skinparam Box {","Padding 5","}","skinparam CircledCharacter {","FontColor $BGCOLOR","FontName $FONT_NAME_MONOSPACED","Radius 9","}","skinparam Class {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassAttribute {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassStereotype {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Footer {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Header {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Hyperlink {","Color $FGCOLOR","}","skinparam IconPackage {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPrivate {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconProtected {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPublic {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam Note {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Object {","BorderColor $FGCOLOR","}","skinparam Package {","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam State {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeA {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeC {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeE {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeI {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeN {","BackgroundColor $FGCOLOR","BorderColor $FGCOLOR","}","skinparam UseCaseStereoType {","FontColor $FGCOLOR","FontName $FONT_NAME","}"].join(`
18
+ `),q.cyborg={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.cyborg=['!$THEME = "cyborg"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#2A9FD6"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#CC0000"','!$ORANGE = "#fd7e14"','!$YELLOW = "#FF8800"','!$GREEN = "#77B300"','!$TEAL = "#20c997"','!$CYAN = "#9933CC"','!$WHITE = "#FFF"','!$GRAY_LIGHT = "#222"','!$GRAY = "#555"','!$PRIMARY = "#2A9FD6"','!$SECONDARY = "#555"','!$SUCCESS = "#77B300"','!$INFO = "#9933CC"','!$WARNING = "#FF8800"','!$DANGER = "#CC0000"','!$LIGHT = "#222"','!$DARK = "#ADAFAE"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#55B2DE"','!$PRIMARY_LIGHT = "#227FAB"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#777777"','!$SECONDARY_LIGHT = "#444444"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#AD5CD6"','!$INFO_LIGHT = "#9F161B"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#92C233"','!$SUCCESS_LIGHT = "#5F8F00"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#FFA033"','!$WARNING_LIGHT = "#CC6D00"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#D63333"','!$DANGER_LIGHT = "#A30000"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#BDBFBE"','!$DARK_LIGHT = "#8A8C8B"','!$LIGHT_DARK = "#4E4E4E"','!$LIGHT_LIGHT = "#1B1B1B"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_LIGHT","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_LIGHT","LineColor $PRIMARY_LIGHT","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_DARK","CBorderColor $SECONDARY_LIGHT","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $SECONDARY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $SECONDARY","ReferenceFontColor $SECONDARY_TEXT","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $LIGHT-black","BorderColor $LIGHT","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub actor","","skinparam actor {","FontColor $DARK","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
19
+ `),q["cyborg-outline"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["cyborg-outline"]=['!$THEME = "cyborg-outline"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#2A9FD6"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#CC0000"','!$ORANGE = "#fd7e14"','!$YELLOW = "#FF8800"','!$GREEN = "#77B300"','!$TEAL = "#20c997"','!$CYAN = "#9933CC"','!$WHITE = "#FFF"','!$GRAY_LIGHT = "#222"','!$GRAY = "#555"','!$PRIMARY = "#2A9FD6"','!$SECONDARY = "#555"','!$SUCCESS = "#77B300"','!$INFO = "#9933CC"','!$WARNING = "#FF8800"','!$DANGER = "#CC0000"','!$LIGHT = "#222"','!$DARK = "#ADAFAE"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#55B2DE"','!$PRIMARY_LIGHT = "#227FAB"',"!$PRIMARY_TEXT = $PRIMARY",'!$SECONDARY_DARK = "#777777"','!$SECONDARY_LIGHT = "#444444"',"!$SECONDARY_TEXT = $SECONDARY_DARK",'!$INFO_DARK = "#AD5CD6"','!$INFO_LIGHT = "#7a29a3"',"!$INFO_TEXT = $INFO",'!$SUCCESS_DARK = "#92C233"','!$SUCCESS_LIGHT = "#5F8F00"',"!$SUCCESS_TEXT = $SUCCESS",'!$WARNING_DARK = "#FFA033"','!$WARNING_LIGHT = "#cc6d00"',"!$WARNING_TEXT = $WARNING",'!$DANGER_DARK = "#D63333"','!$DANGER_LIGHT = "#a30000"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#BDBFBE"','!$DARK_LIGHT = "#8A8C8B"','!$LIGHT_DARK = "#4E4E4E"','!$LIGHT_LIGHT = "#1B1B1B"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $BGCOLOR","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $BGCOLOR","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_LIGHT","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_LIGHT","LineColor $PRIMARY_LIGHT","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $BGCOLOR","}","separator {","LineColor $SECONDARY_DARK","BackGroundColor $BGCOLOR","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_DARK","CBorderColor $SECONDARY_LIGHT","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","}","","skinparam legend {","BackgroundColor $BGCOLOR","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $BGCOLOR","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $BGCOLOR","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO_TEXT","GroupBackgroundColor $BGCOLOR","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $BGCOLOR","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO_TEXT","ReferenceHeaderBackgroundColor $BGCOLOR","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $BGCOLOR","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $BGCOLOR","BorderColor $INFO_DARK","FontColor $INFO_DARK","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $BGCOLOR","BorderColor $DARK_DARK","FontColor $DARK_DARK","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $BGCOLOR","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $BGCOLOR","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $BGCOLOR","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $LIGHT","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_DARK","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $BGCOLOR","BorderColor $GRAY","FontColor $GRAY","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
20
+ `),q.hacker={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.hacker=['!$THEME = "hacker"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam BackgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$PRIMARY = "#b5e853"','!$PRIMARY_LIGHT = "#d3f198"','!$PRIMARY_DARK = "#6d8b32"','!$PRIMARY_TEXT = "#151515"','!$SECONDARY = "#6a9fb5"','!$SECONDARY_LIGHT = "#88b2c4"','!$SECONDARY_DARK = "#557f91"','!$SECONDARY_TEXT = "#fefefe"','!$SUCCESS = "#90a959"','!$SUCCESS_LIGHT = "#a6ba7a"','!$INFO = "#aa759f"','!$INFO_LIGHT = "#bb91b2"','!$INFO_DARK = "#885E7F"','!$WARNING = "#f4bf75"','!$WARNING_LIGHT = "#f6cc91"','!$WARNING_TEXT = "#151515"','!$DANGER = "#ac4142"','!$DANGER_LIGHT = "#bd6768"','!$LIGHT = "#151515"','!$DARK = "#eaeaea"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_LIGHT","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","!endprocedure","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_LIGHT","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_LIGHT","LineColor $PRIMARY_LIGHT","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 40","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_DARK","CBorderColor $SECONDARY_LIGHT","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $PRIMARY","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $LIGHT-black","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY","DiamondBorderColor $SECONDARY_LIGHT","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","BorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBackgroundColor $LIGHT","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderBackgroundColor $LIGHT","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $LIGHT-black","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor white","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT-$DANGER","BorderColor $DANGER_LIGHT","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING_LIGHT","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $LIGHT-black","BorderColor $PRIMARY_LIGHT","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $BGCOLOR","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","BackgroundColor $LIGHT-black","BorderColor $PRIMARY_LIGHT","FontColor $DARK","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY","BorderThickness 2","FontColor $PRIMARY_DARK","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $LIGHT","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $LIGHT-black","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $LIGHT-black","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO_LIGHT","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $SECONDARY_LIGHT","FontColor $DARK","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub","","<style>","mindmapDiagram, wbsDiagram {","element {","$primary_scheme()","}",":depth(0) {","fontSize 16","fontStyle bold","fontColor $SECONDARY","}",":depth(1) {","fontSize 14","padding 5","fontStyle bold","}",":depth(2) {","fontSize 12","padding 4","}",":depth(3) {","fontSize 11","padding 3","fontColor $INFO","}","","}","</style>"].join(`
21
+ `),q.lightgray={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.lightgray=['!$THEME = "lightgray"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$WHITE = "#FFF"','!$GRAY_DARK = "#4d4d4d"','!$GRAY = "#737373"','!$LIGHT = "#fcfcfc"','!$DARK = "#303030"',"","!$FGCOLOR = $DARK",'!$PRIMARY = "#e2e2e2"','!$PRIMARY_LIGHT = "#f3f3f3"','!$PRIMARY_DARK = "#888888"','!$PRIMARY_TEXT = "#336699"','!$SECONDARY = "#d2d2d2"','!$SECONDARY_LIGHT = "#dbdbdb"','!$SECONDARY_DARK = "#a8a8a8"','!$SECONDARY_TEXT = "white"','!$INFO = "#336699"','!$INFO_LIGHT = "#5c85ad"','!$INFO_DARK = "#29527a"',"!$INFO_TEXT = $WHITE",'!$SUCCESS = "#339933"','!$SUCCESS_LIGHT = "#5cad5c"','!$SUCCESS_DARK = "#297a29"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING = "#ffae42"','!$WARNING_LIGHT = "#ffbe68"','!$WARNING_DARK = "#cc8b35"',"!$WARNING_TEXT = $WHITE",'!$DANGER = "#ff3333"','!$DANGER_LIGHT = "#ff5c5c"','!$DANGER_DARK = "#cc2929"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_LIGHT","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 30","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 15","skinparam BoxPadding 30","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $SECONDARY_TEXT","BorderColor $SECONDARY","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $PRIMARY","BorderColor $PRIMARY_DARK","FontColor $PRIMARY_TEXT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $SECONDARY_TEXT","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $LIGHT","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_LIGHT","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $WHITE-$LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY_DARK","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor #orange","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor white-$LIGHT","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_DARK","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY_LIGHT","FontColor $PRIMARY_TEXT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor $F2FCFE","FontColor $PRIMARY_TEXT","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","BackgroundColor $BGCOLOR","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","StereotypeFontColor $DARK","StereotypeFontSize 9","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $LIGHT","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $BGCOLOR","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","$primary_scheme()","BackgroundColor $BGCOLOR","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $PRIMARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $PRIMARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BorderColor $PRIMARY_DARK","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
22
+ `),q.mars={author:"future-architect",license:"Apache-2.0",source:"https://github.com/future-architect/puml-themes/tree/master/themes"},pr.mars=["skinparam BackgroundColor F9F9F9","skinparam shadowing false","skinparam RoundCorner 7","skinparam ArrowColor 191919","skinparam FontColor 191919","skinparam SequenceLifeLineBorderColor 393939","skinparam SequenceGroupHeaderFontColor 191919","skinparam SequenceGroupFontColor 393939","skinparam SequenceGroupBorderColor 393939","skinparam SequenceGroupBorderThickness 1","","skinparam sequenceDivider {","BorderColor 191919","BorderThickness 1","FontColor 191919","}","","skinparam participant {","BackgroundColor E55756","BorderColor 191919","FontColor F9F9F9","BorderThickness 1.5","}","","skinparam database {","BackgroundColor A4DBD8","BorderColor 191919","FontColor 191919","}","","skinparam entity {","BackgroundColor EFBABC","BorderColor 191919","FontColor 191919","}","","skinparam note {","BackgroundColor e5e5e5","BorderColor 191919","FontColor 191919","BorderThickness 1.5","}","","skinparam actor {","BackgroundColor 191919","BorderColor 191919","FontColor 191919","}","","skinparam boundary {","BackgroundColor EFBABC","BorderColor 191919","FontColor 191919","}","","skinparam control {","BackgroundColor EFBABC","BorderColor 191919","FontColor 191919","}","","skinparam collections {","BackgroundColor E55756","BorderColor 191919","FontColor 191919","BorderThickness 1.5","}","","skinparam queue {","BackgroundColor E55756","BorderColor 191919","FontColor FFF","BorderThickness 1.5","}"].join(`
23
+ `),q.materia={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.materia=['!$THEME = "materia"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#2196F3"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#e51c23"','!$ORANGE = "#fd7e14"','!$YELLOW = "#ff9800"','!$GREEN = "#4CAF50"','!$TEAL = "#20c997"','!$CYAN = "#9C27B0"','!$WHITE = "#FFF"','!$GRAY_DARK = "#222"','!$GRAY = "#666"','!$PRIMARY = "#2196F3"','!$SECONDARY = "#fff"','!$SUCCESS = "#4CAF50"','!$INFO = "#9C27B0"','!$WARNING = "#ff9800"','!$DANGER = "#e51c23"','!$LIGHT = "#fff"','!$DARK = "#222"',"","!$FGCOLOR = $DARK",'!$PRIMARY_LIGHT = "#4dabf5"','!$PRIMARY_DARK = "#1a78c2"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_LIGHT = "#fff"','!$SECONDARY_DARK = "#cccccc"',"!$SECONDARY_TEXT = $DARK",'!$INFO_LIGHT = "#b052c0"','!$INFO_DARK = "#7D1F8D"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_LIGHT = "#70bf73"','!$SUCCESS_DARK = "#3D8C40"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_LIGHT = "#ffad33"','!$WARNING_DARK = "#CC7A00"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#b7161c"','!$DANGER_LIGHT = "#B7161C"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing true","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $WHITE-$SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor transparent","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $LIGHT","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_LIGHT","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $WHITE-$LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor transparent","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor #orange","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $WHITE-$LIGHT","BorderColor $GRAY","FontColor $GRAY","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","FontColor $PRIMARY","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $WHITE-$SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $WHITE-$SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BorderColor $PRIMARY_DARK","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $GRAY","FontColor $GRAY","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
24
+ `),q["materia-outline"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["materia-outline"]=['!$THEME = "materia-outline"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#2196F3"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#e51c23"','!$ORANGE = "#fd7e14"','!$YELLOW = "#ff9800"','!$GREEN = "#4CAF50"','!$TEAL = "#20c997"','!$CYAN = "#9C27B0"','!$WHITE = "#FFF"','!$GRAY_DARK = "#222"','!$GRAY = "#666"','!$PRIMARY = "#2196F3"','!$SECONDARY = "#fff"','!$SUCCESS = "#4CAF50"','!$INFO = "#9C27B0"','!$WARNING = "#ff9800"','!$DANGER = "#e51c23"','!$LIGHT = "#fff"','!$DARK = "#222"',"","!$FGCOLOR = $DARK",'!$PRIMARY_LIGHT = "#4dabf5"','!$PRIMARY_DARK = "#1a78c2"',"!$PRIMARY_TEXT = $PRIMARY",'!$SECONDARY_LIGHT = "#fff"','!$SECONDARY_DARK = "#cccccc"',"!$SECONDARY_TEXT = $SECONDARY_DARK",'!$INFO_LIGHT = "#b052c0"','!$INFO_DARK = "#7D1F8D"',"!$INFO_TEXT = $INFO",'!$SUCCESS_LIGHT = "#70bf73"','!$SUCCESS_DARK = "#3D8C40"',"!$SUCCESS_TEXT = $SUCCESS",'!$WARNING_LIGHT = "#ffad33"','!$WARNING_DARK = "#CC7A00"',"!$WARNING_TEXT = $WARNING",'!$DANGER_LIGHT = "#B7161C"',"!$DANGER_TEXT = $DANGER","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $BGCOLOR","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $BGCOLOR","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $BGCOLOR","}","separator {","LineColor $SECONDARY_DARK","BackGroundColor $BGCOLOR","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing true","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam TitleFontColor $DARK","skinparam TitleFontSize 20","skinparam TitleBorderThickness 0","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","}","","skinparam legend {","BackgroundColor $BGCOLOR","BorderColor $SECONDARY_DARK","FontColor $DARK","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","' FontColor $PRIMARY_TEXT","' BorderColor $PRIMARY","' BackgroundColor $BGCOLOR","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $BGCOLOR","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","' FontColor $DARK","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $BGCOLOR","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $BGCOLOR","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY_DARK","' FontColor $DARK","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY_DARK","' FontColor $DARK","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY_DARK","' FontColor $DARK","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $BGCOLOR","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $BGCOLOR","BorderColor $GRAY","FontColor $GRAY","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $SUCCESS","' FontColor $SUCCESS_TEXT","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $BGCOLOR","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $DARK","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY_DARK","' FontColor $DARK","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $LIGHT","HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK","' FontColor $PRIMARY_TEXT","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","' FontColor $SUCCESS","' BackgroundColor $BGCOLOR","' BorderColor $SECONDARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_DARK","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $SECONDARY_DARK","BorderThickness 2","' FontColor $SECONDARY_TEXT","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY_DARK","BorderThickness 2","' FontColor $PRIMARY","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","' BackgroundColor $BGCOLOR","' BorderColor $SECONDARY_DARK","' FontColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $WARNING_DARK","' FontColor $WARNING_TEXT","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $BGCOLOR","BorderColor $GRAY","FontColor $GRAY","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","' BackgroundColor $BGCOLOR","' BorderColor $PRIMARY","' FontColor $PRIMARY_TEXT","}","!endsub"].join(`
25
+ `),q.metal={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.metal=['!$THEME = "metal"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$WHITE = "#fdfdfd"','!$GRAY_DARK = "#4d4d4d"','!$GRAY = "#737373"','!$LIGHT = "#f2f2f2"','!$DARK = "#4d4d4d"',"",'!$SILVER = "#c0c0c0"','!$COPPER = "#B87333c"','!$STEELBLUE = "#4682b4"','!$LIGHTSTEELBLUE = "#B0C4DE" ','!$LIGHTSTEELBLUE_DARK = "#8d9db2" ','!$LIGHTSTEELBLUE_LIGHT = "#c0d0e5" ','!$ALUMINUM = "#c9ced0"','!$ALUMINUM_DARK = "#a1a5a6"','!$ALUMINUM_LIGHT = "#d4d8d9"','!$BRONZE = "#CD7F32" ','!$BRONZE_DARK = "#a46628" ','!$BRONZE_LIGHT = "#d7995b" ','!$GOLD = "#FFD700"','!$PLATINUM = "#E5E4E2"','!$RUST = "#B7410E"',"","!$FGCOLOR = $DARK","!$PRIMARY = $PLATINUM",'!$PRIMARY_LIGHT = "#eae9e8"','!$PRIMARY_DARK = "#b7b6b5"',"!$PRIMARY_TEXT = $STEELBLUE","!$SECONDARY = $SILVER",'!$SECONDARY_LIGHT = "#cdcdcd"','!$SECONDARY_DARK = "#9a9a9a"',"!$SECONDARY_TEXT = $WHITE","!$INFO = $STEELBLUE",'!$INFO_LIGHT = "#5c85ad"','!$INFO_DARK = "#29527a"',"!$INFO_TEXT = $WHITE",'!$SUCCESS = "#339933"','!$SUCCESS_LIGHT = "#5cad5c"','!$SUCCESS_DARK = "#297a29"',"!$SUCCESS_TEXT = $WHITE","!$WARNING = $GOLD",'!$WARNING_LIGHT = "#ffdf33"','!$WARNING_DARK = "#ccac00"',"!$WARNING_TEXT = $WHITE","!$DANGER = $RUST",'!$DANGER_LIGHT = "#c5673e"','!$DANGER_DARK = "#92340b"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY-$PRIMARY_DARK","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 30","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 15","skinparam BoxPadding 30","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $WHITE","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","}","","skinparam legend {","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","BorderColor $SECONDARY_DARK","FontColor $PRIMARY_TEXT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $BRONZE","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $WHITE","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $LIGHT","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 3","LifeLineBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $WHITE-$LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY_DARK","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor #orange","BorderColor #999999","FontColor #333333","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $LIGHTSTEELBLUE_LIGHT-$LIGHTSTEELBLUE_DARK","BorderColor $LIGHTSTEELBLUE_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING_DARK","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","BorderColor $PRIMARY","FontColor $DARK","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $DARK","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $LIGHT","BorderThickness 1","AttributeFontColor $WHITE","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $WHITE-$LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","$primary_scheme()","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","BorderColor $RUST","FontColor $RUST","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $PRIMARY_LIGHT-$PRIMARY","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $GRAY","FontColor $LIGHT","","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
26
+ `),q.mimeograph={author:"Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr.mimeograph=['!$THEME = "mimeograph"',"",'!$BGCOLOR = "#D9D3D0"','!$FGCOLOR = "#9275B6"',"","!ifndef $FONT_NAME",'!$FONT_NAME = "Verdana"',"!endif","","!ifndef $FONT_NAME_MONOSPACED",'!$FONT_NAME_MONOSPACED = "Courier"',"!endif","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","HyperLinkColor $FGCOLOR","LineColor $FGCOLOR","LineThickness 1","Margin 5","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","node {","MaximumWidth 300","}","participant {","Margin 5 10","Padding 5 5","}","</style>","","skinparam ArrowLollipopColor $FGCOLOR","skinparam BackgroundColor $BGCOLOR","skinparam DefaultFontName $FONT_NAME","skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED","skinparam LifelineStrategy nosolid","skinparam SequenceLifeLineBorderColor $FGCOLOR","skinparam Shadowing false","skinparam UseBetaStyle true","","skinparam Activity {","BackgroundColor $BGCOLOR","BarColor $FGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Boundary {","FontColor $FGCOLOR","}","skinparam Box {","Padding 5","}","skinparam CircledCharacter {","FontColor $FGCOLOR","FontName $FONT_NAME_MONOSPACED","Radius 9","}","skinparam Class {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassAttribute {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassStereotype {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Footer {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Header {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Hyperlink {","Color $FGCOLOR","}","skinparam IconPackage {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPrivate {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconProtected {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPublic {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam Note {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Object {","BorderColor $FGCOLOR","}","skinparam Package {","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam State {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeA {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeC {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeE {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeI {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeN {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam UseCaseStereoType {","FontColor $FGCOLOR","FontName $FONT_NAME","}"].join(`
27
+ `),q.minty={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.minty=['!$THEME = "minty"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#007bff"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#ff7851"','!$ORANGE = "#fd7e14"','!$YELLOW = "#ffce67"','!$GREEN = "#56cc9d"','!$TEAL = "#20c997"','!$CYAN = "#6cc3d5"','!$WHITE = "#fff"','!$GRAY = "#888"','!$GRAYDARK = "#343a40"','!$PRIMARY = "#78c2ad"','!$SECONDARY = "#f3969a"','!$SUCCESS = "#56cc9d"','!$INFO = "#6cc3d5"','!$WARNING = "#ffce67"','!$DANGER = "#ff7851"','!$LIGHT = "#f8f9fa"','!$DARK = "#343a40"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#6caf9c"','!$PRIMARY_LIGHT = "#86c8b5"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#db878b"','!$SECONDARY_LIGHT = "#f4a1a4"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#61b0c0"','!$INFO_LIGHT = "#7bc9d9"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#4db88d"','!$SUCCESS_LIGHT = "#67d1a7"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#e6b95d"','!$WARNING_LIGHT = "#ffd376"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#e66c49"','!$DANGER_LIGHT = "#ff8662"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#2f343a"','!$DARK_LIGHT = "#484e53"','!$LIGHT_DARK = "#dfe0e1"','!$LIGHT_LIGHT = "#f9fafb"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY_DARK","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
28
+ `),q.mono={author:"Denis Bondarenko feat Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr.mono=['!$THEME = "mono"',"","' Theme colors","",'!if %not(%variable_exists("$CLR_BG"))','!$CLR_BG = "white"',"!endif","","' For icons bg in legend. usage: <THM_BG>","!ifndef THM_BG","!define THM_BG #$CLR_BG","!endif","","' Highlighted background",'!if %not(%variable_exists("$CLR_BG_EMPH"))','!$CLR_BG_EMPH = "#eee"',"!endif","","' Main foreground color",'!if %not(%variable_exists("$CLR_FG"))','!$CLR_FG = "black"',"!endif","","' Less hued, 3 levels","",'!if %not(%variable_exists("$CLR_FG_DIMMED"))','!$CLR_FG_DIMMED = "#666"',"!endif","",'!if %not(%variable_exists("$CLR_FG_DIMMED_2"))','!$CLR_FG_DIMMED_2 = "#999"',"!endif","",'!if %not(%variable_exists("$CLR_FG_DIMMED_3"))','!$CLR_FG_DIMMED_3 = "#ccc"',"!endif","","' Hyperlinks color",'!if %not(%variable_exists("$CLR_HYPERLINK"))','!$CLR_HYPERLINK = "#333"',"!endif","","' Theme fonts","","' Basic font","!ifndef $FNT","","' Multiple fallback fonts defined",'!$FNT_MONO = "Courier"','!$FNT_MONO = "Courier New"','!$FNT = "DejaVu Sans Mono"','!$FNT = "monospace"','!$FNT = "Rec Mono Linear"',"","' The preferred theme font",'!$FNT = "Hack"',"","!endif","","' Monospaced font","!ifndef $FNT_MONO","","' A different font can be used",`' !$FNT_MONO = "Rec Mono Semicasual"`,"!$FNT_MONO = $FNT","!endif","","' Theme body","","<style>","root {","BackgroundColor $CLR_BG","FontColor $CLR_FG","FontName $FNT","HyperLinkColor $CLR_HYPERLINK","LineColor $CLR_FG","LineThickness 1","Margin 5","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","node {","' MaximumWidth 300","}","ganttDiagram {","closed {","BackGroundColor $CLR_BG_EMPH","}","task {","BackGroundColor $CLR_FG_DIMMED_2","LineColor $CLR_FG","unstarted {","BackGroundColor $CLR_FG_DIMMED_3","LineColor $CLR_FG","}","}","note {","LineThickness .5","}","timeline {","LineThickness .5","LineColor $CLR_FG_DIMMED_3","}","separator {","}","}","</style>","","' skinparam is flattened to support YAML, JSON diagram types","skinparam {","","shadowing false","useBetaStyle true","arrowLollipopColor $CLR_FG","backgroundColor $CLR_BG","lifelineStrategy nosolid","","defaultFontName $FNT","defaultMonospacedFontName $FNT_MONO","","hyperlinkColor $CLR_HYPERLINK","","headerFontColor $CLR_FG_DIMMED_2","headerFontName $FNT","","footerFontColor $CLR_FG_DIMMED_2","footerFontName $FNT","","legendBorderThickness 0","legendBorderColor transparent","","noteFontColor $CLR_FG","noteFontName $FNT","","packageBorderColor $CLR_FG","packageFontColor $CLR_FG","packageFontName $FNT","","nodeStereotypeFontColor $CLR_FG_DIMMED","nodeStereotypeFontName $FNT","nodeStereotypeFontSize 10","","componentStereotypeFontColor $CLR_FG_DIMMED","componentStereotypeFontName $FNT","componentStereotypeFontSize 10","","participantPadding 10","","actorStereotypeFontColor $CLR_FG_DIMMED","actorStereotypeFontName $FNT","actorStereotypeFontSize 10","","useCaseStereoTypeFontColor $CLR_FG","useCaseStereoTypeFontName $FNT","","classBackgroundColor $CLR_BG","classBorderColor $CLR_FG","classFontColor $CLR_FG","classFontName $FNT","classAttributeFontColor $CLR_FG","classAttributeFontName $FNT","classStereotypeFontColor $CLR_FG_DIMMED","classStereotypeFontName $FNT","classStereotypeFontSize 10","","objectBorderColor $CLR_FG","","activityBackgroundColor $CLR_BG","activityBarColor $CLR_FG","activityBorderColor $CLR_FG","activityFontColor $CLR_FG","activityFontName $FNT","","sequenceLifeLineBorderColor $CLR_FG","","stateBackgroundColor $CLR_BG","stateBorderColor $CLR_FG","","boundaryFontColor $CLR_FG","","boxPadding 5","","circledCharacterFontColor $CLR_FG","circledCharacterFontName $FNT_MONO","circledCharacterFontSize 10","circledCharacterRadius 8","","stereotypeFontColor $CLR_FG_DIMMED","stereotypeFontName $FNT","stereotypeFontSize 10","stereotypeABackgroundColor $CLR_BG","stereotypeABorderColor $CLR_FG","stereotypeCBackgroundColor $CLR_BG","stereotypeCBorderColor $CLR_FG","stereotypeEBackgroundColor $CLR_BG","stereotypeEBorderColor $CLR_FG","stereotypeIBackgroundColor $CLR_BG","stereotypeIBorderColor $CLR_FG","stereotypeNBackgroundColor $CLR_BG","stereotypeNBorderColor $CLR_FG","","iconPackageColor $CLR_FG","iconPackageBackgroundColor $CLR_BG","iconPrivateColor $CLR_FG","iconPrivateBackgroundColor $CLR_BG","iconProtectedColor $CLR_FG","iconProtectedBackgroundColor $CLR_BG","iconPublicColor $CLR_FG","iconPublicBackgroundColor $CLR_BG","","}"].join(`
29
+ `),q.plain={author:"Matthew Leather",license:"PlantUML (Apache-2.0 asl edition)",source:""},pr.plain=['!$THEME = "plain"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "white"',"!endif","",'!if %not(%variable_exists("$FGCOLOR"))','!$FGCOLOR = "black"',"!endif","",'!if %not(%variable_exists("$HYPERLINK_COLOR"))','!$HYPERLINK_COLOR = "blue"',"!endif","","!ifndef $FONT_NAME",'!$FONT_NAME = "Verdana"',"!endif","","!ifndef $FONT_NAME_MONOSPACED",'!$FONT_NAME_MONOSPACED = "Courier"',"!endif","","<style>","root {","BackgroundColor $BGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","HyperLinkColor $HYPERLINK_COLOR","LineColor $FGCOLOR","LineThickness 1","Margin 5","}","document {","caption {","LineThickness 0","}","footer {","LineThickness 0","}","header {","LineThickness 0","}","title {","FontSize 22","LineThickness 0","}","}","node {","MaximumWidth 300","}","participant {","Margin 5 10","Padding 5 5","}","</style>","","skinparam ArrowLollipopColor $FGCOLOR","skinparam BackgroundColor $BGCOLOR","skinparam DefaultFontName $FONT_NAME","skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED","skinparam LifelineStrategy nosolid","skinparam SequenceLifeLineBorderColor $FGCOLOR","skinparam Shadowing false","skinparam UseBetaStyle true","","skinparam Activity {","BackgroundColor $BGCOLOR","BarColor $FGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Boundary {","FontColor $FGCOLOR","}","skinparam Box {","Padding 5","}","skinparam CircledCharacter {","FontColor $FGCOLOR","FontName $FONT_NAME_MONOSPACED","Radius 9","}","skinparam Class {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassAttribute {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam ClassStereotype {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Footer {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Header {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Hyperlink {","Color $HYPERLINK_COLOR","}","skinparam IconPackage {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPrivate {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconProtected {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam IconPublic {","Color $FGCOLOR","BackgroundColor $BGCOLOR","}","skinparam Note {","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam Object {","BorderColor $FGCOLOR","}","skinparam Package {","BorderColor $FGCOLOR","FontColor $FGCOLOR","FontName $FONT_NAME","}","skinparam State {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeA {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeC {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeE {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeI {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam StereotypeN {","BackgroundColor $BGCOLOR","BorderColor $FGCOLOR","}","skinparam UseCaseStereoType {","FontColor $FGCOLOR","FontName $FONT_NAME","}"].join(`
30
+ `),q["reddress-darkblue"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-darkblue"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","","skinparam backgroundColor 777",'!$ACCENT = "1a66c2"','!$ACCENTDARK = "002642"',"skinparam stereotypeCBackgroundColor $ACCENT",'!$PRIMARYFONTCOLOR = "fff"','!$SECONDARY = "aaa"','!$ARROWCOLOR = "fff"','!$ARROWFONTCOLOR = "bbb"','!$BORDERCOLOR = "1b1b1b"','!$BOXBG = "2e2e2e"','!$LIGHTBORDERCOLOR = "767676"','!$LIGHTBG = "575757"',"skinparam backgroundColor 777","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
31
+ `),q["reddress-darkgreen"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-darkgreen"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "228811"','!$ACCENTDARK = "113300"',"skinparam stereotypeCBackgroundColor $ACCENT",'!$PRIMARYFONTCOLOR = "fff"','!$SECONDARY = "aaa"','!$ARROWCOLOR = "fff"','!$ARROWFONTCOLOR = "bbb"','!$BORDERCOLOR = "1b1b1b"','!$BOXBG = "2e2e2e"','!$LIGHTBORDERCOLOR = "767676"','!$LIGHTBG = "575757"',"skinparam backgroundColor 777","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
32
+ `),q["reddress-darkorange"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-darkorange"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "BB6600"','!$ACCENTDARK = "662200"',"skinparam stereotypeCBackgroundColor $ACCENT",'!$PRIMARYFONTCOLOR = "fff"','!$SECONDARY = "aaa"','!$ARROWCOLOR = "fff"','!$ARROWFONTCOLOR = "bbb"','!$BORDERCOLOR = "1b1b1b"','!$BOXBG = "2e2e2e"','!$LIGHTBORDERCOLOR = "767676"','!$LIGHTBG = "575757"',"skinparam backgroundColor 777","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
33
+ `),q["reddress-darkred"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-darkred"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "880000"','!$ACCENTDARK = "330000"',"skinparam stereotypeCBackgroundColor $ACCENT",'!$PRIMARYFONTCOLOR = "fff"','!$SECONDARY = "aaa"','!$ARROWCOLOR = "fff"','!$ARROWFONTCOLOR = "bbb"','!$BORDERCOLOR = "1b1b1b"','!$BOXBG = "2e2e2e"','!$LIGHTBORDERCOLOR = "767676"','!$LIGHTBG = "575757"',"skinparam backgroundColor 777","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
34
+ `),q["reddress-lightblue"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-lightblue"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "2a86e2"','!$ACCENTDARK = "1a66c2"',"skinparam stereotypeCBackgroundColor $ACCENTDARK",'!$PRIMARYFONTCOLOR = "000"','!$SECONDARY = "333"','!$ARROWCOLOR = "000"','!$ARROWFONTCOLOR = "333"','!$BORDERCOLOR = "aaa"','!$BOXBG = "ccc"','!$LIGHTBORDERCOLOR = "cccccc"','!$LIGHTBG = "e0e0e0"',"skinparam backgroundColor fff","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
35
+ `),q["reddress-lightgreen"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-lightgreen"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "55BB33"','!$ACCENTDARK = "338822"',"skinparam stereotypeCBackgroundColor $ACCENTDARK",'!$PRIMARYFONTCOLOR = "000"','!$SECONDARY = "333"','!$ARROWCOLOR = "000"','!$ARROWFONTCOLOR = "333"','!$BORDERCOLOR = "aaa"','!$BOXBG = "ccc"','!$LIGHTBORDERCOLOR = "cccccc"','!$LIGHTBG = "e0e0e0"',"skinparam backgroundColor fff","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
36
+ `),q["reddress-lightorange"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-lightorange"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "FF8800"','!$ACCENTDARK = "BB6600"',"skinparam stereotypeCBackgroundColor $ACCENT",'!$PRIMARYFONTCOLOR = "000"','!$SECONDARY = "333"','!$ARROWCOLOR = "000"','!$ARROWFONTCOLOR = "333"','!$BORDERCOLOR = "aaa"','!$BOXBG = "ccc"','!$LIGHTBORDERCOLOR = "cccccc"','!$LIGHTBG = "e0e0e0"',"skinparam backgroundColor fff","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
37
+ `),q["reddress-lightred"]={author:"Drakemor",license:"MIT",source:"https://github.com/Drakemor/RedDress-PlantUML"},pr["reddress-lightred"]=['!if (%not(%variable_exists("$FONTNAME")))','!$FONTNAME = "Verdana"',"!endif","",'!if (%not(%variable_exists("$FONTSIZE")))',"!$FONTSIZE = 11","!endif","",'!$ACCENT = "CC0033"','!$ACCENTDARK = "AA0033"',"skinparam stereotypeCBackgroundColor $ACCENTDARK",'!$PRIMARYFONTCOLOR = "000"','!$SECONDARY = "333"','!$ARROWCOLOR = "000"','!$ARROWFONTCOLOR = "333"','!$BORDERCOLOR = "aaa"','!$BOXBG = "ccc"','!$LIGHTBORDERCOLOR = "cccccc"','!$LIGHTBG = "e0e0e0"',"skinparam backgroundColor fff","","!procedure font_style()","fontColor $PRIMARYFONTCOLOR","fontName $FONTNAME","fontSize $FONTSIZE","stereotypeFontColor $SECONDARY","stereotypeFontSize $FONTSIZE","!endprocedure","","!procedure basic_style()","backgroundColor $BOXBG","borderColor $BORDERCOLOR","!endprocedure","","!procedure light_style()","backgroundColor $LIGHTBG","borderColor $LIGHTBORDERCOLOR","!endprocedure","","!procedure accent_style()","backgroundColor $ACCENT","borderColor $ACCENTDARK","!endprocedure","","!procedure arrow_style()","arrowColor $ARROWCOLOR","arrowFontName $FONTNAME","arrowFontColor $ARROWFONTCOLOR","arrowFontSize $FONTSIZE","!endprocedure","","' Class diagrams","","skinparam circledCharacter {","radius 8","fontSize $FONTSIZE","fontName $FONTNAME","}","","skinparam class {","basic_style()","font_style()","arrow_style()","","attributeFontColor $SECONDARY","attributeFontSize $FONTSIZE","attributeIconSize $FONTSIZE","}","","' Sequence diagrams","","skinparam actor {","accent_style()","font_style()","}","","skinparam participant {","basic_style()","font_style()","}","","skinparam collections {","basic_style()","font_style()","}","","skinparam SequenceBox{","light_style()","font_style()","}","","' Component diagrams","","skinparam interface {","accent_style()","font_style()","}","","skinparam component {","basic_style()","font_style()","}","","skinparam node {","basic_style()","font_style()","}","","skinparam database {","basic_style()","font_style()","}","","skinparam queue {","basic_style()","font_style()","}","","' Use Case diagrams","","skinparam usecase {","basic_style()","font_style()","arrow_style()","}","","skinparam activity {","basic_style()","font_style()","arrow_style()","}","","skinparam sequence {","font_style()","arrow_style()","","lifeLineBorderColor $ACCENT","lifeLineBackgroundColor $LIGHTBG","}","","skinparam boundary {","accent_style()","font_style()","}","","skinparam control {","accent_style()","font_style()","}","","skinparam entity {","accent_style()","font_style()","}","","' State diagrams","","skinparam state {","basic_style()","font_style()","arrow_style()","startColor $ACCENT","endColor $ACCENTDARK","}","","' Object diagrams","","skinparam object {","basic_style()","font_style()","arrow_style()","}","","' Common","","skinparam note {","accent_style()","font_style()","}","","skinparam cloud {","basic_style()","font_style()","arrow_style()","}","","skinparam rectangle {","basic_style()","font_style()","}","","skinparam storage {","basic_style()","font_style()","}"].join(`
38
+ `),q.sandstone={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.sandstone=['!$THEME = "sandstone"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#325d88"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#d9534f"','!$ORANGE = "#f47c3c"','!$YELLOW = "#ffc107"','!$GREEN = "#93c54b"','!$TEAL = "#20c997"','!$CYAN = "#29abe0"','!$WHITE = "#fff"','!$GRAY = "#8e8c84"','!$GRAYDARK = "#3e3f3a"','!$PRIMARY = "#325d88"','!$SECONDARY = "#8e8c84"','!$SUCCESS = "#93c54b"','!$INFO = "#29abe0"','!$WARNING = "#f47c3c"','!$DANGER = "#d9534f"','!$LIGHT = "#f8f5f0"','!$DARK = "#3e3f3a"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#2d547a"','!$PRIMARY_LIGHT = "#476d94"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#807e77"','!$SECONDARY_LIGHT = "#999890"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#259aca"','!$INFO_LIGHT = "#3eb3e3"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#84b144"','!$SUCCESS_LIGHT = "#9ecb5d"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#dc7036"','!$WARNING_LIGHT = "#f58950"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#c34b47"','!$DANGER_LIGHT = "#AE423F"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#383934"','!$DARK_LIGHT = "#51524e"','!$LIGHT_DARK = "#dfddd8"','!$LIGHT_LIGHT = "#f9f6f2"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BackgroundColor $PRIMARY_LIGHT","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
39
+ `),q.silver={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.silver=['!$THEME = "silver"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$WHITE = "#FFF"','!$GRAY_DARK = "#4d4d4d"','!$GRAY = "#737373"','!$LIGHT = "#ffffff"','!$DARK = "#303030"',"","!$FGCOLOR = $DARK",'!$PRIMARY = "#eeeeee"','!$PRIMARY_LIGHT = "#f1f1f1"','!$PRIMARY_DARK = "#bebebe"','!$PRIMARY_TEXT = "#336699"','!$SECONDARY = "#d6d6d6"','!$SECONDARY_LIGHT = "#dedede"','!$SECONDARY_DARK = "#ababab"',"!$SECONDARY_TEXT = $LIGHT",'!$INFO = "#336699"','!$INFO_LIGHT = "#5c85ad"','!$INFO_DARK = "#29527a"',"!$INFO_TEXT = $WHITE",'!$SUCCESS = "#339933"','!$SUCCESS_LIGHT = "#5cad5c"','!$SUCCESS_DARK = "#297a29"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING = "#ffae42"','!$WARNING_LIGHT = "#ffbe68"','!$WARNING_DARK = "#cc8b35"',"!$WARNING_TEXT = $WHITE",'!$DANGER = "#ff3333"','!$DANGER_LIGHT = "#ff5c5c"','!$DANGER_DARK = "#cc2929"',"!$DANGER_TEXT = $WHITE","","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_LIGHT","BackgroundColor $PRIMARY-$PRIMARY_DARK","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 30","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 15","skinparam BoxPadding 30","skinparam ArrowColor $GRAY","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $DARK","}","","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $LIGHT","BoxBorderColor $GRAY","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY_DARK","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_LIGHT","GroupBorderColor $GRAY","GroupFontColor $DARK","GroupHeaderFontColor $INFO","DividerBackgroundColor $WHITE-$LIGHT","DividerBorderColor $GRAY","DividerBorderThickness 2","DividerFontColor $DARK","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $GRAY","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","StereotypeFontColor $PRIMARY_TEXT","}","","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY_DARK","BackgroundColor $BGCOLOR","}","","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor #orange","BorderColor #999999","FontColor #333333","}","","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $WHITE","}","","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_LIGHT","BorderColor $DANGER","FontColor $DARK","}","","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING_LIGHT-$WARNING","BorderColor $WARNING","FontColor $WARNING_TEXT","}","","!endsub","","!startsub node","","skinparam node {","BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","BorderColor $PRIMARY_LIGHT","FontColor $PRIMARY_TEXT","}","","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $DARK","}","","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 9","}","","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $LIGHT","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $PRIMARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","","!endsub","","!startsub package","","skinparam package {","$primary_scheme()","BorderThickness 2","}","","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $PRIMARY-$PRIMARY_DARK","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $PRIMARY-$PRIMARY_DARK","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO","BorderColor $INFO","FontColor $INFO_TEXT","}","","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","","}","","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","","!endsub"].join(`
40
+ `),q.sketchy={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.sketchy=['!$THEME = "sketchy"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","!option handwritten true","skinparam shadowing false","",'!$BLUE = "#007bff"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#dc3545"','!$ORANGE = "#fd7e14"','!$YELLOW = "#ffc107"','!$GREEN = "#28a745"','!$TEAL = "#20c997"','!$CYAN = "#17a2b8"','!$WHITE = "#ffffff"','!$GRAY = "#868e96"','!$GRAYDARK = "#333333"','!$PRIMARY = "#333333"','!$SECONDARY = "#555555"','!$SUCCESS = "#28a745"','!$INFO = "#17a2b8"','!$WARNING = "#ffc107"','!$DANGER = "#dc3545"','!$LIGHT = "#ffffff"','!$DARK = "#555555"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#2e2e2e"','!$PRIMARY_LIGHT = "#474747"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#4d4d4d"','!$SECONDARY_LIGHT = "#666666"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#1592a6"','!$INFO_LIGHT = "#2eabbf"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#24963e"','!$SUCCESS_LIGHT = "#3eb058"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#e6ae06"','!$WARNING_LIGHT = "#ffc720"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#c6303e"','!$DANGER_LIGHT = "#e04958"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#4d4d4d"','!$DARK_LIGHT = "#666666"','!$LIGHT_DARK = "#e6e6e6"','!$LIGHT_LIGHT = "#ffffff"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $PRIMARY_LIGHT","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Segoe Print"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $FGCOLOR","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $FGCOLOR","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $FGCOLOR","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
41
+ `),q["sketchy-outline"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["sketchy-outline"]=['!$THEME = "sketchy-outline"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","!option handwritten true","skinparam shadowing false","",'!$BLUE = "#007bff"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#dc3545"','!$ORANGE = "#fd7e14"','!$YELLOW = "#ffc107"','!$GREEN = "#28a745"','!$TEAL = "#20c997"','!$CYAN = "#17a2b8"','!$WHITE = "#ffffff"','!$GRAY = "#868e96"','!$GRAYDARK = "#333333"','!$PRIMARY = "#333333"','!$SECONDARY = "#555555"','!$SUCCESS = "#28a745"','!$INFO = "#17a2b8"','!$WARNING = "#ffc107"','!$DANGER = "#dc3545"','!$LIGHT = "#ffffff"','!$DARK = "#555555"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#2e2e2e"','!$PRIMARY_LIGHT = "#474747"','!$PRIMARY_TEXT = "#2e2e2e"','!$SECONDARY_DARK = "#4d4d4d"','!$SECONDARY_LIGHT = "#666666"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#1592a6"','!$INFO_LIGHT = "#2eabbf"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#24963e"','!$SUCCESS_LIGHT = "#3eb058"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#e6ae06"','!$WARNING_LIGHT = "#ffc720"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#c6303e"','!$DANGER_LIGHT = "#e04958"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#4d4d4d"','!$DARK_LIGHT = "#666666"','!$LIGHT_DARK = "#e6e6e6"','!$LIGHT_LIGHT = "#ffffff"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY","BackgroundColor $BGCOLOR","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $BGCOLOR","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $BGCOLOR","}","separator {","LineColor $SECONDARY_DARK","BackGroundColor $BGCOLOR","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Segoe Print"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $BGCOLOR","CBorderColor $SECONDARY_DARK","ABackgroundColor $BGCOLOR","ABorderColor $SUCCESS_DARK","IBackgroundColor $BGCOLOR","IBorderColor $DANGER_DARK","EBackgroundColor $BGCOLOR","EBorderColor $WARNING_DARK","NBackgroundColor $BGCOLOR","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY_TEXT","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","}","","skinparam legend {","BackgroundColor $BGCOLOR","BorderColor $SECONDARY_DARK","FontColor $PRIMARY_TEXT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $BGCOLOR","TitleFontColor $PRIMARY_TEXT","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $BGCOLOR","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $PRIMARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $PRIMARY_TEXT","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY_TEXT","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $BGCOLOR","BorderColor $DARK_DARK","FontColor $DARK_DARK","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $BGCOLOR","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $BGCOLOR","BorderColor $WARNING_DARK","FontColor $WARNING_DARK","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $BGCOLOR","BorderColor #F2FCFE","FontColor $PRIMARY_TEXT","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $BGCOLOR","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $PRIMARY_TEXT","BorderThickness 1","AttributeFontColor $PRIMARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $BGCOLOR","BorderColor $INFO_DARK","FontColor $INFO_DARK","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $BGCOLOR","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
42
+ `),q.spacelab={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.spacelab=['!$THEME = "spacelab"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#446e9b"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#cd0200"','!$ORANGE = "#fd7e14"','!$YELLOW = "#d47500"','!$GREEN = "#3cb521"','!$TEAL = "#20c997"','!$CYAN = "#3399f3"','!$WHITE = "#ffffff"','!$GRAY = "#777777"','!$GRAYDARK = "#333333"','!$PRIMARY = "#446e9b"','!$SECONDARY = "#999999"','!$SUCCESS = "#3cb521"','!$INFO = "#3399f3"','!$WARNING = "#d47500"','!$DANGER = "#cd0200"','!$LIGHT = "#eeeeee"','!$DARK = "#333333"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#304d6d"','!$PRIMARY_LIGHT = "#7c9ab9"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#6b6b6b"','!$SECONDARY_LIGHT = "#b8b8b8"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#246baa"','!$INFO_LIGHT = "#70b8f7"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#32a243"','!$SUCCESS_LIGHT = "#4cbc5c"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#945200"','!$WARNING_LIGHT = "#e19e4d"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#900100"','!$DANGER_LIGHT = "#dc4e4d"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#242424"','!$DARK_LIGHT = "#707070"','!$LIGHT_DARK = "#a7a7a7"','!$LIGHT_LIGHT = "#f3f3f3"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY_DARK","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY_DARK","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK_LIGHT-$DARK_DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $WHITE","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $LIGHT","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
43
+ `),q["spacelab-white"]={author:"KingPlus-lang",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["spacelab-white"]=['!$THEME = "spacelab-white"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "white"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#446e9b"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#cd0200"','!$ORANGE = "#fd7e14"','!$YELLOW = "#d47500"','!$GREEN = "#3cb521"','!$TEAL = "#20c997"','!$CYAN = "#3399f3"','!$WHITE = "#ffffff"','!$GRAY = "#777777"','!$GRAYDARK = "#333333"','!$PRIMARY = "#446e9b"','!$SECONDARY = "#999999"','!$SUCCESS = "#3cb521"','!$INFO = "#3399f3"','!$WARNING = "#d47500"','!$DANGER = "#cd0200"','!$LIGHT = "#eeeeee"','!$DARK = "#333333"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#304d6d"','!$PRIMARY_LIGHT = "#7c9ab9"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#6b6b6b"','!$SECONDARY_LIGHT = "#b8b8b8"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#246baa"','!$INFO_LIGHT = "#70b8f7"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#32a243"','!$SUCCESS_LIGHT = "#4cbc5c"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#945200"','!$WARNING_LIGHT = "#e19e4d"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#900100"','!$DANGER_LIGHT = "#dc4e4d"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#242424"','!$DARK_LIGHT = "#707070"','!$LIGHT_DARK = "#a7a7a7"','!$LIGHT_LIGHT = "#f3f3f3"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY_DARK","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY_DARK","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK_LIGHT-$DARK_DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $WHITE","HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY","StereotypeFontColor $LIGHT","BorderThickness 1","AttributeFontColor $LIGHT","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO_LIGHT-$INFO_DARK","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK-$SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
44
+ `),q.superhero={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.superhero=['!$THEME = "superhero"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#DF691A"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#d9534f"','!$ORANGE = "#f0ad4e"','!$YELLOW = "#f0ad4e"','!$GREEN = "#5cb85c"','!$TEAL = "#20c997"','!$CYAN = "#5bc0de"','!$WHITE = "#FFF"','!$GRAY_LIGHT = "#222"','!$GRAY = "#868e96"','!$PRIMARY = "#DF691A"','!$SECONDARY = "#4E5D6C"','!$SUCCESS = "#5cb85c"','!$INFO = "#5bc0de"','!$WARNING = "#f0ad4e"','!$DANGER = "#d9534f"','!$LIGHT = "#abb6c2"','!$DARK = "#4E5D6C"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#e58748"','!$PRIMARY_LIGHT = "#b25415"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#717d89"','!$SECONDARY_LIGHT = "#3e4a56"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#7ccde5"','!$INFO_LIGHT = "#499AB2"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#4a934a"','!$SUCCESS_LIGHT = "#5F8F00"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#f3bd71"','!$WARNING_LIGHT = "#C08A3E"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#e17572"','!$DANGER_LIGHT = "#AE423F"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#717d89"','!$DARK_LIGHT = "#3e4a56"','!$LIGHT_DARK = "#bcc5ce"','!$LIGHT_LIGHT = "#89929b"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_LIGHT","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_LIGHT","LineColor $PRIMARY_LIGHT","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","BorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBackgroundColor $SECONDARY","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $LIGHT-black","BorderColor $LIGHT","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
45
+ `),q["superhero-outline"]={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr["superhero-outline"]=['!$THEME = "superhero-outline"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#DF691A"','!$INDIGO = "#6610f2"','!$PURPLE = "#6f42c1"','!$PINK = "#e83e8c"','!$RED = "#d9534f"','!$ORANGE = "#f0ad4e"','!$YELLOW = "#f0ad4e"','!$GREEN = "#5cb85c"','!$TEAL = "#20c997"','!$CYAN = "#5bc0de"','!$WHITE = "#FFF"','!$GRAY_LIGHT = "#222"','!$GRAY = "#868e96"','!$PRIMARY = "#DF691A"','!$SECONDARY = "#4E5D6C"','!$SUCCESS = "#5cb85c"','!$INFO = "#5bc0de"','!$WARNING = "#f0ad4e"','!$DANGER = "#d9534f"','!$LIGHT = "#abb6c2"','!$DARK = "#4E5D6C"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#e58748"','!$PRIMARY_LIGHT = "#b25415"',"!$PRIMARY_TEXT = $PRIMARY",'!$SECONDARY_DARK = "#717d89"','!$SECONDARY_LIGHT = "#3e4a56"',"!$SECONDARY_TEXT = $SECONDARY_DARK ",'!$INFO_DARK = "#7ccde5"','!$INFO_LIGHT = "#499AB2"',"!$INFO_TEXT = $INFO",'!$SUCCESS_DARK = "#4a934a"','!$SUCCESS_LIGHT = "#5F8F00"',"!$SUCCESS_TEXT = $SUCCESS",'!$WARNING_DARK = "#f3bd71"','!$WARNING_LIGHT = "#C08A3E"',"!$WARNING_TEXT = $WARNING",'!$DANGER_DARK = "#e17572"','!$DANGER_LIGHT = "#AE423F"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#717d89"','!$DARK_LIGHT = "#3e4a56"','!$LIGHT_DARK = "#bcc5ce"','!$LIGHT_LIGHT = "#89929b"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $BGCOLOR","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $BGCOLOR","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_LIGHT","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_LIGHT","LineColor $PRIMARY_LIGHT","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $BGCOLOR","}","separator {","LineColor $SECONDARY_DARK","BackGroundColor $BGCOLOR","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam TitleFontColor $DARK","skinparam TitleFontSize 20","skinparam TitleBorderThickness 0","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_DARK","CBorderColor $SECONDARY_LIGHT","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $BGCOLOR","}","","skinparam legend {","BackgroundColor $BGCOLOR","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $BGCOLOR","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $BGCOLOR","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $BGCOLOR","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $BGCOLOR","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $LIGHT","ReferenceFontColor $LIGHT","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $BGCOLOR","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $BGCOLOR","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $BGCOLOR","BorderColor $INFO_DARK","FontColor $INFO_DARK","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $BGCOLOR","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $BGCOLOR","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $BGCOLOR","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $BGCOLOR","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor $BGCOLOR","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","FontColor $PRIMARY","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","FontColor $LIGHT","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_DARK","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $BGCOLOR","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $BGCOLOR","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $BGCOLOR","BorderColor $INFO","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $BGCOLOR","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
46
+ `),q.toy={author:"future-architect",license:"Apache-2.0",source:"https://github.com/future-architect/puml-themes/tree/master/themes"},pr.toy=["skinparam BackgroundColor DDDDDD","skinparam shadowing false","skinparam RoundCorner 7","skinparam ArrowColor 454645","skinparam FontColor 454645","skinparam SequenceLifeLineBorderColor 454645","skinparam SequenceGroupHeaderFontColor 454645","skinparam SequenceGroupFontColor 454645","skinparam SequenceGroupBorderColor 454645","skinparam SequenceGroupBorderThickness 1","","skinparam sequenceDivider {","BorderColor 454645","BorderThickness 1","FontColor 454645","}","","skinparam participant {","BackgroundColor FF6F61","BorderColor 454645","FontColor White","BorderThickness 1.5","}","","skinparam database {","BackgroundColor 98DDDE","BorderColor 454645","FontColor 454645","}","","skinparam entity {","BackgroundColor FFDA29","BorderColor 454645","FontColor 454645","}","","skinparam note {","BackgroundColor LightGreen","BorderColor 454645","FontColor 454645","BorderThickness 1","}","","skinparam actor {","BackgroundColor 454645","BorderColor 454645","FontColor 454645","}","","skinparam boundary {","BackgroundColor FFDA29","BorderColor 454645","FontColor 454645","}","","skinparam control {","BackgroundColor FFDA29","BorderColor 454645","FontColor 454645","}","","skinparam collections {","BackgroundColor FF6F61","BorderColor 454645","FontColor 454645","BorderThickness 1.5","}","","skinparam queue {","BackgroundColor FF6F61","BorderColor 454645","FontColor FFF","BorderThickness 1.5","}"].join(`
47
+ `),q.united={author:"Brett Schwarz",license:"MIT",source:"https://github.com/bschwarz/puml-themes"},pr.united=['!$THEME = "united"',"",'!if %not(%variable_exists("$BGCOLOR"))','!$BGCOLOR = "transparent"',"!endif","","skinparam backgroundColor $BGCOLOR","skinparam useBetaStyle false","",'!$BLUE = "#007bff"','!$INDIGO = "#6610f2"','!$PURPLE = "#772953"','!$PINK = "#e83e8c"','!$RED = "#df382c"','!$ORANGE = "#e95420"','!$YELLOW = "#efb73e"','!$GREEN = "#38b44a"','!$TEAL = "#20c997"','!$CYAN = "#17a2b8"','!$WHITE = "#fff"','!$GRAY = "#868e96"','!$GRAYDARK = "#333"','!$PRIMARY = "#e95420"','!$SECONDARY = "#aea79f"','!$SUCCESS = "#38b44a"','!$INFO = "#17a2b8"','!$WARNING = "#efb73e"','!$DANGER = "#df382c"','!$LIGHT = "#e9ecef"','!$DARK = "#772953"',"","!$FGCOLOR = $WHITE",'!$PRIMARY_DARK = "#d24c1d"','!$PRIMARY_LIGHT = "#eb6536"',"!$PRIMARY_TEXT = $WHITE",'!$SECONDARY_DARK = "#9d968f"','!$SECONDARY_LIGHT = "#b6b0a9"',"!$SECONDARY_TEXT = $WHITE",'!$INFO_DARK = "#1592a6"','!$INFO_LIGHT = "#2eabbf"',"!$INFO_TEXT = $WHITE",'!$SUCCESS_DARK = "#32a243"','!$SUCCESS_LIGHT = "#4cbc5c"',"!$SUCCESS_TEXT = $WHITE",'!$WARNING_DARK = "#d7a538"','!$WARNING_LIGHT = "#f1be51"',"!$WARNING_TEXT = $WHITE",'!$DANGER_DARK = "#c93228"','!$DANGER_LIGHT = "#e24c41"',"!$DANGER_TEXT = $WHITE",'!$DARK_DARK = "#6b254b"','!$DARK_LIGHT = "#853e64"','!$LIGHT_DARK = "#d2d4d7"','!$LIGHT_LIGHT = "#ebeef1"',"","!procedure $success($msg)","<font color=$SUCCESS><b>$msg","!endprocedure","","!procedure $failure($msg)","<font color=$DANGER><b>$msg","!endprocedure","","!procedure $warning($msg)","<font color=$WARNING><b>$msg","!endprocedure","","!procedure $primary_scheme()","FontColor $PRIMARY_TEXT","BorderColor $PRIMARY_DARK","BackgroundColor $PRIMARY","!endprocedure","<style>","root {","BackgroundColor $BGCOLOR","FontColor $PRIMARY_TEXT","HyperLinkColor $ORANGE","LineColor $PRIMARY_DARK","LineThickness 1","Margin 10","Padding 6","Shadowing 0.0","}","node {","Padding 15","roundcorner 20","BackgroundColor $PRIMARY-$PRIMARY_DARK","}","caption {","LineThickness 0","}","footer {","LineThickness 0","}","groupHeader {","BackgroundColor $SECONDARY","FontColor $INFO","FontStyle bold","}","header {","LineThickness 0","}","referenceHeader {","BackgroundColor $BGCOLOR","FontColor $DARK","FontStyle bold","}","separator {","BackgroundColor $FGCOLOR","FontColor $BGCOLOR","FontStyle bold","}","title {","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","FontColor $PRIMARY","BorderColor $SECONDARY","}","nwdiagDiagram {","network {","$primary_scheme() ","LineColor $PRIMARY","LineThickness 1.0","FontColor $PRIMARY_DARK","}","server {","$primary_scheme()","}","arrow {","FontColor $PRIMARY_DARK","LineColor $PRIMARY_DARK","}","group {","BackGroundColor $LIGHT","LineColor $LIGHT_DARK","LineThickness 2.0","Margin 5","Padding 5","}","}","participant {","Margin 5 40","Padding 15 20","}","ganttDiagram {","task {","$primary_scheme()","LineColor $PRIMARY","Margin 10 2 2 2","Padding 6","}","note {","FontColor $INFO_TEXT","LineColor $INFO_DARK","BackGroundColor $INFO","}","separator {","LineColor $SECONDARY","BackGroundColor $SECONDARY-$SECONDARY_DARK","FontColor $SECONDARY_TEXT","}","milestone {","FontColor $INFO","FontSize 16","FontStyle italic","BackGroundColor $SECONDARY","LineColor $SECONDARY_DARK","}","timeline {","BackgroundColor $SECONDARY","FontColor $SECONDARY_TEXT","}","closed {","BackgroundColor $WARNING_DARK","FontColor $WARNING_TEXT","}","}","</style>",'skinparam defaultFontName "Verdana"',"skinparam defaultFontSize 12","skinparam dpi 100","skinparam shadowing false","skinparam roundcorner 8","skinparam BoxPadding 40","skinparam ArrowColor $DARK","skinparam stereotype {","CBackgroundColor $SECONDARY_LIGHT","CBorderColor $SECONDARY_DARK","ABackgroundColor $SUCCESS_LIGHT","ABorderColor $SUCCESS_DARK","IBackgroundColor $DANGER_LIGHT","IBorderColor $DANGER_DARK","EBackgroundColor $WARNING_LIGHT","EBorderColor $WARNING_DARK","NBackgroundColor $INFO_LIGHT","NBorderColor $INFO_DARK","}","skinparam title {","FontColor $PRIMARY","BorderColor $SECONDARY_DARK","FontSize 20","BorderRoundCorner 8","BorderThickness 1","BackgroundColor $SECONDARY_LIGHT-$SECONDARY","}","","skinparam legend {","BackgroundColor $SECONDARY","BorderColor $SECONDARY_DARK","FontColor $LIGHT","}","","!startsub swimlane","skinparam swimlane {","BorderColor $INFO","BorderThickness 2","TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY","TitleFontColor $PRIMARY","}","!endsub","","!startsub activity","","skinparam activity {","$primary_scheme()","BarColor $SUCCESS","StartColor $INFO","EndColor $INFO","DiamondBackgroundColor $SECONDARY_LIGHT","DiamondBorderColor $SECONDARY_DARK","DiamondFontColor $SECONDARY_TEXT","}","!endsub","","!startsub participant","","skinparam participant {","$primary_scheme()","ParticipantBorderThickness 2","}","!endsub","","!startsub actor","","skinparam actor {","$primary_scheme()","}","!endsub","","!startsub arrow","","skinparam arrow {","Thickness 3","Color $PRIMARY","FontColor $FGCOLOR","}","!endsub","","!startsub sequence","","skinparam sequence {","BorderColor $PRIMARY","' For some reason sequence title font color does not pick up from global","TitleFontColor $PRIMARY","BackgroundColor $BGCOLOR","StartColor $PRIMARY","EndColor $PRIMARY","BoxBackgroundColor $BGCOLOR","BoxBorderColor $DARK","BoxFontColor $DARK","DelayFontColor $DARK","LifeLineBorderColor $SECONDARY","LifeLineBorderThickness 2","LifeLineBackgroundColor $SECONDARY_DARK","GroupBorderColor $DARK","GroupFontColor $DARK","GroupHeaderFontColor $INFO","GroupBackgroundColor $SECONDARY","GroupHeaderBackgroundColor $BGCOLOR","DividerBackgroundColor $DARK","DividerBorderColor $DARK","DividerBorderThickness 2","DividerFontColor $LIGHT","ReferenceBackgroundColor $BGCOLOR","ReferenceBorderColor $DARK","ReferenceFontColor $DARK","ReferenceHeaderFontColor $INFO","ReferenceHeaderBackgroundColor $SECONDARY","StereotypeFontColor $PRIMARY_TEXT","}","!endsub","","!startsub partition","","skinparam partition {","BorderColor $PRIMARY","FontColor $PRIMARY","BackgroundColor $BGCOLOR","}","!endsub","","!startsub collections","","skinparam collections {","$primary_scheme()","}","!endsub","","!startsub control","","skinparam control {","$primary_scheme()","}","!endsub","","!startsub entity","","skinparam entity {","$primary_scheme()","}","!endsub","","!startsub boundary","","skinparam boundary {","$primary_scheme()","}","!endsub","","!startsub agent","","skinparam agent {","BackgroundColor $WARNING","BorderColor $WARNING_LIGHT","FontColor $DARK","}","!endsub","","!startsub note","","skinparam note {","BorderThickness 1","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $WHITE","}","!endsub","","!startsub artifact","","skinparam artifact {","BackgroundColor $DARK","BorderColor $DARK_DARK","FontColor $LIGHT","}","!endsub","","!startsub component","","skinparam component {","$primary_scheme()","}","!endsub","","!startsub interface","","skinparam interface {","BackgroundColor $DANGER_DARK","BorderColor $DANGER","FontColor $DARK","}","!endsub","","!startsub storage","","skinparam storage {","BackgroundColor $WARNING","BorderColor $WARNING_DARK","FontColor $WARNING_TEXT","}","!endsub","","!startsub node","","skinparam node {","BackgroundColor $SECONDARY","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub cloud","","skinparam cloud {","BackgroundColor #F2FCFE-#eeeeee","BorderColor #F2FCFE","FontColor $DARK","}","!endsub","","!startsub database","","skinparam database {","$primary_scheme()","}","!endsub","","!startsub class","","skinparam class {","$primary_scheme()","HeaderBackgroundColor $PRIMARY_LIGHT","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $DARK","AttributeFontSize 11","}","!endsub","","!startsub object","","skinparam object {","$primary_scheme()","StereotypeFontColor $DARK","BorderThickness 1","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub usecase","","skinparam usecase {","$primary_scheme()","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub rectangle","","skinparam rectangle {","$primary_scheme()","BackgroundColor $SECONDARY_LIGHT","BorderThickness 2","StereotypeFontColor $PRIMARY","}","!endsub","","!startsub package","","skinparam package {","BackgroundColor $SECONDARY","BorderColor $PRIMARY","FontColor $PRIMARY","BorderThickness 2","}","!endsub","","!startsub folder","","skinparam folder {","BackgroundColor $SECONDARY_LIGHT","BorderColor $WARNING","FontColor $WARNING","BorderThickness 2","}","!endsub","","!startsub frame","","skinparam frame {","BackgroundColor $SECONDARY_LIGHT","BorderColor $INFO","FontColor $INFO","BorderThickness 2","}","!endsub","","!startsub state","","skinparam state {","$primary_scheme()","BackgroundColor $PRIMARY_LIGHT","StartColor $INFO","EndColor $INFO","AttributeFontColor $SECONDARY_TEXT","AttributeFontSize 11","}","!endsub","","!startsub queue","","skinparam queue {","$primary_scheme()","}","!endsub","","!startsub card","","skinparam card {","BackgroundColor $INFO","BorderColor $INFO_DARK","FontColor $INFO_TEXT","}","!endsub","","!startsub file","","skinparam file {","BackgroundColor $SECONDARY_DARK","BorderColor $LIGHT","FontColor $LIGHT","}","!endsub","","!startsub stack","","skinparam stack {","$primary_scheme()","}","!endsub"].join(`
48
+ `),q.vibrant={author:"future-architect",license:"Apache-2.0",source:"https://github.com/future-architect/puml-themes/tree/master/themes"},pr.vibrant=["skinparam BackgroundColor FFFFFF","skinparam shadowing false","skinparam RoundCorner 7","skinparam ArrowColor 454645","skinparam FontColor 454645","skinparam SequenceLifeLineBorderColor 696969","skinparam SequenceGroupHeaderFontColor 454645","skinparam SequenceGroupFontColor 696969","skinparam SequenceGroupBorderColor 696969","skinparam SequenceGroupBorderThickness 1","","skinparam sequenceDivider {","BorderColor 454645","BorderThickness 1","FontColor 454645","}","","skinparam participant {","BackgroundColor FF6347","BorderColor 454645","FontColor FFFFFF","BorderThickness 1.5","}","","skinparam database {","BackgroundColor 00FFFF","BorderColor 454645","FontColor 454645","}","","skinparam entity {","BackgroundColor FFE552","BorderColor 454645","FontColor 454645","}","","skinparam note {","BackgroundColor 7FFFD4","BorderColor 454645","FontColor 454645","BorderThickness 1.5","}","","skinparam actor {","BackgroundColor 454645","BorderColor 454645","FontColor 454645","}","","skinparam boundary {","BackgroundColor FFE552","BorderColor 454645","FontColor 454645","}","","skinparam control {","BackgroundColor FFE552","BorderColor 454645","FontColor 454645","}","","skinparam collections {","BackgroundColor FF5F42","BorderColor 454645","FontColor 454645","}","","skinparam queue {","BackgroundColor FF6347","BorderColor 454645","FontColor FFF","BorderThickness 1.5","}"].join(`
49
+ `);function Xr(Dr){var ar=String(Dr??"").replace(/^\s+|\s+$/g,"").toLowerCase();return pr.hasOwnProperty(ar)?pr[ar]:null}function Tr(Dr){return Xr(Dr)!=null}function se(Dr){var ar=String(Dr??"").replace(/^\s+|\s+$/g,"").toLowerCase();return q.hasOwnProperty(ar)?q[ar]:null}function Kr(){var Dr=[];for(var ar in pr)pr.hasOwnProperty(ar)&&Dr.push(ar);return Dr}return{get:Xr,has:Tr,meta:se,names:Kr}})();var Lf=(function(){function pr(i){return i.replace(/\r\n|\r/g,`
50
+ `)}function q(i,c){for(;c>0;){var F=i.charAt(c-1);if(F===`
51
+ `)return!0;if(F!==" "&&F!==" ")return!1;c--}return!0}function Xr(i){if(i==null||typeof i!="string")return i;i=pr(i);for(var c=i.length,F=[],y=0,sr=0;y<c;){var kr=i.charAt(y);sr===0?kr==='"'?(F.push(kr),sr=1,y++):kr==="/"&&y+1<c&&i.charAt(y+1)==="'"?(sr=3,y+=2):kr==="'"&&q(i,y)?(sr=2,y++):(F.push(kr),y++):sr===1?kr==="\\"&&y+1<c?(F.push(kr),F.push(i.charAt(y+1)),y+=2):kr==='"'||kr===`
52
+ `?(F.push(kr),sr=0,y++):(F.push(kr),y++):sr===2?(kr===`
53
+ `&&(F.push(kr),sr=0),y++):kr==="'"&&y+1<c&&i.charAt(y+1)==="/"?(sr=0,y+=2):(kr===`
54
+ `&&F.push(kr),y++)}return F.join("")}function Tr(i){if(i=i.replace(/^\s+|\s+$/g,""),i.length===0)return"";if(i.charAt(0)==='"'){for(var c=i.length-1;c>0&&i.charAt(c)!=='"';)c--;if(c>0){var F=i.substring(1,c);return F.replace(/\\"/g,'"').replace(/\\\\/g,"\\")}return i}return/^-?\d+$/.test(i)?parseInt(i,10):/^-?\d*\.\d+$/.test(i)?parseFloat(i):i}function se(i,c){for(var F=!1,y=!1,sr=0;sr<i.length;sr++){var kr=i.charAt(sr);y?y=!1:F?kr==="\\"?y=!0:kr==='"'&&(F=!1):kr==='"'?F=!0:kr==="{"||kr==="["?c++:(kr==="}"||kr==="]")&&c--}return c}function Kr(i){return Object.prototype.toString.call(i)==="[object Array]"}function Dr(i){return i!==null&&typeof i=="object"}function ar(i){return i==null?"":typeof i=="object"?JSON.stringify(i):typeof i=="boolean"?i?"1":"0":String(i)}function Y(i){return i===void 0?"":i===null?"null":String(i)}function $r(i,c){var F=i.charAt(c);if(!(F>="A"&&F<="Z"||F>="a"&&F<="z"||F==="_"))return c;for(c++;c<i.length&&(F=i.charAt(c),F>="A"&&F<="Z"||F>="a"&&F<="z"||F>="0"&&F<="9"||F==="_");)c++;return c}function rr(i,c){if(!(!Dr(i)||Kr(i)))return Object.prototype.hasOwnProperty.call(i,c)?i[c]:void 0}function H(i,c){if(c=c.replace(/^\s+|\s+$/g,""),Kr(i)){var F=parseInt(c,10);return String(F)===c&&F>=0&&F<i.length?i[F]:void 0}return rr(i,c)}function M(i,c,F,y){if(!Dr(i))return{value:i,pos:F};for(var sr=i;F<c.length&&Dr(sr);){var kr=c.charAt(F);if(kr==="."){for(var be=F+1;be<c.length;){var dr=c.charAt(be);if(dr>="A"&&dr<="Z"||dr>="a"&&dr<="z"||dr>="0"&&dr<="9"||dr==="_")be++;else break}if(be===F+1)break;sr=rr(sr,c.substring(F+1,be)),F=be}else if(kr==="["){for(var Mo=0,io=F+1;io<c.length;){var go=c.charAt(io);if(go==="[")Mo++;else if(go==="]"){if(Mo===0)break;Mo--}io++}if(io>=c.length)break;sr=H(sr,y(c.substring(F+1,io))),F=io+1}else break}return{value:Dr(sr)?sr:Y(sr),pos:F}}function j(i){var c=[];if(!Dr(i))return c;if(Kr(i)){for(var F=0;F<i.length;F++)c.push(Dr(i[F])?i[F]:Y(i[F]));return c}for(var y in i)Object.prototype.hasOwnProperty.call(i,y)&&c.push(y);return c}function gr(i){try{return JSON.parse(i)}catch{return}}function W(i,c){var F=i.replace(/^\s+|\s+$/g,"");if(F.length===0)return"";var y=F.charAt(0);if(y==="{"||y==="["){var sr=gr(F);return sr!==void 0?sr:Tr(i)}var kr=y==="$"||y==="%"||y==="("||y==='"'||y==="'"||y==="-"||y==="!"||y==="."||y>="0"&&y<="9"||/^(?:true|false)\b/.test(F),be=F.match(/^([A-Za-z_][\w]*)/);if(!kr&&be!=null&&c!=null&&c.defines!=null&&Object.prototype.hasOwnProperty.call(c.defines,be[1])&&(kr=!0),!kr&&be!=null&&c!=null&&c.functions!=null&&Object.prototype.hasOwnProperty.call(c.functions,be[1])&&(kr=!0),kr){var dr=nr(F,c||{});if(dr.complete)return dr.value}return Tr(i)}function d(i,c){return i.replace(/%([A-Za-z_][\w]*)%/g,function(F,y){return Object.prototype.hasOwnProperty.call(c,y)?ar(c[y]):F})}function _(i,c){if(i==null||typeof i!="string")return i;c=c||{};var F={};if(c.variables!=null)for(var y in c.variables)c.variables.hasOwnProperty(y)&&(F[y]=c.variables[y]);for(var sr=i.split(`
55
+ `),kr=[],be=/^(\s*)!\$([A-Za-z_][\w]*)\s*=\s*(.*)$/,dr=0;dr<sr.length;dr++){var Mo=d(sr[dr],F),io=Mo.match(be);if(io!=null){F[io[2]]=W(io[3],{defines:c.defines||{},paramDefines:c.paramDefines||{},variables:F}),kr.push("");continue}kr.push(Mo)}c.variables==null&&(c.variables={});for(var go in F)F.hasOwnProperty(go)&&(c.variables[go]=F[go]);return kr.join(`
56
+ `)}function p(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function E(i){if(i.length===0)return null;for(var c=i.slice().sort(function(sr,kr){return kr.length-sr.length}),F=[],y=0;y<c.length;y++)F.push(p(c[y]));return new RegExp("\\b("+F.join("|")+")\\b","g")}function L(i,c,F){return F==null?i:i.replace(F,function(y){return c[y]})}function N(i){i=i.replace(/^\s+|\s+$/g,"");var c=[];if(c.defaults=[],i.length===0)return c;for(var F=u(i),y=0;y<F.length;y++){var sr=F[y].replace(/^\s+|\s+$/g,""),kr=sr.indexOf("=");if(kr>0){var be=sr.substring(kr+1).replace(/^\s+|\s+$/g,"");c.push(sr.substring(0,kr).replace(/\s+$/,"")),c.defaults.push(be.replace(/^(["'])(.*)\1$/,"$2"))}else c.push(sr),c.defaults.push(null)}return c}function m(i,c){for(var F=0,y=null,sr=i.length,kr=c;kr<sr;kr++){var be=i.charAt(kr);if(y!=null){be==="\\"&&kr+1<sr?kr++:be===y&&(y=null);continue}if(be==='"'||be==="'")y=be;else if(be==="(")F++;else if(be===")"&&(F--,F===0))return kr}return-1}function u(i){var c=[],F=i.length;if(F===0)return c;for(var y="",sr=0,kr=null,be=0;be<F;be++){var dr=i.charAt(be);if(kr!=null){y+=dr,dr==="\\"&&be+1<F?(y+=i.charAt(be+1),be++):dr===kr&&(kr=null);continue}dr==='"'||dr==="'"?(kr=dr,y+=dr):dr==="("?(sr++,y+=dr):dr===")"?(sr--,y+=dr):dr===","&&sr===0?(c.push(y.replace(/^\s+|\s+$/g,"")),y=""):y+=dr}return c.push(y.replace(/^\s+|\s+$/g,"")),c}function R(i){for(var c=u(i.replace(/^\s+|\s+$/g,"")),F=[],y=0;y<c.length;y++){var sr=c[y].match(/^\s*\$?([A-Za-z_][\w]*)(?:\s*=\s*(.*))?$/);sr!=null&&F.push({name:sr[1],defaultExpression:sr[2]!=null?sr[2]:null})}return F}function o(i){var c=i.match(/^\s*!(?:(unquoted)\s+)?function\s+(\$?[A-Za-z_][\w]*)\s*\(/i);if(c==null)return null;var F=i.indexOf("(",c.index),y=m(i,F);if(y<0)return null;var sr=i.substring(y+1).replace(/^\s+|\s+$/g,""),kr=null;if(sr.length>0){var be=sr.match(/^!?return\b(.*)$/i);if(be==null)return null;kr=be[1].replace(/^\s+|\s+$/g,"")}return{name:c[2].replace(/^\$/,""),params:R(i.substring(F+1,y)),unquoted:c[1]!=null,inlineReturn:kr}}function t(i,c){if(i==null)return[];if(i=i.replace(/^\s+|\s+$/g,""),i.length===0)return[];var F=i.charAt(0),y=i.charAt(i.length-1);if(F==="{"||F==="["&&y==="]"){var sr=gr(i);if(Dr(sr))return j(sr)}if(F==="$"||F==="%")return j(W(i,c));if((F==="["&&y==="]"||F==="("&&y===")")&&(i=i.substring(1,i.length-1).replace(/^\s+|\s+$/g,"")),i.length===0)return[];for(var kr=u(i),be=[],dr=0;dr<kr.length;dr++)be.push(Tr(kr[dr]));return be}function n(i,c,F){if(c.length===0)return i;for(var y={},sr=c.defaults||[],kr=0;kr<c.length;kr++){var be=kr<F.length?F[kr]:sr[kr]!=null?sr[kr]:"";be.length>=2&&be.charAt(0)==='"'&&be.charAt(be.length-1)==='"'&&(be=be.substring(1,be.length-1)),y[c[kr]]=be}for(var dr=c.slice().sort(function(Gn,lo){return lo.length-Gn.length}),Mo=[],io=0;io<dr.length;io++){var go=dr[io];go.charAt(0)==="$"?Mo.push("\\$"+p(go.substring(1))+"(?![\\w])"):Mo.push("\\b"+p(go)+"\\b")}for(var gn=new RegExp("("+Mo.join("|")+")","g"),On=0;On<dr.length;On++){var co=p(dr[On]);i=i.replace(new RegExp(co+"##","g"),dr[On]+"").replace(new RegExp("##"+co,"g"),""+dr[On])}return i.replace(gn,function(Gn,lo){return y[lo]}).replace(/\u0001/g,"")}function f(i,c){for(var F="",y=0,sr=i.length,kr=/[A-Za-z_]/,be=/[A-Za-z0-9_]/;y<sr;){var dr=i.charAt(y);if(dr==="$"&&y+1<sr&&kr.test(i.charAt(y+1))){var Mo=y;for(y++;y<sr&&be.test(i.charAt(y));)y++;var io=i.substring(Mo,y);if(c.hasOwnProperty(io)&&y<sr&&i.charAt(y)==="("){var go=m(i,y);if(go<0){F+=io;continue}var gn=i.substring(y+1,go),On=u(gn),co=c[io];F+=n(co.body,co.params,On),y=go+1}else F+=io;continue}if(kr.test(dr)){for(var Gn=y;y<sr&&be.test(i.charAt(y));)y++;var lo=i.substring(Gn,y);if(c.hasOwnProperty(lo)&&y<sr&&i.charAt(y)==="("){var It=m(i,y);if(It<0){F+=lo;continue}var Un=i.substring(y+1,It),wa=u(Un),Ta=c[lo];F+=n(Ta.body,Ta.params,wa),y=It+1}else F+=lo}else F+=dr,y++}return F}function O(i,c,F){for(var y="",sr=0,kr=i.length,be=/[A-Za-z_]/,dr=/[A-Za-z0-9_]/;sr<kr;){var Mo=sr,io=!1;if(i.charAt(sr)==="$"&&sr+1<kr&&be.test(i.charAt(sr+1)))io=!0,sr++;else if(!be.test(i.charAt(sr))){y+=i.charAt(sr),sr++;continue}for(var go=sr;sr<kr&&dr.test(i.charAt(sr));)sr++;var gn=i.substring(go,sr);if(Object.prototype.hasOwnProperty.call(c,gn)&&sr<kr&&i.charAt(sr)==="("){var On=m(i,sr);if(On>=0){var co=i.substring(Mo,On+1),Gn=w(co,F);y+=ar(Gn),sr=On+1;continue}}y+=(io?"$":"")+gn}return y}function g(i,c){if(i.indexOf("%")<0)return i;for(var F="",y=0,sr=i.length,kr=/[A-Za-z_]/,be=/[A-Za-z0-9_]/;y<sr;){if(i.charAt(y)!=="%"||y+1>=sr||!kr.test(i.charAt(y+1))){F+=i.charAt(y),y++;continue}for(var dr=y+1,Mo=dr;Mo<sr&&be.test(i.charAt(Mo));)Mo++;var io=i.substring(dr,Mo);if(Mo<sr&&i.charAt(Mo)==="("&&P(io)){var go=m(i,Mo);if(go>=0){var gn=w(i.substring(y,go+1),c);F+=ar(gn),y=go+1;continue}}F+=i.substring(y,Mo),y=Mo}return F}function Q(i,c){var F="",y=0;function sr(io){return Q(d(io,c),c)}for(;y<i.length;){if(i.charAt(y)!=="$"){F+=i.charAt(y),y++;continue}var kr=$r(i,y+1);if(kr===y+1){F+="$",y++;continue}var be=i.substring(y+1,kr);if(i.charAt(kr)==="("||!Object.prototype.hasOwnProperty.call(c,be)){F+=i.substring(y,kr),y=kr;continue}var dr=c[be];if(typeof dr=="string"&&/^\$?[A-Za-z_][\w]*\s*\(/.test(dr)){F+=i.substring(y,kr),y=kr;continue}F.substring(F.length-2)==="##"&&(F=F.substring(0,F.length-2));var Mo=M(dr,i,kr,sr);F+=ar(Mo.value),y=Mo.pos,y+1<i.length&&i.charAt(y)==="#"&&i.charAt(y+1)==="#"&&(y+=2)}return F}function x(i,c){if(i==null||typeof i!="string")return i;c=c||{};var F={},y={};if(c.defines!=null)for(var sr in c.defines)c.defines.hasOwnProperty(sr)&&(F[sr]=c.defines[sr]);if(c.paramDefines!=null)for(var kr in c.paramDefines)c.paramDefines.hasOwnProperty(kr)&&(y[kr]=c.paramDefines[kr]);var be=i.split(`
57
+ `),dr=[],Mo=/^\s*!define\s+([A-Za-z_][\w]*)\(([^)]*)\)(?:[ \t]+(.*))?$/,io=/^\s*!define\s+([A-Za-z_][\w]*)(?:[ \t]+(.*))?$/,go=/^\s*!undef\s+([A-Za-z_][\w]*)\s*$/,gn=/^\s*!definelong\s+([A-Za-z_][\w]*)(?:\(([^)]*)\))?\s*$/,On=/^\s*!end\s*(?:definelong|function|procedure)\b/i,co=/^\s*!(?:(?:unquoted|final)\s+)*procedure\s+\$?([A-Za-z_][\w]*)(?:\(([^)]*)\))?\s*$/i,Gn=On,lo=E(I(F)),It=!1,Un=null,wa=null,Ta=null;function Ea(){var sl=Ta.join(`
58
+ `);wa!=null?(y[Un]={params:wa,body:sl},F.hasOwnProperty(Un)&&(delete F[Un],lo=E(I(F)))):(F[Un]=sl,lo=E(I(F)),y.hasOwnProperty(Un)&&delete y[Un]),It=!1,Un=null,wa=null,Ta=null}for(var Ua=0;Ua<be.length;Ua++){var oa=be[Ua],vn;if(It){if(On.test(oa)||Gn.test(oa)){Ea(),dr.push("");continue}Ta.push(oa),dr.push("");continue}if((vn=oa.match(gn))!=null){It=!0,Un=vn[1],wa=vn[2]!=null?N(vn[2]):null,Ta=[],dr.push("");continue}if((vn=oa.match(co))!=null){It=!0,Un="$"+vn[1],wa=N(vn[2]||""),Ta=[],dr.push("");continue}if((vn=oa.match(Mo))!=null){var Jl=vn[1],Ul=vn[3]!=null?vn[3].replace(/\s+$/,""):"";y[Jl]={params:N(vn[2]),body:Ul},F.hasOwnProperty(Jl)&&(delete F[Jl],lo=E(I(F))),dr.push("");continue}if((vn=oa.match(io))!=null){var _l=vn[2]!=null?vn[2].replace(/\s+$/,""):"";F[vn[1]]=_l,lo=E(I(F)),y.hasOwnProperty(vn[1])&&delete y[vn[1]],dr.push("");continue}if((vn=oa.match(go))!=null){F.hasOwnProperty(vn[1])&&(delete F[vn[1]],lo=E(I(F))),y.hasOwnProperty(vn[1])&&delete y[vn[1]],dr.push("");continue}var Ma=L(oa,F,lo);dr.push(f(Ma,y))}It&&Ea(),c.defines==null&&(c.defines={});for(var gl in c.defines)c.defines.hasOwnProperty(gl)&&!F.hasOwnProperty(gl)&&delete c.defines[gl];for(var Ia in F)F.hasOwnProperty(Ia)&&(c.defines[Ia]=F[Ia]);c.paramDefines==null&&(c.paramDefines={});for(var tt in c.paramDefines)c.paramDefines.hasOwnProperty(tt)&&!y.hasOwnProperty(tt)&&delete c.paramDefines[tt];for(var Vn in y)y.hasOwnProperty(Vn)&&(c.paramDefines[Vn]=y[Vn]);return dr.join(`
59
+ `)}function I(i){var c=[];for(var F in i)i.hasOwnProperty(F)&&c.push(F);return c}function w(i,c){return i==null?"":nr(i,c||{}).value}function nr(i,c){if(i==null)return{value:"",complete:!0};var F={text:String(i),pos:0,config:c||{},supported:!0};lr(F);var y=Zr(F);return lr(F),{value:y,complete:F.supported&&F.pos===F.text.length}}function lr(i){for(;i.pos<i.text.length;){var c=i.text.charAt(i.pos);if(c===" "||c===" ")i.pos++;else break}}function ir(i,c){return i.text.substr(i.pos,c.length)===c}function mr(i,c){return ir(i,c)?(i.pos+=c.length,!0):!1}function Or(i){if(typeof i=="number")return i;if(typeof i=="boolean")return i?1:0;if(i==null||i==="")return 0;var c=parseFloat(i);return isNaN(c)?0:c}function Qr(i){return typeof i=="boolean"?i:typeof i=="number"?i!==0:i==null?!1:typeof i=="string"?!(i===""||i==="false"||i==="0"):!!i}function ee(i){return typeof i=="string"||Dr(i)}function re(i){return typeof i=="number"?!0:typeof i=="string"?/^-?\d+(?:\.\d+)?$/.test(i):!1}function Yr(i,c,F){var y,sr;switch(re(i)&&re(c)?(y=Or(i),sr=Or(c)):(y=ar(i),sr=ar(c)),F){case"==":return y===sr;case"!=":return y!==sr;case"<":return y<sr;case">":return y>sr;case"<=":return y<=sr;case">=":return y>=sr}return!1}function Zr(i){for(var c=Ee(i);lr(i),!!mr(i,"||");){var F=Ee(i);c=Qr(c)||Qr(F)}return c}function Ee(i){for(var c=Ze(i);lr(i),!!mr(i,"&&");){var F=Ze(i);c=Qr(c)&&Qr(F)}return c}function Ze(i){var c=eo(i);lr(i);for(var F=["==","!=","<=",">=","<",">"],y=0;y<F.length;y++)if(mr(i,F[y])){var sr=eo(i);return Yr(c,sr,F[y])}return c}function eo(i){for(var c=Gr(i);;){lr(i);var F=i.text.charAt(i.pos);if(F!=="+"&&F!=="-")break;i.pos++;var y=Gr(i);F==="+"?ee(c)||ee(y)?c=ar(c)+ar(y):c=Or(c)+Or(y):c=Or(c)-Or(y)}return c}function Gr(i){for(var c=$e(i);;){lr(i);var F=i.text.charAt(i.pos);if(F!=="*"&&F!=="/")break;i.pos++;var y=$e(i);if(F==="*")c=Or(c)*Or(y);else{var sr=Or(y);c=sr===0?0:Or(c)/sr}}return c}function $e(i){lr(i);var c=i.text.charAt(i.pos);return c==="-"?(i.pos++,-Or($e(i))):c==="!"&&i.text.charAt(i.pos+1)!=="="?(i.pos++,!Qr($e(i))):Ye(i)}function Ye(i){if(lr(i),i.pos>=i.text.length)return"";var c=i.text.charAt(i.pos);if(c==="("){i.pos++;var F=Zr(i);return lr(i),i.text.charAt(i.pos)===")"&&i.pos++,F}if(c==='"'||c==="'")return k(i);if(c==="$"){i.pos++;var y=Hr(i);if(y==="")return"";var sr=T(D(y,i.config),i);return sr.consumed?sr.value:(lr(i),i.text.charAt(i.pos)==="("?fn(y,i,!1):sr.value)}if(c==="%"){var kr=i.pos;i.pos++;var be=Hr(i);return be!==""&&i.text.charAt(i.pos)==="%"?(i.pos++,D(be,i.config)):be!==""&&i.text.charAt(i.pos)==="("?fn(be,i,!0):(i.pos=kr,"")}if(c>="0"&&c<="9"||c===".")return Fo(i);if(c>="A"&&c<="Z"||c>="a"&&c<="z"||c==="_"){var dr=Hr(i);return dr==="true"||dr==="false"?dr:(lr(i),i.text.charAt(i.pos)==="("?fn(dr,i,!1):i.config.variables!=null&&Object.prototype.hasOwnProperty.call(i.config.variables,dr)?i.config.variables[dr]:i.config.defines!=null&&Object.prototype.hasOwnProperty.call(i.config.defines,dr)?i.config.defines[dr]:dr)}return""}function Hr(i){var c=i.pos,F=i.text.charAt(i.pos);if(!(F>="A"&&F<="Z"||F>="a"&&F<="z"||F==="_"))return"";for(i.pos++;i.pos<i.text.length&&(F=i.text.charAt(i.pos),F>="A"&&F<="Z"||F>="a"&&F<="z"||F>="0"&&F<="9"||F==="_");)i.pos++;return i.text.substring(c,i.pos)}function Fo(i){for(var c=i.pos,F=!1;i.pos<i.text.length;){var y=i.text.charAt(i.pos);if(y>="0"&&y<="9")i.pos++;else if(y==="."&&!F)F=!0,i.pos++;else break}var sr=i.text.substring(c,i.pos),kr=parseFloat(sr);return isNaN(kr)?0:kr}function k(i){var c=i.text.charAt(i.pos);i.pos++;for(var F="";i.pos<i.text.length;){var y=i.text.charAt(i.pos);if(y===c)return i.pos++,F;F+=y,i.pos++}return F}function T(i,c){var F=c.config!=null&&c.config.variables!=null?c.config.variables:{},y=M(i,c.text,c.pos,function(kr){return Q(d(kr,F),F)}),sr=y.pos>c.pos;return c.pos=y.pos,{value:y.value,consumed:sr}}function D(i,c){return c.variables!=null&&Object.prototype.hasOwnProperty.call(c.variables,i)?c.variables[i]:""}function S(i,c){return c.defines!=null&&Object.prototype.hasOwnProperty.call(c.defines,i)?c.defines[i]:""}function U(i,c){return!!(c.defines!=null&&Object.prototype.hasOwnProperty.call(c.defines,i)||c.paramDefines!=null&&Object.prototype.hasOwnProperty.call(c.paramDefines,i))}function P(i){return/^(?:newline|n|breakline|true|false|not|boolval|intval|string|strlen|size|upper|lower|substr|strpos|mod|function_exists|variable_exists|get_variable_value|set_variable_value|call_user_func|lighten|darken|splitstr|splitstr_regex|get_json_keys|get_json_type|json_key_exists|str2json|json_add|json_set|json_remove|json_merge|chr|ord|dec2hex|hex2dec|date|now|random|eval|feature|version|percent|dollar|backslash|tab|and|or|xor|nand|nor|nxor|is_dark|is_light|reverse_color|hsl_color|left_align|right_align|getenv|filename|filename_no_extension|dirpath|filedate|file_exists|xargs|load_json|get_current_theme|get_all_theme|get_all_stdlib|get_stdlib|invoke_procedure|retrieve_procedure)$/.test(i)}var s="1.2026.6";function $(i){var c=String(i??"").replace(/^\s+|\s+$/g,""),F=/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.exec(c);if(F==null)return null;var y=F[1].length===3?F[1].charAt(0)+F[1].charAt(0)+F[1].charAt(1)+F[1].charAt(1)+F[1].charAt(2)+F[1].charAt(2):F[1];return{r:parseInt(y.substring(0,2),16),g:parseInt(y.substring(2,4),16),b:parseInt(y.substring(4,6),16)}}function G(i){var c=Math.round(Math.max(0,Math.min(255,i))),F=c.toString(16).toUpperCase();return F.length<2?"0"+F:F}function B(i){var c=$(i);return c==null?!1:Math.floor((c.r*299+c.g*587+c.b*114)/1e3)<128}function or(i){var c=$(i);return c==null?String(i??""):"#"+G(255-c.r)+G(255-c.g)+G(255-c.b)}function K(i,c,F,y){var sr=(i%360+360)%360/360,kr=Math.max(0,Math.min(100,c))/100,be=Math.max(0,Math.min(100,F))/100,dr=be<.5?be*(1+kr):be+kr-kr*be,Mo=2*be-dr;function io(gn,On,co){return co<0&&(co+=1),co>1&&(co-=1),6*co<1?gn+(On-gn)*6*co:2*co<1?On:3*co<2?gn+(On-gn)*6*(2/3-co):gn}var go=G(io(Mo,dr,sr+1/3)*255)+G(io(Mo,dr,sr)*255)+G(io(Mo,dr,sr-1/3)*255);return y==null?"#"+go:("#"+G(Math.round(y*255))+go).toLowerCase()}var hr=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],vr=["January","February","March","April","May","June","July","August","September","October","November","December"];function Jr(i,c){var F=null;if(c!=null&&typeof Intl=="object"&&typeof Intl.DateTimeFormat=="function")try{for(var y=new Intl.DateTimeFormat("en-US",{timeZone:c,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",weekday:"short"}).formatToParts(i),sr={},kr=0;kr<y.length;kr++)sr[y[kr].type]=y[kr].value;F={year:parseInt(sr.year,10),month:parseInt(sr.month,10),day:parseInt(sr.day,10),hours:parseInt(sr.hour,10)%24,minutes:parseInt(sr.minute,10),seconds:parseInt(sr.second,10),millis:i.getMilliseconds(),weekday:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].indexOf(sr.weekday)};var be=Date.UTC(F.year,F.month-1,F.day,F.hours,F.minutes,F.seconds);F.offsetMinutes=Math.round((be-Math.floor(i.getTime()/1e3)*1e3)/6e4)}catch{F=null}return F==null&&(F={year:i.getFullYear(),month:i.getMonth()+1,day:i.getDate(),hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),millis:i.getMilliseconds(),weekday:i.getDay(),offsetMinutes:-i.getTimezoneOffset()}),F}function Ge(i,c){for(var F=String(i);F.length<c;)F="0"+F;return F}function no(i,c,F){var y=Jr(c,F),sr="",kr=0;function be(gn){var On=y.offsetMinutes<0?"-":"+",co=Math.abs(y.offsetMinutes),Gn=Ge(Math.floor(co/60),2),lo=Ge(co%60,2);return gn==="z"?F!=null&&/^(?:UTC|GMT|Etc\/UTC|Etc\/GMT)$/i.test(F)?"UTC":"GMT"+On+Gn+":"+lo:gn==="X"?y.offsetMinutes===0?"Z":On+Gn+(lo==="00"?"":lo):On+Gn+lo}for(;kr<i.length;){var dr=i.charAt(kr);if(dr==="'"){if(i.charAt(kr+1)==="'"){sr+="'",kr+=2;continue}var Mo=i.indexOf("'",kr+1);if(Mo<0){sr+=i.substring(kr+1);break}sr+=i.substring(kr+1,Mo),kr=Mo+1;continue}if(!/[A-Za-z]/.test(dr)){sr+=dr,kr++;continue}for(var io=kr;io<i.length&&i.charAt(io)===dr;)io++;var go=io-kr;switch(kr=io,dr){case"y":sr+=go===2?Ge(y.year%100,2):Ge(y.year,go);break;case"M":sr+=go>=4?vr[y.month-1]:go===3?vr[y.month-1].substring(0,3):Ge(y.month,go);break;case"d":sr+=Ge(y.day,go);break;case"H":sr+=Ge(y.hours,go);break;case"k":sr+=Ge(y.hours===0?24:y.hours,go);break;case"K":sr+=Ge(y.hours%12,go);break;case"h":sr+=Ge(y.hours%12===0?12:y.hours%12,go);break;case"m":sr+=Ge(y.minutes,go);break;case"s":sr+=Ge(y.seconds,go);break;case"S":sr+=Ge(y.millis,go);break;case"E":sr+=go>=4?hr[y.weekday]:hr[y.weekday].substring(0,3);break;case"a":sr+=y.hours<12?"AM":"PM";break;case"z":case"Z":case"X":sr+=be(dr);break;default:sr+=i.substring(io-go,io)}}return sr}function bo(i,c){for(var F=[],y="",sr=0;sr<i.length;sr++){var kr=i.charAt(sr);c.indexOf(kr)>=0?y.length>0&&(F.push(y),y=""):y+=kr}return y.length>0&&F.push(y),F}function Oo(i){return Dr(i)?JSON.parse(JSON.stringify(i)):i}function We(i){if(i==null)return"string";if(Kr(i))return"array";if(Dr(i))return"object";if(typeof i=="number"||typeof i=="boolean")return"number";var c=gr(String(i));return c===void 0?"string":Kr(c)?"array":Dr(c)?"object":c===null?"json":typeof c=="boolean"?"boolean":typeof c=="number"?"number":"string"}function Tt(i){var c=[],F;if(Kr(i)){for(var y=0;y<i.length;y++)if(Dr(i[y])&&!Kr(i[y]))for(F in i[y])Object.prototype.hasOwnProperty.call(i[y],F)&&c.push(F);return c}if(Dr(i))for(F in i)Object.prototype.hasOwnProperty.call(i,F)&&c.push(F);return c}function Cn(i,c,F){for(var y in c)Object.prototype.hasOwnProperty.call(c,y)&&(F&&Dr(i[y])&&!Kr(i[y])&&Dr(c[y])&&!Kr(c[y])&&Object.prototype.hasOwnProperty.call(i,y)?Cn(i[y],c[y],!0):i[y]=Oo(c[y]));return i}function un(i){return typeof i=="number"?i===Math.floor(i)&&i>=0?i:-1:typeof i=="string"&&/^\d+$/.test(i)?parseInt(i,10):-1}function Kt(i,c){var F;try{F=i.split(new RegExp(c))}catch{return[i]}for(;F.length>0&&F[F.length-1]==="";)F.pop();return F}function ut(i,c){var F=String(i??"").replace(/^\s+|\s+$/g,""),y=/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.exec(F);if(y==null)return F;var sr=y[1].length===3?y[1].charAt(0)+y[1].charAt(0)+y[1].charAt(1)+y[1].charAt(1)+y[1].charAt(2)+y[1].charAt(2):y[1],kr=parseInt(sr.substring(0,2),16)/255,be=parseInt(sr.substring(2,4),16)/255,dr=parseInt(sr.substring(4,6),16)/255,Mo=Math.min(kr,Math.min(be,dr)),io=Math.max(kr,Math.max(be,dr)),go=0;io===Mo?go=0:io===kr?go=(60*(be-dr)/(io-Mo)+360)%360:io===be?go=60*(dr-kr)/(io-Mo)+120:go=60*(kr-be)/(io-Mo)+240;var gn=(io+Mo)/2,On=0;io===Mo?On=0:gn<=.5?On=(io-Mo)/(io+Mo):On=(io-Mo)/(2-io-Mo);var co=gn*100;co+=co*(c/100),co<0&&(co=0),co>100&&(co=100);var Gn=go%360/360,lo=On,It=co/100,Un=It<.5?It*(1+lo):It+lo-lo*It,wa=2*It-Un;function Ta(Ua,oa,vn){return vn<0&&(vn+=1),vn>1&&(vn-=1),6*vn<1?Ua+(oa-Ua)*6*vn:2*vn<1?oa:3*vn<2?Ua+(oa-Ua)*6*(2/3-vn):Ua}function Ea(Ua){var oa=Math.round(Math.max(0,Math.min(1,Ua))*255),vn=oa.toString(16).toUpperCase();return vn.length<2?"0"+vn:vn}return"#"+Ea(Ta(wa,Un,Gn+1/3))+Ea(Ta(wa,Un,Gn))+Ea(Ta(wa,Un,Gn-1/3))}function fn(i,c,F){if(c.pos++,F&&(i==="newline"||i==="n"||i==="breakline"||i==="left_align"||i==="right_align")&&(lr(c),c.text.charAt(c.pos)===")"))return c.pos++,i==="breakline"?`
60
+ `:"\\n";if(F&&(i==="true"||i==="false")&&(lr(c),c.text.charAt(c.pos)===")"))return c.pos++,i==="true";if(F&&P(i)){var y=c.pos-1,sr=m(c.text,y);if(sr<0)return c.supported=!1,c.pos=c.text.length,"";for(var kr=c.text.substring(y+1,sr),be=u(kr),dr=[],Mo=0;Mo<be.length;Mo++)dr.push(W(be[Mo],c.config));switch(c.pos=sr+1,i){case"not":return!Qr(dr[0]);case"boolval":return Qr(dr[0]);case"intval":return parseInt(dr[0],10)||0;case"string":return ar(dr[0]);case"strlen":return ar(dr[0]).length;case"size":{var io=dr[0];return typeof io=="number"?0:Kr(io)?io.length:Dr(io)?I(io).length:ar(io).length}case"chr":{var go=Or(dr[0]);try{return String.fromCodePoint(go)}catch{return""}}case"ord":{var gn=ar(dr[0]),On=gn.length>0?gn.codePointAt(0):0;return On??0}case"dec2hex":{var co=Or(dr[0]);return(co<0?co>>>0:Math.floor(co)).toString(16)}case"hex2dec":{var Gn=ar(dr[0]).replace(/^\s+|\s+$/g,"");return/^[+-]?[0-9A-Fa-f]{1,8}$/.test(Gn)?parseInt(Gn,16):0}case"now":return Math.floor(Date.now()/1e3);case"date":{var lo=dr.length>1?new Date(Or(dr[1])*1e3):new Date,It=dr.length>2?ar(dr[2]):null;return dr.length===0?no("EEE MMM dd HH:mm:ss zzz yyyy",lo,null):no(ar(dr[0]),lo,It)}case"random":{if(dr.length===0)return Math.floor(Math.random()*2);var Un=dr.length>1?Or(dr[0]):0,wa=Or(dr[dr.length>1?1:0]);return wa>Un?Un+Math.floor(Math.random()*(wa-Un)):Un}case"eval":{var Ta=w(ar(dr[0]),c.config),Ea=Or(Ta);return Ea<0?Math.ceil(Ea):Math.floor(Ea)}case"feature":{var Ua=ar(dr[0]).toLowerCase();return Ua==="style"||Ua==="theme"?1:0}case"version":return s;case"percent":return"%";case"dollar":return"$";case"backslash":return"\\";case"tab":return" ";case"and":case"nand":{for(var oa=!0,vn=0;vn<dr.length;vn++)Qr(dr[vn])||(oa=!1);return i==="and"?oa:!oa}case"or":case"nor":{for(var Jl=!1,Ul=0;Ul<dr.length;Ul++)Qr(dr[Ul])&&(Jl=!0);return i==="or"?Jl:!Jl}case"xor":case"nxor":{for(var _l=0,Ma=0;Ma<dr.length;Ma++)Qr(dr[Ma])&&_l++;return i==="xor"?_l===1:_l!==1}case"is_dark":return B(dr[0]);case"is_light":return!B(dr[0]);case"reverse_color":return or(dr[0]);case"hsl_color":return K(Or(dr[0]),Or(dr[1]),Or(dr[2]),dr.length>3?Or(dr[3])/100:null);case"getenv":case"filename":case"filename_no_extension":case"dirpath":case"filedate":case"xargs":return"";case"file_exists":return!1;case"load_json":return dr.length>1?dr[1]:{};case"get_current_theme":return c.config.themeName!=null?{name:c.config.themeName}:{};case"get_all_theme":return typeof ef.names=="function"?ef.names():[];case"get_all_stdlib":return dr.length>0?{}:[];case"get_stdlib":return dr.length>1?"":{};case"invoke_procedure":case"retrieve_procedure":{var gl=String(dr.shift()||"").replace(/^\$/,"");return c.config.functions==null||!Object.prototype.hasOwnProperty.call(c.config.functions,gl)||typeof c.config.callUserFunction!="function"?"":c.config.callUserFunction(gl,dr,{})}case"upper":return ar(dr[0]).toUpperCase();case"lower":return ar(dr[0]).toLowerCase();case"substr":{var Ia=ar(dr[0]),tt=Or(dr[1]);return dr.length>2?Ia.substr(tt,Or(dr[2])):Ia.substr(tt)}case"strpos":return ar(dr[0]).indexOf(ar(dr[1]));case"mod":{var Vn=Or(dr[1]);return Vn===0?0:Or(dr[0])%Vn}case"function_exists":{var sl=String(dr[0]||"").replace(/^[\$%]/,"");return P(sl)||c.config.functions!=null&&Object.prototype.hasOwnProperty.call(c.config.functions,sl)}case"variable_exists":{var El=String(dr[0]||"").replace(/^\$/,"");return c.config.variables!=null&&Object.prototype.hasOwnProperty.call(c.config.variables,El)||c.config.defines!=null&&Object.prototype.hasOwnProperty.call(c.config.defines,El)||c.config.paramDefines!=null&&Object.prototype.hasOwnProperty.call(c.config.paramDefines,El)}case"get_variable_value":{var ui=String(dr[0]||"").replace(/^\$/,"");return D(ui,c.config)}case"set_variable_value":{var rl=String(dr[0]||"").replace(/^\$/,"");return typeof c.config.setGlobalVariable=="function"&&c.config.setGlobalVariable(rl,dr.length>1?dr[1]:""),""}case"call_user_func":{var Rl=String(dr.shift()||"").replace(/^\$/,"");return typeof c.config.callUserFunction=="function"?c.config.callUserFunction(Rl,dr,{}):""}case"lighten":return ut(dr[0],Or(dr[1]));case"darken":return ut(dr[0],-Or(dr[1]));case"splitstr":return bo(ar(dr[0]),ar(dr[1]));case"splitstr_regex":return Kt(ar(dr[0]),ar(dr[1]));case"get_json_keys":return Tt(dr[0]);case"get_json_type":return We(dr[0]);case"json_key_exists":{var pl=dr[0];return!Dr(pl)||Kr(pl)||typeof dr[1]!="string"?!1:Object.prototype.hasOwnProperty.call(pl,dr[1])}case"str2json":{var Al=gr(ar(dr[0]));return Al===void 0?"":Al}case"json_add":case"json_set":{var Wa=Oo(dr[0]);if(!Dr(Wa))return dr[0];if(Kr(Wa)){if(i==="json_add")Wa.push(dr[1]);else{var ai=un(dr[1]);ai>=0&&ai<Wa.length&&(Wa[ai]=dr[2])}return Wa}return i==="json_set"&&dr.length<3?Dr(dr[1])?Cn(Wa,dr[1],!0):Wa:(Wa[ar(dr[1])]=dr[2],Wa)}case"json_remove":{var tt=Oo(dr[0]);if(!Dr(tt))return dr[0];if(Kr(tt)){var Nl=un(dr[1]);return Nl>=0&&Nl<tt.length&&tt.splice(Nl,1),tt}return delete tt[ar(dr[1])],tt}case"json_merge":{var xa=dr[0],fi=dr[1];return!Dr(xa)||!Dr(fi)||Kr(xa)!==Kr(fi)?xa:Kr(xa)?Oo(xa).concat(Oo(fi)):Cn(Oo(xa),fi,!1)}}}if(!F&&i==="defined"){lr(c);var Ni=Hr(c);return lr(c),c.text.charAt(c.pos)===")"&&c.pos++,U(Ni,c.config)}if(!F&&c.config.functions!=null&&Object.prototype.hasOwnProperty.call(c.config.functions,i)&&typeof c.config.callUserFunction=="function"){var Oi=c.pos-1,Vl=m(c.text,Oi);if(Vl<0)return c.supported=!1,c.pos=c.text.length,"";for(var gi=c.text.substring(Oi+1,Vl),el=c.config.functions[i],$a=u(gi),li=[],wl={},Xa=0;Xa<$a.length;Xa++){var Ql=$a[Xa].match(/^\s*\$?([A-Za-z_][\w]*)\s*=(?!=)\s*(.*)$/);Ql!=null?wl[Ql[1]]=W(Ql[2],c.config):li.push(W($a[Xa],c.config))}return c.pos=Vl+1,c.config.callUserFunction(i,li,wl,el)}for(c.supported=!1,lr(c);c.pos<c.text.length&&c.text.charAt(c.pos)!==")";)Zr(c),lr(c),c.text.charAt(c.pos)===","&&(c.pos++,lr(c));return c.text.charAt(c.pos)===")"&&c.pos++,""}function vt(i,c){if(i==null||typeof i!="string")return i;c=c||{};var F={},y={},sr={},kr={};if(c.defines!=null)for(var be in c.defines)c.defines.hasOwnProperty(be)&&(F[be]=c.defines[be]);if(c.paramDefines!=null)for(var dr in c.paramDefines)c.paramDefines.hasOwnProperty(dr)&&(y[dr]=c.paramDefines[dr]);if(c.functions!=null)for(var Mo in c.functions)c.functions.hasOwnProperty(Mo)&&(sr[Mo]=c.functions[Mo]);if(c.variables!=null)for(var io in c.variables)c.variables.hasOwnProperty(io)&&(kr[io]=c.variables[io]);var go=c._functionScope||null,gn=go!=null?go.globals:kr,On=go!=null?go.localNames:null,co=c._preprocessorRuntime;co==null&&(co={steps:0,outputChars:0,callDepth:0,maxSteps:c.maxPreprocessorSteps!=null?c.maxPreprocessorSteps:zt,maxOutputChars:c.maxPreprocessorOutputChars!=null?c.maxPreprocessorOutputChars:Ga,maxCallDepth:c.maxFunctionCallDepth!=null?c.maxFunctionCallDepth:jt,exhausted:!1,included:{},subs:{},warningKeys:{},warnings:c.preprocessorWarnings||[]}),c._preprocessorRuntime=co,(c.preprocessorWarnings!=null||go!=null)&&(c.preprocessorWarnings=co.warnings);for(var Gn=i.split(`
61
+ `),lo=[],It=[],Un=0;Un<Gn.length;Un++)It.push(Un);var wa=[];function Ta(lt,na,Rn){for(var ja=[],Qn=0;Qn<na.length;Qn++)ja.push(Rn);Array.prototype.splice.apply(Gn,[lt,0].concat(na)),Array.prototype.splice.apply(It,[lt,0].concat(ja))}function Ea(lt){for(var na=-1,Rn=0;Rn<lt.length;Rn++)if(/^\s*@start[A-Za-z]*\b/i.test(lt[Rn])){na=Rn;break}if(na<0)return lt;for(var ja=[],Qn=na+1;Qn<lt.length&&!/^\s*@end[A-Za-z]*\b/i.test(lt[Qn]);Qn++)ja.push(lt[Qn]);return ja}function Ua(lt){return Q(lt,kr).replace(/^\s+|\s+$/g,"").replace(/^(["'])(.*)\1$/,"$2")}var oa=/C4_(?:Container|Context|Component|Code|Dynamic|Deployment)\.puml$/i;function vn(lt){var na=c.stdlib;if(na==null)return null;for(var Rn=lt.replace(/^<|>$/g,""),ja=[lt,Rn,Rn.replace(/\.puml$/i,""),Rn+".puml"],Qn=0;Qn<ja.length;Qn++)if(Object.prototype.hasOwnProperty.call(na,ja[Qn])&&typeof na[ja[Qn]]=="string")return{name:"<"+Rn+">",lines:Ea(pr(na[ja[Qn]]).split(`
62
+ `))};return null}function Jl(lt,na){for(var Rn=null,ja=!1,Qn=0;Qn<lt.length;Qn++){var Ri=lt[Qn].match(nf);if(Ri!=null){Ri[1]===na&&(ja=!1,Rn==null&&(Rn=[]));continue}af.test(lt[Qn])&&Rn!=null&&(ja=!0),Rn!=null&&!ja&&Rn.push(lt[Qn])}return Rn}function Ul(lt){var na=c.includes;if(na==null)return null;var Rn=Q(lt,kr).replace(/^\s+|\s+$/g,"").replace(/^(["'])(.*)\1$/,"$2"),ja=null;return Object.prototype.hasOwnProperty.call(na,Rn)?ja=na[Rn]:Rn.lastIndexOf("!")>0&&(Rn=Rn.substring(0,Rn.lastIndexOf("!")),Object.prototype.hasOwnProperty.call(na,Rn)&&(ja=na[Rn])),typeof ja!="string"?null:{name:Rn,lines:Ea(pr(ja).split(`
63
+ `))}}function _l(lt,na){var Rn={code:"preprocessor",message:lt,line:null};na!=null&&na>=0&&(Rn.bodyIndex=na),co.warnings.push(Rn),c.preprocessorWarnings=co.warnings}function Ma(lt,na,Rn){co.warningKeys.hasOwnProperty(lt)||(co.warningKeys[lt]=!0,_l(na,Rn))}function gl(lt){return go==null&&lt!=null&&lt<It.length?It[lt]:null}lo.push=function(lt,na){var Rn=lt==null?"":String(lt);if(co.outputChars+=Rn.length+1,co.outputChars>co.maxOutputChars)return co.exhausted=!0,Ma("output-budget","preprocessor output exceeded "+co.maxOutputChars+" characters"),lo.length;var ja=na??(Za<It.length?It[Za]:-1),Qn=-1;do wa.push(ja),Qn=Rn.indexOf(`
64
+ `,Qn+1);while(Qn>=0);return Array.prototype.push.call(lo,lt)};var Ia=[],tt=!0,Vn=[],sl=!1,El=c.maxLoopIterations!=null?c.maxLoopIterations:Zo,ui=!1,rl=null,Rl=null,pl=null,Al=!1,Wa=null,ai=null,Nl=!1,xa=/^(\s*)!\$([A-Za-z_][\w]*)\s*(\??)=\s*(.*)$/,fi=/^\s*!local\s+\$([A-Za-z_][\w]*)\s*(\??)=\s*(.*)$/i,Ni=/^\s*!global\s+\$([A-Za-z_][\w]*)\s*(\??)=\s*(.*)$/i,Oi=/^\s*@(?:start|end)[A-Za-z]*\b/i,Vl=/^\s*!define\s+([A-Za-z_][\w]*)\(([^)]*)\)(?:[ \t]+(.*))?$/,gi=/^\s*!define\s+([A-Za-z_][\w]*)(?:[ \t]+(.*))?$/,el=/^\s*!undef\s+([A-Za-z_][\w]*)\s*$/,$a=/^\s*!definelong\s+([A-Za-z_][\w]*)(?:\(([^)]*)\))?\s*$/,li=/^\s*!end\s*(?:definelong|function|procedure)\b/i,wl=/^\s*!((?:(?:unquoted|final)\s+)*)procedure\s+\$?([A-Za-z_][\w]*)(?:\(([^)]*)\))?\s*$/i,Xa=li,Ql=li,Ll=/^\s*!return\b(.*)$/i,Dl=/^\s*!if\b(.*)$/,qa=/^\s*!elseif\b(.*)$/,pi=/^\s*!else\s*$/,Fi=/^\s*!endif\s*$/,bi=/^\s*!ifdef\s+([A-Za-z_][\w]*)\s*$/,Ki=/^\s*!ifndef\s+([A-Za-z_][\w]*)\s*$/,ts=/^\s*!while\b(.*)$/,di=/^\s*!endwhile\s*$/,ns=/^\s*!foreach\s+\$([A-Za-z_][\w]*)\s+(?:in|from)\s+(.*)$/,Vi=/^\s*!end(?:for|foreach)\s*$/,cu=/^\s*!exit\b(.*)$/,Ns=/^\s*!log\b(.*)$/,ds=/^\s*!assert\b(.*)$/,gs=/^\s*!theme\s+(\S+)(?:\s+from\s+(.*?))?\s*$/i,Ws=/^\s*!include(_once|_many|url)?\s+(.+?)\s*$/i,Dd=/^\s*!includesub\s+(.+?)\s*$/i,nf=/^\s*!startsub\s+(\S+)\s*$/i,af=/^\s*!endsub\b/i,Ls=null,lf=-1,ou=E(I(F));function bs(){var lt=pl.join(`
65
+ `);Rl!=null?(y[rl]={params:Rl,body:lt},F.hasOwnProperty(rl)&&(delete F[rl],ou=E(I(F)))):(F[rl]=lt,ou=E(I(F)),y.hasOwnProperty(rl)&&delete y[rl]),ui=!1,rl=null,Rl=null,pl=null}function tu(lt,na,Rn){sr[lt.name]={params:lt.params,body:na.slice(),unquoted:lt.unquoted,procedure:lt.procedure===!0,declarationLine:Rn}}function sf(){if(go!=null)for(var lt in gn)gn.hasOwnProperty(lt)&&!On.hasOwnProperty(lt)&&(kr[lt]=gn[lt])}function Du(lt,na,Rn){if(go==null){kr[lt]=na;return}if(Rn==="global"){gn[lt]=na,On.hasOwnProperty(lt)||(kr[lt]=na);return}if(Rn==="local"||On.hasOwnProperty(lt)){On[lt]=!0,kr[lt]=na;return}if(gn.hasOwnProperty(lt)){gn[lt]=na,kr[lt]=na;return}On[lt]=!0,kr[lt]=na}function wf(lt,na,Rn){if(!sr.hasOwnProperty(lt))return"";if(co.callDepth>=co.maxCallDepth)return Ma("call-depth","return-function call depth exceeded "+co.maxCallDepth+" while calling "+lt+"()"),"";var ja=sr[lt],Qn={},Ri={};for(var Ps in gn)gn.hasOwnProperty(Ps)&&(Qn[Ps]=gn[Ps]);for(var Es=0;Es<ja.params.length;Es++){var Zs=ja.params[Es],js;Rn.hasOwnProperty(Zs.name)?js=Rn[Zs.name]:Es<na.length?js=na[Es]:Zs.defaultExpression!=null?js=W(Zs.defaultExpression,{defines:F,paramDefines:y,variables:Qn,functions:sr,callUserFunction:wf,setGlobalVariable:function(Mu,Kf){gn[Mu]=Kf}}):js="",Ri[Zs.name]=!0,Qn[Zs.name]=js}var lu={defines:F,paramDefines:y,functions:sr,variables:Qn,maxLoopIterations:El,_preprocessorRuntime:co,_functionScope:{globals:gn,localNames:Ri},includes:c.includes,preprocessorWarnings:co.warnings,preprocessorLogs:c.preprocessorLogs||[]};co.callDepth++;var Af;try{Af=vt(ja.body.join(`
66
+ `),lu)}finally{co.callDepth--}return c.preprocessorLogs=lu.preprocessorLogs,co.warnings.length>0&&(c.preprocessorWarnings=co.warnings),sf(),ja.procedure?Af.split(`
67
+ `).filter(function(Mu){return Mu.length>0}).join(`
68
+ `):lu.functionReturned?lu.functionReturn:""}function as(){return{defines:F,paramDefines:y,variables:kr,functions:sr,callUserFunction:wf,setGlobalVariable:function(lt,na){Du(lt,na,"global")}}}function uf(lt,na){if(!/^\s*[{[]/.test(lt))return null;var Rn=se(lt,0);if(Rn<=0)return null;for(var ja=lt,Qn=na+1;Qn<Gn.length;Qn++){if(Oi.test(Gn[Qn]))return null;var Ri=d(Gn[Qn],kr);if(ja+=Ri,Rn=se(Ri,Rn),Rn<=0)return{text:ja,endIdx:Qn}}return null}function Su(lt,na,Rn,ja,Qn){var Ri=uf(na,ja),Ps=Ri!=null?Ri.text:na;if((!Qn||!kr.hasOwnProperty(lt))&&Du(lt,W(Ps,as()),Rn),lo.push(""),Ri==null)return ja;for(var Es=ja+1;Es<=Ri.endIdx;Es++)lo.push("",It[Es]);return Ri.endIdx}for(var Za=0;Za<Gn.length&&!co.exhausted;Za++){if(co.steps++,co.steps>co.maxSteps){co.exhausted=!0,Ma("step-budget","preprocessor execution exceeded "+co.maxSteps+" steps");break}var Gs=Gn[Za],hl=d(Gs,kr),Qo;if((Qo=Gs.match(nf))!=null){Ls!=null&&Ma("startsub-nested:"+Qo[1],"!startsub "+Qo[1]+" opens inside !startsub "+Ls+' (plantuml.jar answers "Cannot nest sub"); the outer block ends here'),Ls=Qo[1],co.subs[Ls]=[],lf=Za,lo.push("");continue}if(af.test(Gs)){Ls=null,lo.push("");continue}if(Ls!=null&&Za>lf&&(co.subs[Ls].push(Gs),lf=Za),Al){if(Ql.test(Gs)){Nl&&tu(Wa,ai,Wa.declarationLine),Al=!1,Wa=null,ai=null,Nl=!1,lo.push("");continue}ai.push(Gs),lo.push("");continue}if(ui){if(li.test(hl)||Xa.test(hl)){bs(),lo.push("");continue}pl.push(hl),lo.push("");continue}var hu=o(Gs);if(hu!=null){hu.declarationLine=Za+1,hu.inlineReturn!=null?tt&&tu(hu,["!return "+hu.inlineReturn],Za+1):(Al=!0,Wa=hu,ai=[],Nl=tt),lo.push("");continue}if((Qo=hl.match(Dl))!=null){var Xs=tt?Qr(w(Qo[1],as())):!1;Ia.push({parentOutputting:tt,hasMatched:Xs}),tt=Xs,lo.push("");continue}if((Qo=hl.match(bi))!=null){var Sd=tt&&(F.hasOwnProperty(Qo[1])||y.hasOwnProperty(Qo[1]));Ia.push({parentOutputting:tt,hasMatched:Sd}),tt=Sd,lo.push("");continue}if((Qo=hl.match(Ki))!=null){var ff=tt&&!(F.hasOwnProperty(Qo[1])||y.hasOwnProperty(Qo[1]));Ia.push({parentOutputting:tt,hasMatched:ff}),tt=ff,lo.push("");continue}if((Qo=hl.match(qa))!=null){if(Ia.length>0){var nu=Ia[Ia.length-1];if(nu.hasMatched)tt=!1;else{var Bu=nu.parentOutputting?Qr(w(Qo[1],as())):!1;Bu?(nu.hasMatched=!0,tt=!0):tt=!1}}lo.push("");continue}if(pi.test(hl)){if(Ia.length>0){var df=Ia[Ia.length-1];df.hasMatched?tt=!1:(df.hasMatched=!0,tt=df.parentOutputting)}lo.push("");continue}if(Fi.test(hl)){if(Ia.length>0){var zi=Ia.pop();tt=zi.parentOutputting}lo.push("");continue}if((Qo=hl.match(ts))!=null){var Tu=tt,cf={type:"while",startIdx:Za,cond:Qo[1],iters:0,outerOutputting:Tu,active:!1};if(Tu){var hf=Qr(w(Qo[1],as()));cf.active=hf,tt=hf}Vn.push(cf),lo.push("");continue}if(di.test(hl)){var Rs=Vn.length>0&&Vn[Vn.length-1].type==="while"?Vn[Vn.length-1]:null;if(Rs==null){lo.push("");continue}if(!Rs.active){tt=Rs.outerOutputting,Vn.pop(),lo.push("");continue}if(Rs.iters++,Rs.iters>=El){_l("!while exceeded "+El+" iterations",gl(Rs.startIdx)),tt=Rs.outerOutputting,Vn.pop(),lo.push("");continue}var Bd=Gn[Rs.startIdx],Cf=d(Bd,kr).match(ts),Td=Cf!=null?Cf[1]:"",Pf=Qr(w(Td,as()));if(Pf){lo.push(""),Za=Rs.startIdx;continue}tt=Rs.outerOutputting,Vn.pop(),lo.push("");continue}if((Qo=hl.match(ns))!=null){var vf=tt,pf=Qo[1],Iu=t(Qo[2],as()),Cu={type:"foreach",startIdx:Za,varName:pf,list:Iu,index:0,iters:0,outerOutputting:vf,active:!1};vf&&Iu.length>0?(Du(pf,Iu[0],null),Cu.active=!0,tt=!0):tt=!1,Vn.push(Cu),lo.push("");continue}if(Vi.test(hl)){var Li=Vn.length>0&&Vn[Vn.length-1].type==="foreach"?Vn[Vn.length-1]:null;if(Li==null){lo.push("");continue}if(!Li.active){tt=Li.outerOutputting,Vn.pop(),lo.push("");continue}if(Li.iters++,Li.index++,Li.iters>=El){_l("!foreach exceeded "+El+" iterations",gl(Li.startIdx)),tt=Li.outerOutputting,Vn.pop(),lo.push("");continue}if(Li.index<Li.list.length){Du(Li.varName,Li.list[Li.index],null),lo.push(""),Za=Li.startIdx;continue}tt=Li.outerOutputting,Vn.pop(),lo.push("");continue}if(!tt){lo.push("");continue}if((Qo=hl.match(Ws))!=null){var Nu=Qo[1]==null?"":Qo[1].toLowerCase(),Gi=Ua(Qo[2]),ls=null,vu=gl(Za);if(Nu==="url"||/^https?:\/\//i.test(Gi)){if(!c.allowUrlIncludes){Ma("include-url:"+Gi,'!include of URL "'+Gi+'" is not loaded: remote includes are disabled (config.allowUrlIncludes) and the browser cannot fetch them; nothing is included here',vu),lo.push("");continue}if(ls=Ul(Gi),ls==null){Ma("include-url-missing:"+Gi,'!include of URL "'+Gi+'" was not provided in config.includes; nothing is included here',vu),lo.push("");continue}}else if(/^<.*>$/.test(Gi)){if(ls=vn(Gi),ls==null){var ci=Gi.substring(1).split("/")[0].replace(/>$/,"");/^(?:c4|archimate)$/i.test(ci)||Ma("stdlib:"+ci.toLowerCase(),"stdlib module "+Gi+" is not bundled in this converter (only C4 and ArchiMate are implemented, natively); its macros are left unexpanded \u2014 a host can provide the module text in config.stdlib",vu)}}else ls=Ul(Gi),ls==null&&!oa.test(Gi)&&Ma("include:"+Gi,'"'+Gi+'" could not be included: this converter has no access to files, so its content is missing (plantuml.jar answers "cannot include '+Gi+'")',vu);if(ls!=null){if(Nu!=="_many"&&co.included.hasOwnProperty(ls.name)){Nu==="_once"&&Ma("include-once:"+ls.name,'"'+ls.name+'" has already been included; this !include_once is ignored (plantuml.jar answers "This file has already been included")',vu),lo.push("");continue}co.included[ls.name]=!0,Ta(Za+1,ls.lines,It[Za]),lo.push("");continue}}if((Qo=hl.match(Dd))!=null){var ys=Ua(Qo[1]),pu=null,au=ys.indexOf("!");if(au>0&&c.includes!=null){var Yf=ys.substring(0,au),Lu=Object.prototype.hasOwnProperty.call(c.includes,Yf)?c.includes[Yf]:null;typeof Lu=="string"&&(pu=Jl(pr(Lu).split(`
69
+ `),ys.substring(au+1)))}if(pu==null&&au<0&&co.subs.hasOwnProperty(ys)&&(pu=co.subs[ys]),pu==null){Ma("includesub:"+ys,"!includesub "+ys+": no such block"+(au>0&&(c.includes==null||!Object.prototype.hasOwnProperty.call(c.includes,ys.substring(0,au)))?" (the file is not in config.includes)":"")+' (plantuml.jar answers "cannot include '+ys+'"); nothing is included here',gl(Za)),lo.push("");continue}Ta(Za+1,pu,It[Za]),lo.push("");continue}if((Qo=hl.match(gs))!=null){var $u=Q(Qo[1],kr).replace(/^["']|["']$/g,""),Mf=Qo[2]==null?ef.get($u):null;if(Mf==null){Ma("theme:"+$u.toLowerCase(),'theme "'+$u+'" is not bundled'+(Qo[2]!=null?" (external themes are not loaded)":"")+"; the default look is used"),lo.push("");continue}var Id=Mf.split(`
70
+ `);c.themesApplied=c.themesApplied||[],c.themesApplied.indexOf($u)<0&&c.themesApplied.push($u),Ta(Za+1,Id,It[Za]),lo.push("");continue}if(go!=null&&(Qo=hl.match(Ll))!=null){var $f=Qo[1].replace(/^\s+|\s+$/g,"");c.functionReturn=$f.length>0?w($f,as()):"",c.functionReturned=!0,lo.push("");break}if(cu.test(hl)){sl=!0,lo.push("");break}if((Qo=hl.match(Ns))!=null){var xf=Qo[1].replace(/^\s+|\s+$/g,""),Gu=xf.length>0?w(xf,as()):"";c.preprocessorLogs=c.preprocessorLogs||[],c.preprocessorLogs.push(ar(Gu)),lo.push("");continue}if((Qo=hl.match(ds))!=null){var gf=Qo[1].replace(/^\s+|\s+$/g,""),Nd=gf.length>0?w(gf,as()):!1;Qr(Nd)||_l("!assert failed: "+gf,gl(Za)),lo.push("");continue}if((Qo=hl.match(fi))!=null){Za=Su(Qo[1],Qo[3],"local",Za,Qo[2]==="?");continue}if((Qo=hl.match(Ni))!=null){Za=Su(Qo[1],Qo[3],"global",Za,Qo[2]==="?");continue}if((Qo=hl.match(xa))!=null){Za=Su(Qo[2],Qo[4],null,Za,Qo[3]==="?");continue}if((Qo=hl.match($a))!=null){ui=!0,rl=Qo[1],Rl=Qo[2]!=null?N(Qo[2]):null,pl=[],lo.push("");continue}if((Qo=Gs.match(wl))!=null){Al=!0,Wa={name:Qo[2],params:R(Qo[3]||""),unquoted:/unquoted/i.test(Qo[1]||""),inlineReturn:null,procedure:!0,declarationLine:Za+1},ai=[],Nl=tt,lo.push("");continue}if((Qo=hl.match(Vl))!=null){var wu=Qo[1],Ld=Qo[3]!=null?Qo[3].replace(/\s+$/,""):"";y[wu]={params:N(Qo[2]),body:Ld},F.hasOwnProperty(wu)&&(delete F[wu],ou=E(I(F))),lo.push("");continue}if((Qo=hl.match(gi))!=null){var Gd=Qo[2]!=null?Qo[2].replace(/\s+$/,""):"";F[Qo[1]]=Gd,ou=E(I(F)),y.hasOwnProperty(Qo[1])&&delete y[Qo[1]],lo.push("");continue}if((Qo=hl.match(el))!=null){F.hasOwnProperty(Qo[1])&&(delete F[Qo[1]],ou=E(I(F))),y.hasOwnProperty(Qo[1])&&delete y[Qo[1]],lo.push("");continue}var Ui=O(hl,sr,as());Ui=g(Ui,as()),Ui=f(Ui,y),Ui=L(Ui,F,ou),lo.push(Q(Ui,kr))}Al&&Nl&&tu(Wa,ai,Wa.declarationLine),ui&&bs(),sl&&(c.exited=!0),c.defines==null&&(c.defines={});for(var ws in c.defines)c.defines.hasOwnProperty(ws)&&!F.hasOwnProperty(ws)&&delete c.defines[ws];for(var Pu in F)F.hasOwnProperty(Pu)&&(c.defines[Pu]=F[Pu]);c.paramDefines==null&&(c.paramDefines={});for(var Hf in c.paramDefines)c.paramDefines.hasOwnProperty(Hf)&&!y.hasOwnProperty(Hf)&&delete c.paramDefines[Hf];for(var Rf in y)y.hasOwnProperty(Rf)&&(c.paramDefines[Rf]=y[Rf]);c.functions==null&&(c.functions={});for(var qs in sr)sr.hasOwnProperty(qs)&&(c.functions[qs]=sr[qs]);c.variables==null&&(c.variables={});for(var $i in kr)kr.hasOwnProperty($i)&&(c.variables[$i]=kr[$i]);var Yu=lo.join(`
71
+ `);return wa.length===0&&wa.push(-1),c.preprocessorLineMap=wa,go==null&&!c._preserveRuntime&&delete c._preprocessorRuntime,Yu}var _o=16,Zo=1024,jt=64,zt=5e5,Ga=32*1024*1024;function $n(i,c){if(c==null)return i;if(i==null)return c.slice();for(var F=[],y=0;y<c.length;y++){var sr=c[y];F.push(sr>=0&&sr<i.length?i[sr]:-1)}return F}function zn(i){var c=i.defines;if(c!=null)for(var F in c)c.hasOwnProperty(F)&&new RegExp("(?:^|[^\\w$])"+p(F)+"(?![\\w])").test(c[F])&&delete c[F]}function Dn(i,c,F){if(!(i==null||F==null))for(var y=c;y<i.length;y++){var sr=i[y];sr!=null&&typeof sr=="object"&&sr.bodyIndex!=null&&(sr.bodyIndex=sr.bodyIndex>=0&&sr.bodyIndex<F.length?F[sr.bodyIndex]:-1)}}function xe(i,c){if(i==null||typeof i!="string")return i;c=c||{},delete c._preprocessorRuntime,c._preserveRuntime=!0;for(var F=i,y=null,sr=0,kr=null,be=c.preprocessorWarnings!=null?c.preprocessorWarnings.length:0;F!==y&&sr<_o;)y=F,F=Xr(F),F=vt(F,c),Dn(c.preprocessorWarnings,be,kr),be=c.preprocessorWarnings!=null?c.preprocessorWarnings.length:0,kr=$n(kr,c.preprocessorLineMap),zn(c),sr++;if(delete c._preprocessorRuntime,delete c._preserveRuntime,c.preprocessorLineMap=kr,F!==y)throw new Error("PlantUmlPreprocessor: expansion did not converge after "+_o+" iterations (possible cycle in defines / variables)");return F}return{run:xe,stripComments:Xr,expandVariables:_,expandDefines:x,expandDirectives:vt,evaluateExpression:w,parseScalarValue:Tr,normaliseLineEndings:pr}})();var Eu=(function(){var pr={ditaa:{wrapper:"@startditaa",grounds:["licence","out-of-domain"],summary:"ditaa is a separate LGPL-licensed project, not PlantUML diagram syntax",detail:`ditaa ("DIagrams Through Ascii Art") is an independent tool by Efstathios Sideris that converts ASCII-art drawings into bitmaps. Its sources are present in the plantuml-asl jar under org/stathissideris/ascii2image/, but each file carries an intact LGPL-3.0-or-later notice from its author underneath the Apache-2.0 header that upstream's build prepends \u2014 conflicting notices this port will not rely on. Upstream's own Apache build refuses @startditaa for the same reason. Nothing about it is PlantUML diagram language.`},dot:{wrapper:"@startdot",grounds:["out-of-domain"],summary:"DOT is GraphViz's own language, rendered by a layout engine this port does not ship",detail:"A @startdot block is raw GraphViz DOT passed straight through to GraphViz \u2014 a different language with its own grammar and its own layout engine. PlantUML delegates it either to a native dot binary or to Smetana, its Java translation of GraphViz. This port is browser JavaScript with no GraphViz available and no intention of carrying a layout engine, so there is nothing to render DOT with. Supporting it would mean porting GraphViz, not PlantUML."},jcckit:{wrapper:"@startjcckit",grounds:["licence","out-of-domain"],summary:"JCCKit is a separate charting library, and upstream has removed it",detail:'JCCKit is an independent Java charting toolkit that PlantUML once bundled to draw plots. It is gone from the 1.2026.6 artifacts entirely \u2014 neither edition contains it, and upstream answers @startjcckit with "Diagram not supported by this release of PlantUML". Its licensing has the same third-party-relabelling problem as ditaa, and charting is not the PlantUML diagram language, so there is nothing here worth reviving.'},sudoku:{wrapper:"@startsudoku",grounds:["out-of-domain"],summary:"a Sudoku generator is not a diagram language feature, and upstream has removed it",detail:'PlantUML could once generate Sudoku grids. It is gone from the 1.2026.6 artifacts \u2014 upstream answers @startsudoku with "Diagram not supported by this release of PlantUML" \u2014 so its licensing could not be re-verified from the artifacts, and it does not matter: a puzzle generator has nothing to do with drawing diagrams from a modelling language.'}},q={};for(var Xr in pr)Object.prototype.hasOwnProperty.call(pr,Xr)&&(q[pr[Xr].wrapper]=Xr);function Tr(Y){return Y!=null&&Object.prototype.hasOwnProperty.call(pr,Y)}function se(Y){if(!Tr(Y))return null;var $r=pr[Y];return{type:Y,wrapper:$r.wrapper,grounds:$r.grounds.slice(),summary:$r.summary,detail:$r.detail}}function Kr(Y){return Y!=null&&Object.prototype.hasOwnProperty.call(q,Y)?q[Y]:null}function Dr(){var Y=[];for(var $r in pr)Object.prototype.hasOwnProperty.call(pr,$r)&&Y.push($r);return Y.sort()}function ar(Y){var $r=se(Y);if($r==null)return new Error('PlantUML: no parser registered for type "'+Y+'"');var rr=new Error("PlantUML: "+$r.wrapper+" is not supported");return rr.plantUmlUnsupported=!0,rr.diagramType=Y,rr.grounds=$r.grounds,rr}return{FAMILIES:pr,isUnsupported:Tr,describe:se,typeForWrapper:Kr,list:Dr,unsupportedError:ar}})();var fd=(function(){var pr={};function q(H,M){var j=Array.prototype.slice.call(arguments,2),gr=H.toLowerCase();pr.hasOwnProperty(gr)||(pr[gr]=[]),pr[gr].push({names:j,prop:M})}function Xr(H){var M=Array.prototype.slice.call(arguments,1);q.apply(null,[H+"FontSize","FontSize"].concat(M)),q.apply(null,[H+"FontStyle","FontStyle"].concat(M)),q.apply(null,[H+"FontColor","FontColor"].concat(M)),q.apply(null,[H+"FontName","FontName"].concat(M))}function Tr(H){var M=H.replace(/_/g,"");q(M+"BackgroundColor","BackGroundColor",H),q(M+"BorderColor","LineColor",H),q(M+"BorderThickness","LineThickness",H),q(M+"RoundCorner","RoundCorner",H),q(M+"DiagonalCorner","DiagonalCorner",H),q(M+"BorderStyle","LineStyle",H),Xr(M,H),q(M+"Shadowing","Shadowing",H),q(M+"StereotypeFontSize","FontSize","stereotype",H),q(M+"StereotypeFontStyle","FontStyle","stereotype",H),q(M+"StereotypeFontColor","FontColor","stereotype",H),q(M+"StereotypeFontName","FontName","stereotype",H)}q("participantClickableBackgroundColor","BackGroundColor","participant","clickable"),q("participantClickableBorderColor","LineColor","participant","clickable"),Tr("participant"),Tr("boundary"),Tr("control"),Tr("collections"),Tr("actor"),Tr("database"),Tr("entity"),Xr("header","document","header"),Xr("footer","document","footer"),Xr("caption","document","caption"),q("defaultFontSize","FontSize","element"),q("sequenceStereotypeFontSize","FontSize","stereotype"),q("sequenceStereotypeFontStyle","FontStyle","stereotype"),q("sequenceStereotypeFontColor","FontColor","stereotype"),q("sequenceStereotypeFontName","FontName","stereotype"),q("SequenceReferenceBorderColor","LineColor","reference"),q("SequenceReferenceBorderColor","LineColor","referenceHeader"),q("SequenceReferenceBackgroundColor","BackGroundColor","reference"),q("sequenceReferenceHeaderBackgroundColor","BackGroundColor","referenceHeader"),Xr("sequenceReference","reference"),Xr("sequenceReference","referenceHeader"),q("sequenceGroupBorderThickness","LineThickness","group"),q("SequenceGroupBorderColor","LineColor","group"),q("SequenceGroupBorderColor","LineColor","groupHeader"),q("SequenceGroupBackgroundColor","BackGroundColor","groupHeader"),Xr("SequenceGroup","group"),Xr("SequenceGroupHeader","groupHeader"),q("SequenceBoxBorderColor","LineColor","box"),q("SequenceBoxBackgroundColor","BackGroundColor","box"),q("SequenceBoxFontColor","FontColor","box"),q("SequenceLifeLineBorderColor","LineColor","lifeLine"),q("SequenceLifeLineBackgroundColor","BackGroundColor","activationBox"),Xr("sequenceDelay","delay"),q("sequenceDelayBorderColor","LineColor","delay"),q("sequenceDividerBackgroundColor","BackGroundColor","separator"),q("sequenceDividerBorderColor","LineColor","separator"),Xr("sequenceDivider","separator"),q("sequenceDividerBorderThickness","LineThickness","separator"),q("SequenceMessageAlignment","HorizontalAlignment","arrow"),Xr("note","note"),q("noteBorderThickness","LineThickness","note"),q("noteBorderColor","LineColor","note"),q("noteBackgroundColor","BackGroundColor","note"),q("packageBackgroundColor","BackGroundColor","group"),q("packageBorderColor","LineColor","group"),Tr("package"),q("PartitionBorderColor","LineColor","composite"),q("PartitionBackgroundColor","BackGroundColor","composite"),Xr("Partition","composite"),q("hyperlinkColor","HyperLinkColor","root"),q("activityStartColor","BackGroundColor","circle","start"),q("activityEndColor","LineColor","circle","end"),q("activityStopColor","LineColor","circle","stop"),q("activityBarColor","BackGroundColor","activityBar"),q("activityBorderColor","LineColor","activity"),q("activityBorderThickness","LineThickness","activity"),q("activityBackgroundColor","BackGroundColor","activity"),Xr("activity","activity"),q("activityDiamondBackgroundColor","BackGroundColor","diamond"),q("activityDiamondBorderColor","LineColor","diamond"),Xr("activityDiamond","diamond"),Xr("arrow","arrow"),q("arrowThickness","LineThickness","arrow"),q("arrowColor","LineColor","arrow"),q("arrowStyle","LineStyle","arrow"),q("arrowHeadColor","HeadColor","arrow"),q("defaulttextalignment","HorizontalAlignment","root"),q("defaultFontName","FontName","root"),q("defaultFontColor","FontColor","root"),Xr("SwimlaneTitle","swimlane"),q("SwimlaneTitleBackgroundColor","BackGroundColor","swimlane"),q("SwimlaneBorderColor","LineColor","swimlane"),q("SwimlaneBorderThickness","LineThickness","swimlane"),q("roundCorner","RoundCorner","root"),q("titleBorderThickness","LineThickness","title"),q("titleBorderColor","LineColor","title"),q("titleBackgroundColor","BackGroundColor","title"),q("titleBorderRoundCorner","RoundCorner","title"),Xr("title","document","title"),q("legendBorderThickness","LineThickness","legend"),q("legendBorderColor","LineColor","legend"),q("legendBackgroundColor","BackGroundColor","legend"),q("legendBorderRoundCorner","RoundCorner","legend"),Xr("legend","legend"),q("noteTextAlignment","HorizontalAlignment","note"),q("BackgroundColor","BackGroundColor","document"),q("classBackgroundColor","BackGroundColor","element","class"),q("classBorderColor","LineColor","element","class"),q("classFontSize","FontSize","element","class","header"),q("classFontStyle","FontStyle","element","class","header"),q("classFontColor","FontColor","element","class","header"),q("classFontName","FontName","element","class","header"),q("classAttributeFontSize","FontSize","element","class"),q("classAttributeFontStyle","FontStyle","element","class"),q("classAttributeFontColor","FontColor","element","class"),q("classAttributeFontName","FontName","element","class"),q("classBorderThickness","LineThickness","element","class"),q("classHeaderBackgroundColor","BackGroundColor","element","class","header"),q("objectBackgroundColor","BackGroundColor","object"),q("objectBorderColor","LineColor","object"),Xr("object","object"),Xr("objectAttribute","object"),q("objectBorderThickness","LineThickness","object"),q("stateBackgroundColor","BackGroundColor","state"),q("stateBorderColor","LineColor","state"),Xr("state","state"),Xr("stateAttribute","state"),q("stateBorderThickness","LineThickness","state"),Tr("agent"),Tr("artifact"),Tr("card"),Tr("interface"),Tr("cloud"),Tr("component"),Tr("file"),Tr("folder"),Tr("frame"),Tr("hexagon"),Tr("node"),Tr("person"),Tr("queue"),Tr("rectangle"),Tr("stack"),Tr("storage"),Tr("usecase"),Tr("map"),Tr("archimate"),Tr("hnote"),Tr("rnote"),q("IconPrivateColor","LineColor","visibilityIcon","private"),q("IconPrivateBackgroundColor","BackGroundColor","visibilityIcon","private"),q("IconPackageColor","LineColor","visibilityIcon","package"),q("IconPackageBackgroundColor","BackGroundColor","visibilityIcon","package"),q("IconProtectedColor","LineColor","visibilityIcon","protected"),q("IconProtectedBackgroundColor","BackGroundColor","visibilityIcon","protected"),q("IconPublicColor","LineColor","visibilityIcon","public"),q("IconPublicBackgroundColor","BackGroundColor","visibilityIcon","public"),q("MinClassWidth","MinimumWidth"),q("wrapWidth","MaximumWidth","element"),q("HyperlinkUnderline","HyperlinkUnderlineThickness","element"),q("StereotypeAlignment","HorizontalAlignment","stereotype"),q("stereotypeABackgroundColor","BackGroundColor","spotAbstractClass"),q("stereotypeABorderColor","LineColor","spotAbstractClass"),q("stereotypeCBackgroundColor","BackGroundColor","spotClass"),q("stereotypeCBorderColor","LineColor","spotClass"),q("stereotypeEBackgroundColor","BackGroundColor","spotEnum"),q("stereotypeEBorderColor","LineColor","spotEnum"),q("stereotypeIBackgroundColor","BackGroundColor","spotInterface"),q("stereotypeIBorderColor","LineColor","spotInterface"),q("stereotypeNBackgroundColor","BackGroundColor","spotAnnotation"),q("stereotypeNBorderColor","LineColor","spotAnnotation"),q("stereotypeRBackgroundColor","BackGroundColor","spotRecord"),q("stereotypeRBorderColor","LineColor","spotRecord"),q("stereotypeDBackgroundColor","BackGroundColor","spotDataClass"),q("stereotypeDBorderColor","LineColor","spotDataClass");var se=/<<(.*?)>>/g;function Kr(H){H=String(H).replace(/^\s+|\s+$/g,"").toLowerCase(),H=H.replace(/_|\./g,""),H=H.replace(/sequence(participant|actor)/g,"$1"),H=H.replace(/(activity|class|component|object|sequence|state|usecase)arrow/g,"arrow"),H=H.replace(/align$/,"alignment");var M=[],j;for(se.lastIndex=0;(j=se.exec(H))!=null;)M.push(H.replace(/<<(.*?)>>/g,"")+"<<"+j[1]+">>");return M.length===0&&M.push(H),M}function Dr(H){var M=H.toLowerCase();return M==="false"||M==="no"?"0":M==="true"||M==="yes"?"3":H}function ar(H){return H.indexOf(";")>=0||H.indexOf("text:")===0}function Y(H,M,j){var gr=null;if(H.indexOf("<<")>=0){var W=H.split(/[<>]+/);H=W[0],gr=W.length>1&&W[1]!=null?W[1].replace(/^\s+|\s+$/g,""):null}var d=gr?gr.split("&"):[];function _(o,t,n){var f={};f[o]=t,j.addRule(n,d,f)}M=String(M),/shadowing$/.test(H)?M.toLowerCase()==="false"?M="0":M.toLowerCase()==="true"&&(M="3"):H==="hyperlinkunderline"&&(M.toLowerCase()==="false"&&(M="0"),M.toLowerCase()==="true"&&(M="1")),M.toLowerCase()==="right:right"&&(M="right"),M.toLowerCase()==="dotted"&&(M="1;3"),M.toLowerCase()==="dashed"&&(M="7;7");var p=pr[H.toLowerCase()];if(p==null){H==="shadowing"?_("Shadowing",Dr(M),["root"]):H==="noteshadowing"&&_("Shadowing",Dr(M),["root","note"]);return}function E(o){var t;if(o.indexOf("text:")===0){var n=o.split(":")[1];for(t=0;t<p.length;t++)_("FontColor",n,p[t].names)}else if(o.indexOf("line.dotted")===0)for(t=0;t<p.length;t++)_("LineStyle","1;3",p[t].names);else if(o.indexOf("line.dashed")===0)for(t=0;t<p.length;t++)_("LineStyle","7;7",p[t].names);else if(o.toLowerCase().indexOf("bold")>=0)for(t=0;t<p.length;t++)_("LineThickness","2",p[t].names)}if(ar(M))if(M.indexOf(";")>=0){M.charAt(0)===";"&&(M=" "+M);for(var L=M.split(";"),N=[],m=0;m<L.length;m++)L[m].length>0&&N.push(L[m]);M=N.length>0?N[0]:" ";for(var u=1;u<N.length;u++)E(N[u])}else{E(M);return}if(M!==" ")for(var R=0;R<p.length;R++)_(p[R].prop,M,p[R].names)}function $r(H,M,j){for(var gr=Kr(H),W=String(M??"").replace(/^\s+|\s+$/g,""),d=0;d<gr.length;d++)j.skinparams[gr[d]]=W,Y(gr[d],W,j)}function rr(H){return pr.hasOwnProperty(String(H).toLowerCase().replace(/<<.*$/,""))}return{cleanKeys:Kr,apply:$r,isKnown:rr}})();var kt=(function(){for(var pr=["Shadowing","FontName","FontColor","FontSize","FontStyle","FontWeight","BackGroundColor","RoundCorner","LineThickness","DiagonalCorner","HyperLinkColor","HyperlinkUnderlineStyle","HyperlinkUnderlineThickness","HeadColor","LineColor","LineStyle","Padding","Margin","MaximumWidth","MinimumWidth","ExportedName","Image","HorizontalAlignment","ShowStereotype","ImagePosition","MarkerShape","MarkerSize","MarkerColor","BarWidth","Width"],q={},Xr=0;Xr<pr.length;Xr++)q[pr[Xr].toLowerCase()]=pr[Xr];for(var Tr="action activationBox activity activityBar activityDiagram actor agent analog archimate arrow artifact binary body boundary box boxless business caption card cardinality circle classDiagram class clickable cloud closed collection collections component composite robust chenAttribute chenEerDiagram chenEntity chenRelationship concise clock componentDiagram constraintArrow control database day delay description destroy diamond document ebnf element entity end start stop file filesDiagram folder footer frame ganttDiagram generic goto group groupHeader header hexagon highlight hnote interface json jsonDiagram gitDiagram label leafNode legend lifeLine mainframe map milestone mindmapDiagram month name network newpage node note nwdiagDiagram packetdiagDiagram objectDiagram object package participant partition person port process qualified queue rectangle reference referenceHeader regex requirement rnote root rootNode saltDiagram separator sequenceDiagram server stack stateDiagram state stateBody stereotype storage swimlane task timegrid timeline timingDiagram title undone unstarted usecase verticalSeparator year visibilityIcon private protected public IEMandatory spot spotAnnotation spotInterface spotEnum spotProtocol spotStruct spotEntity spotException spotClass spotAbstractClass spotMetaClass spotStereotype spotDataClass spotRecord wbsDiagram yamlDiagram chartDiagram bar line area scatter axis hAxis vAxis grid annotation".split(" "),se={},Kr=0;Kr<Tr.length;Kr++)se[Tr[Kr].toLowerCase()]=!0;function Dr(s){var $=String(s).replace(/_/g,"").toLowerCase();return se.hasOwnProperty($)?$:null}function ar(s){return String(s).replace(/[_.]/g,"").toLowerCase()}function Y(){return{names:{},level:-1,starred:!1,stereotypes:{},withDot:!1}}function $r(s){var $={},G={},B;for(B in s.names)s.names.hasOwnProperty(B)&&($[B]=!0);for(B in s.stereotypes)s.stereotypes.hasOwnProperty(B)&&(G[B]=!0);return{names:$,level:s.level,starred:s.starred,stereotypes:G,withDot:s.withDot}}function rr(s,$,G,B){var or=Y(),K;for(K=0;K<s.length;K++){var hr=Dr(s[K]);hr!=null&&(or.names[hr]=!0)}if(or.level=$??-1,G!=null)for(K=0;K<G.length;K++)or.stereotypes[ar(G[K])]=!0;return or.starred=!!B,or}function H(s,$){var G;if(s.level!==-1){if(s.starred){if($.level===-1||$.level<s.level)return!1}else if($.level===-1||$.level!==s.level)return!1}if($.starred&&!s.starred)return!1;for(G in s.names)if(s.names.hasOwnProperty(G)&&!$.names[G])return!1;for(G in s.stereotypes)if(s.stereotypes.hasOwnProperty(G)&&!$.stereotypes[G])return!1;return!0}var M=1,j=2,gr=3,W=4,d=5,_=6,p=7,E=8,L=9;function N(s){var $=String(s),G=$.length,B=0,or=[];function K(Tt){for(;B<G;){if($.charAt(B)===Tt){B++;return}B++}}function hr(Tt,Cn){for(;B<G;){if($.charAt(B)===Tt&&$.charAt(B+1)===Cn){B+=2;return}B++}}for(;B<G;){var vr=$.charAt(B),Jr=$.charAt(B+1);if(vr===" "||vr===" ")B++;else if(vr==="/"&&Jr==="/")K(`
72
+ `);else if(vr==="/"&&Jr==="'")hr("'","/");else if(vr==="/"&&Jr==="*")hr("*","/");else if(vr===",")or.push({type:j,data:","}),B++;else if(vr===";")or.push({type:gr,data:";"}),B++;else if(vr===`
73
+ `||vr==="\r")or.push({type:W,data:"NEWLINE"}),B++;else if(vr==="*")or.push({type:d,data:"*"}),B++;else if(vr===":")or.push({type:_,data:":"}),B++;else if(vr==="{")or.push({type:p,data:"{"}),B++;else if(vr==="}")or.push({type:E,data:"}"}),B++;else if(vr==="@"){B++;for(var Ge="";B<G;){var no=$.charAt(B);if(B++,no==="{"||no==="}"||no===";")break;Ge+=no}or.push({type:L,data:Ge})}else if(vr==='"'){B++;for(var bo="";B<G&&$.charAt(B)!=='"';)bo+=$.charAt(B),B++;$.charAt(B)==='"'&&B++,or.push({type:M,data:bo})}else{for(var Oo="";B<G;){var We=$.charAt(B);if(We===`
74
+ `||We==="\r"||We===" "&&Oo.charAt(0)!=="."||We==="{"||We==="}"||We===";"||We===","||We===":"||We===" ")break;Oo+=We,B++}Oo.charAt(0)==="."&&(Oo=Oo.replace(/^\s+|\s+$/g,"")),or.push({type:M,data:Oo})}}return or}function m(s,$){this.parent=s,this.signatures=$,this.map={}}function u(s,$){$.charAt(0)===":"&&($=$.substring(1));var G=!1;$.charAt($.length-1)==="*"&&($=$.substring(0,$.length-1).replace(/^\s+|\s+$/g,""),G=!0);for(var B=$.split(","),or=new m(s,[]),K=0;K<B.length;K++)for(var hr=B[K],vr=0;vr<s.signatures.length;vr++){var Jr=$r(s.signatures[vr]);if(hr.charAt(0)===".")Jr.stereotypes[ar(hr)]=!0,Jr.withDot=!0;else if(hr.indexOf("depth(")===0)Jr.level=parseInt(hr.replace(/\D/g,""),10);else{var Ge=Dr(hr);Ge==null?(Jr.stereotypes[ar(hr)]=!0,Jr.withDot=!0):Jr.names[Ge]=!0}G&&(Jr.starred=!0),or.signatures.push(Jr)}return or}function R(s){var $=s.signatures[0],G;for(G in $.names)if($.names.hasOwnProperty(G))return!1;for(G in $.stereotypes)if($.stereotypes.hasOwnProperty(G))return!1;return $.level===-1&&!$.starred}var o=1e3;function t(s){var $=[],G=!1,B;for(B in s.map)if(s.map.hasOwnProperty(B)){G=!0;break}if(!G)return $;for(var or=0;or<s.signatures.length;or++){var K=s.signatures[or],hr={};for(B in s.map)s.map.hasOwnProperty(B)&&(hr[B]={value:s.map[B].value,priority:s.map[B].priority+(K.withDot?o:0)});$.push({sig:K,props:hr})}return $}function n(s){return new Error("PlantUML: Error in style definition: "+s)}function f(s,$){var G=N(s),B=$.variables,or=!1,K=new m(null,[Y()]),hr=0;function vr(_o){return G[hr+_o]||null}function Jr(){for(;vr(0)!=null&&vr(0).type===W;)hr++}function Ge(){for(;vr(0)!=null&&vr(0).type===_;)hr++}function no(){for(var _o="";vr(0)!=null;){var Zo=vr(0);if(Zo.type!==M&&Zo.type!==j)return _o;_o+=Zo.data,hr++}return _o}function bo(){for(var _o="";vr(0)!=null;){var Zo=vr(0);if(Zo.type===W||Zo.type===gr||Zo.type===E)return _o;if(Zo.type===M)_o.length>0&&(_o+=" "),_o+=Zo.data,hr++;else if(Zo.type===j)_o+=Zo.data,hr++;else if(Zo.type===_)if(_o+=Zo.data,hr++,vr(0)!=null&&vr(0).type===M)_o+=vr(0).data,hr++;else throw n("bad definition");else throw n("bad definition")}return _o}function Oo(_o){if(_o.indexOf("var(")===0){var Zo=/^var\(-*([_\w][-_\w]+)\)$/.exec(_o);if(Zo!=null&&B.hasOwnProperty(Zo[1]))return B[Zo[1]]}return _o}for(;vr(0)!=null;){var We=vr(0);if(hr++,!(We.type===W||We.type===gr)&&!(We.type===M&&(We.data.toLowerCase()==="<style>"||We.data.toLowerCase()==="</style>"))){if(vr(0)!=null&&vr(0).type===j){var Tt=We.data+no();if(Jr(),vr(0)!=null&&vr(0).type===p){K=u(K,Tt),hr++;continue}throw n('unexpected token after "'+Tt+'"')}if(We.type===M){var Cn=We.data;if(vr(0)!=null&&vr(0).type===d&&(hr++,Cn+="*"),Jr(),vr(0)!=null&&vr(0).type===p){K=u(K,Cn),hr++;continue}if(Ge(),We.data.indexOf("--")===0)B[We.data.substring(2)]=bo();else if(vr(0)!=null&&vr(0).type===M){var un=Oo(bo()),Kt=q[We.data.toLowerCase()],ut=++$.counter;Kt!=null&&!or&&(K.map[Kt]={value:un,priority:ut})}else throw n("parsing")}else if(We.type===E){for(var fn=t(K),vt=0;vt<fn.length;vt++)$.rules.push(fn[vt]);R(K)||(K=K.parent)}else if(We.type===L)or=!0;else if(We.type===_&&vr(0)!=null&&vr(0).type===M&&vr(1)!=null&&vr(1).type===p)K=u(K,":"+vr(0).data),hr+=2;else if(We.type===_&&vr(0)!=null&&vr(0).type===M&&vr(1)!=null&&vr(1).type===d&&vr(2)!=null&&vr(2).type===p)K=u(K,":"+vr(0).data+"*"),hr+=3;else throw We.type===p?n("Invalid open bracket"):n("unexpected token "+We.data)}}}var O=["root {"," FontName SansSerif"," HyperLinkColor blue"," HyperLinkUnderlineThickness 1"," FontColor black"," FontSize 14"," FontStyle plain"," HorizontalAlignment left"," RoundCorner 0"," DiagonalCorner 0"," LineThickness 1.0"," LineColor #181818"," BackGroundColor #f1f1f1"," Shadowing 0.0","}","element {"," Shadowing 0.0"," LineThickness 0.5","}","arrow {"," FontSize 13"," LineThickness 1.0"," BackGroundColor black","}","mindmapDiagram {"," node {"," Padding 10"," Margin 10"," RoundCorner 25"," LineThickness 1.5"," }"," arrow {"," LineThickness 1.0"," }","}","wbsDiagram {"," Padding 10"," Margin 15"," RoundCorner 0"," LineThickness 1.5"," FontSize 12","}"].join(`
75
+ `),g=null;function Q(){var s={rules:[],counter:0,variables:{},blocks:0,skinparams:{}};return g==null?(f(O,s),g={rules:s.rules.slice(),counter:s.counter}):(s.rules=g.rules.slice(),s.counter=g.counter),s.userStart=s.rules.length,s.addBlock=function($){f($,s),s.blocks++},s.addRule=function($,G,B){var or=rr($,-1,G,!1),K=G!=null&&G.length>0?o:0,hr={sig:or,props:{}},vr=!1;for(var Jr in B)if(B.hasOwnProperty(Jr)){var Ge=q[String(Jr).toLowerCase()];Ge!=null&&(hr.props[Ge]={value:B[Jr],priority:++s.counter+K},vr=!0)}vr&&s.rules.push(hr)},s.addSkinParam=function($,G){fd.apply($,G,s)},s}function x(s){return s!=null&&s.rules.length>s.userStart}var I=/^<style>\s*$/i,w=/^<style>(.*)<\/style>\s*$/i,nr=/^<\/?style>\s*$/i,lr=/^<style\s+(?:src|file|import)\b/i,ir=/^skinparam(?:locked)?\s+([\w.]*(?:<<[^<>]*>>)?[\w.]*)\s+([^{}]*)$/i,mr=/^skinparam(?:locked)?\s*(?:\s+([\w.]*(?:<<.*>>)?[\w.]*))?\s*\{$/i,Or=/^([\w.]*(?:<<.*>>)?[\w.]*)\s+(?:(\{)|(.*))$/;function Qr(s,$){$=$||Q();var G=String(s??"").split(/\r\n|\r|\n/),B=[],or=0;function K(Cn){$.addBlock(Cn)}for(or=0;or<G.length;or++){var hr=G[or],vr=hr.replace(/^\s+|\s+$/g,""),Jr;if(vr.charAt(0)==="'"){B.push(hr);continue}if(I.test(vr)){var Ge=[];for(B.push("");or+1<G.length;){or++;var no=G[or].replace(/^\s+|\s+$/g,"");if(B.push(""),nr.test(no))break;no.charAt(0)!=="'"&&Ge.push(G[or])}K(Ge.join(`
76
+ `));continue}if((Jr=w.exec(vr))!=null){K(Jr[1]),B.push("");continue}if(lr.test(vr)){B.push("");continue}if((Jr=mr.exec(vr))!=null){var bo=Jr[1]?[Jr[1]]:[],Oo=1;for(B.push(hr);or+1<G.length;){or++;var We=G[or].replace(/^\s+|\s+$/g,"");if(B.push(G[or]),!(We===""||We.charAt(0)==="'")){if(We==="}"){if(Oo--,Oo===0)break;bo.pop();continue}var Tt=Or.exec(We);Tt!=null&&(Tt[2]!=null?(bo.push(Tt[1]),Oo++):$.addSkinParam(bo.join("")+Tt[1],Tt[3]))}}continue}if((Jr=ir.exec(vr))!=null){$.addSkinParam(Jr[1],Jr[2]),B.push(hr);continue}if((Jr=/^!option\s+handwritten\s+(\S+)/i.exec(vr))!=null){$.skinparams.handwritten=Jr[1].toLowerCase(),B.push("");continue}B.push(hr)}return{sheet:$,body:B.join(`
77
+ `)}}function ee(s,$,G,B){for(var or=null,K=B||0;K<s.rules.length;K++){var hr=s.rules[K];if(H(hr.sig,$)){var vr=hr.sig.starred&&G||0;or==null&&(or={});for(var Jr in hr.props)if(hr.props.hasOwnProperty(Jr)){var Ge={value:hr.props[Jr].value,priority:hr.props[Jr].priority+vr},no=or[Jr];(no==null||Ge.priority>no.priority)&&(or[Jr]=Ge)}}}return or}function re(s,$){if($==null)return s;s==null&&(s={});for(var G in $)if($.hasOwnProperty(G)){var B=s[G];(B==null||$[G].priority>B.priority)&&(s[G]=$[G])}return s}var Yr=10001e3;function Zr(s,$){for(var G=Yr*1e3,B=ee(s,$[0],G),or=1;or<$.length;or++)G-=Yr,B=re(B,ee(s,$[or],G));return B||{}}function Ee(s,$){return ee(s,$,0)||{}}function Ze(s,$,G){if(!x(s))return{};var B=$!=null&&$.names!=null?$:rr($||[],-1,G||[],!1);return ee(s,B,0,s.userStart)||{}}function eo(s){return P(Ze(s,["root","document"]),"BackGroundColor")}function Gr(s,$){var G=s!=null?s[$]:null;return G==null?null:G.value}function $e(s){return String(s??"").replace(/[^0-9.]/g,"")}function Ye(s,$,G){var B=Gr(s,$);if(B==null)return G;var or=parseFloat($e(B));return isNaN(or)?0:or}function Hr(s,$,G){var B=Gr(s,$);if(B==null)return G;var or=String(B).replace(/[^0-9]/g,"");return or.length===0?-1:parseInt(or,10)}function Fo(s,$){var G=Gr(s,$),B={top:0,right:0,bottom:0,left:0};if(G==null||!/^[0-9 ]+$/.test(G))return B;var or=G.replace(/^\s+|\s+$/g,"").split(/ +/),K=parseInt(or[0],10),hr,vr,Jr;switch(or.length){case 1:return{top:K,right:K,bottom:K,left:K};case 2:return hr=parseInt(or[1],10),{top:K,right:hr,bottom:K,left:hr};case 3:return hr=parseInt(or[1],10),vr=parseInt(or[2],10),{top:K,right:hr,bottom:vr,left:hr};case 4:return hr=parseInt(or[1],10),vr=parseInt(or[2],10),Jr=parseInt(or[3],10),{top:K,right:hr,bottom:vr,left:Jr};default:return B}}function k(s){var $=Ye(s,"LineThickness",1),G=Gr(s,"LineStyle"),B={thickness:$,dashVisible:0,dashSpace:0};if(G==null||G.length===0)return B;var or=String(G).split(/[-;,]/),K=parseFloat(String(or[0]).replace(/^\s+|\s+$/g,""));if(isNaN(K))return B;var hr=K;return or.length>1&&(hr=parseFloat(String(or[1]).replace(/^\s+|\s+$/g,"")),isNaN(hr))||(B.dashVisible=K,B.dashSpace=hr),B}function T(s){var $=Gr(s,"Shadowing");if($==null)return 0;var G=$e($);if(G.length>0){var B=parseFloat(G);if(!isNaN(B))return B}return 1.5}function D(s){var $=Gr(s,"MaximumWidth");return $==null||!/^-?\d+$/.test(String($).replace(/^\s+|\s+$/g,""))?0:Math.abs(parseInt($,10))}function S(s){var $=String(Gr(s,"FontStyle")||"").replace(/^\s+|\s+$/g,"").toLowerCase(),G=!1,B=!1;$==="bold"?G=!0:$==="italic"?B=!0:/^[1-9]00$/.test($)&&(G=parseInt($,10)>=600);var or=String(Gr(s,"FontWeight")||"").replace(/^\s+|\s+$/g,"").toLowerCase();return or==="bold"||or==="bolder"?G=!0:/^[1-9]00$/.test(or)?G=parseInt(or,10)>=600:(or==="normal"||or==="lighter")&&or.length&&(G=!1),{bold:G,italic:B}}function U(s){var $=String(Gr(s,"HorizontalAlignment")||"").replace(/^\s+|\s+$/g,"").toLowerCase();return $==="center"||$==="centre"?"center":$==="right"?"right":"left"}function P(s,$){var G=Gr(s,$);if(G==null)return null;var B=String(G).replace(/^\s+|\s+$/g,""),or=B.replace(/^#/,"").toLowerCase();return or==="none"||or==="transparent"||or==="background"?"none":B}return{createSheet:Q,collect:Qr,hasUserRules:x,userStyle:Ze,pageBackground:eo,signature:rr,matchAll:H,nodeStyle:Zr,plainStyle:Ee,cleanStereotype:ar,raw:Gr,asDouble:Ye,asInt:Hr,clockwise:Fo,stroke:k,shadowing:T,maxWidth:D,fontFace:S,horizontalAlignment:U,color:P,STEP_BY_PARENT:Yr}})();var vo=(function(){var pr=20,q=60,Xr={sequence:["sequence diagram","sequence diagrams"],class:["class diagram","class diagrams"],object:["object diagram","object diagrams"],useCase:["use case diagram","use case diagrams"],activity:["activity diagram","activity diagrams"],activityLegacy:["legacy-syntax activity diagram","legacy-syntax activity diagrams"],state:["state diagram","state diagrams"],component:["component / deployment diagram","component / deployment diagrams"],mindmap:["mind map","mind maps"],wbs:["work breakdown structure","work breakdown structures"],gantt:["Gantt chart","Gantt charts"],timing:["timing diagram","timing diagrams"],json:["JSON diagram","JSON diagrams"],yaml:["YAML diagram","YAML diagrams"],salt:["Salt wireframe","Salt wireframes"],network:["nwdiag network diagram","nwdiag network diagrams"],archimate:["ArchiMate diagram","ArchiMate diagrams"],c4:["C4 diagram","C4 diagrams"],titleOnly:["furniture-only diagram","furniture-only diagrams"]};function Tr(o){return String(o??"").replace(/^\s+|\s+$/g,"")}function se(o,t){var n=Object.prototype.hasOwnProperty.call(Xr,o)?Xr[o]:[o+" diagram",o+" diagrams"];return n[t?1:0]}function Kr(o){var t=Tr(o);return t.length>q&&(t=t.substring(0,q-1)+"\u2026"),'"'+t+'"'}function Dr(o,t,n,f){if(o!=null){o.warnings=o.warnings||[];var O=String(t??"").split(/\r\n|\r|\n/);O.length>0&&O[0].charCodeAt(0)===65279&&(O[0]=O[0].substring(1));var g=String(f??""),Q=g.split(`
78
+ `).length,x=o.preprocessorLineMap;o._source={wrapper:n!=null&&n.wrapper!=null?n.wrapper:null,lines:O,startLine:n!=null&&n.startLine!=null?n.startLine:0,endLine:n!=null&&n.endLine!=null?n.endLine:O.length+1,bodyLines:n!=null?String(n.body).split(`
79
+ `).length:0,preLines:Q,lineMap:Array.isArray(x)&&x.length===Q?x:null,body:g}}}function ar(o,t,n){var f=o!=null?o._source:null;if(f==null)return null;if(t!=null&&t>=0){var O=-1;if(f.lineMap!=null?O=t<f.lineMap.length?f.lineMap[t]:-1:f.preLines===f.bodyLines&&(O=t),O>=0)return Y(o,O)}var g=Tr(n);if(g==="")return null;for(var Q=f.startLine;Q<f.endLine-1&&Q<f.lines.length;Q++)if(Tr(f.lines[Q])===g)return Q+1;return null}function Y(o,t){var n=o!=null?o._source:null;if(n==null||t==null||t<0)return null;var f=n.startLine+1+t;return f<n.endLine?f:null}function $r(o,t,n,f,O){if(o==null)return null;for(var g=o.warnings=o.warnings||[],Q=ar(o,f,O),x=0;x<g.length;x++)if(g[x].code===t&&g[x].message===n&&g[x].line===Q)return g[x];var I={code:t,message:n,line:Q};return g.push(I),I}var rr=/^(?:[\[\]{}(),;|]+|[-=._]{2,}|end(?:\s*[A-Za-z]+)?)$/i;function H(o,t,n,f,O){if(o==null||Tr(f)===""||O==null&&rr.test(Tr(f)))return null;if(o._droppedLines=(o._droppedLines||0)+1,o._droppedLines>pr){var g=o._droppedLines-pr;return o._droppedMore==null&&(o._droppedMore=$r(o,"dropped-line-more","",null,null)),o._droppedMore.message=g+" more line"+(g===1?"":"s")+" matched no "+se(t)+" statement and "+(g===1?"was":"were")+" dropped",o._droppedMore}return $r(o,"dropped-line","this line "+(O!=null?Tr(O):"matched no "+se(t)+" statement")+" and was dropped: "+Kr(f),n,f)}function M(o,t,n,f,O,g){return o==null?null:$r(o,"unknown-reference","no "+se(t)+" "+n+' is named "'+Tr(f)+'"; this line was dropped: '+Kr(g),O,g)}function j(o,t,n,f,O){return $r(o,"dropped-note","this "+n+" is not rendered in "+se(t,!0)+" yet and was dropped: "+Kr(O),f,O)}function gr(o,t,n,f){return $r(o,"dropped-sprite",'sprite "'+t+'" is defined here but sprites are not rendered by this converter',n,f)}function W(o,t,n,f){return $r(o,"ignored-directive",Kr(f)+" is not applied to "+se(t,!0)+" by this converter",n,f)}function d(o,t,n){var f="<style> and skinparam rules";return n!=null&&n.length>0&&(f='the theme "'+n.join('", "')+'" and any <style> / skinparam rules'),$r(o,"ignored-style",f+" are not applied to "+se(t,!0)+" by this converter yet",null,null)}function _(o,t,n){for(var f=t+1;f<o.length;f++)if(n.test(o[f]))return f;return-1}function p(o){var t=o!=null?o._source:null;return t!=null&&t.wrapper!=null?t.wrapper:null}var E={json:"JSON",yaml:"YAML"};function L(o,t,n,f,O){var g=ar(o,n,f),Q=Object.prototype.hasOwnProperty.call(E,t)?E[t]:se(t),x=new Error("PlantUML: "+(g!=null?"line "+g+": ":"")+"invalid "+Q+" \u2014 "+Tr(O)+' (plantuml.jar answers "Your data does not sound like '+Q+' data")');return x.plantUmlSyntaxError=!0,x.diagramType=t,g!=null&&(x.line=g),x}function N(o,t){var n=new Error("PlantUML: the diagram is empty \u2014 "+(t?"only skinparam / preprocessor lines and no diagram statement":"nothing")+" between "+o+" and its @end line");return n.plantUmlEmpty=!0,n}function m(o){return o==null?"":typeof o=="string"?o:(o.line!=null?"line "+o.line+": ":"")+o.message}function u(o){var t=[];if(o==null)return t;for(var n=o.preprocessorWarnings||[],f=0;f<n.length;f++){var O=n[f];typeof O=="string"?t.push({code:"preprocessor",message:O,line:null}):O!=null&&O.bodyIndex!=null&&O.line==null?t.push({code:O.code||"preprocessor",message:O.message,line:Y(o,O.bodyIndex)}):t.push(O)}for(var g=o.warnings||[],Q=0;Q<g.length;Q++)t.push(g[Q]);return t}function R(o){var t=o!=null?o._source:null;if(t==null)return 0;for(var n=t.body.split(`
80
+ `),f=0,O=0;O<n.length;O++){var g=Tr(n[O]);g!==""&&g.charAt(0)!=="'"&&f++}return f}return{MAX_DROPPED:pr,typeLabel:se,excerpt:Kr,bindSource:Dr,sourceWrapper:p,syntaxError:L,emptyError:N,lineNumber:ar,bodyLineNumber:Y,warn:$r,droppedLine:H,unknownReference:M,droppedNote:j,droppedSprite:gr,ignoredDirective:W,ignoredStyle:d,blockEnd:_,format:m,collect:u,statementCount:R}})();var zl=(function(){var pr={"@startuml":null,"@startmindmap":"mindmap","@startwbs":"wbs","@startgantt":"gantt","@startproject":"gantt","@startsalt":"salt","@startjson":"json","@startyaml":"yaml","@startebnf":"ebnf","@startregex":"regex","@startditaa":"ditaa","@startdot":"dot","@startchronology":"chronology","@startchen":"chen","@startnwdiag":"network","@startboard":"board","@startwire":"wire","@startbpm":"bpm","@startflow":"flow","@startcreole":"creole","@startmath":"math","@startlatex":"latex","@startdef":"def","@startgit":"git","@starthcl":"hcl","@startfiles":"files","@startchart":"chart","@startpacketdiag":"packet","@startsprites":"sprites"},q={chen:{name:"Chen entity-relationship diagram",tracking:"PROGRESS.md Phase 19"},ebnf:{name:"EBNF grammar railroad diagram",tracking:"PROGRESS.md Phase 20"},regex:{name:"regular-expression railroad diagram",tracking:"PROGRESS.md Phase 21"},board:{name:"board diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},chronology:{name:"chronology diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},wire:{name:"wire block-wiring diagram",tracking:'docs/OUT-OF-SCOPE.md "Triaged"'},bpm:{name:"BPM diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},flow:{name:"flow diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},creole:{name:"Creole text block",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},math:{name:"AsciiMath formula",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},latex:{name:"LaTeX formula",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},def:{name:"definition block",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},git:{name:"git graph",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},hcl:{name:"HCL / Terraform diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},files:{name:"files tree diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},chart:{name:"chart",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},packet:{name:"packet diagram",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'},sprites:{name:"sprite listing",tracking:'docs/OUT-OF-SCOPE.md "Still to triage"'}},Xr="@startmindmap, @startwbs, @startgantt, @startjson, @startyaml, @startsalt or @startnwdiag";function Tr(m){for(var u in pr)if(Object.prototype.hasOwnProperty.call(pr,u)&&pr[u]===m)return u;return null}function se(m,u){var R=Object.prototype.hasOwnProperty.call(q,m)?q[m]:null,o=u||Tr(m)||"@start"+m,t=new Error("PlantUML: "+o+" ("+(R!=null?R.name:m+" diagram")+") is not yet supported by this converter");return t.plantUmlUnimplemented=!0,t.diagramType=m,t.wrapper=o,t}function Kr(m){var u=new Error("PlantUML: "+m+" is not a PlantUML diagram type. Use @startuml for UML diagrams, or "+Xr+" for the other families");return u.plantUmlUnknownWrapper=!0,u.wrapper=m,u}function Dr(m){var u=m!=null?" from its first statement"+(m.line!=null?" (line "+m.line+")":"")+': "'+m.text+'"':"",R=new Error("PlantUML: could not tell what kind of diagram this is"+u+'. Inside @startuml the first statement decides the type ("Alice -> Bob" starts a sequence diagram, "class Foo" a class diagram, "state Foo" a state diagram, ":action;" an activity diagram); mind maps, WBS, Gantt, JSON, YAML, Salt and nwdiag need their own wrapper ('+Xr+")");return R.plantUmlUndetected=!0,m!=null&&m.line!=null&&(R.line=m.line),R}function ar(m,u){return vo.emptyError(m,u)}function Y(){var m=new Error("PlantUML: no @startuml \u2026 @enduml block found. Wrap the diagram in @startuml and @enduml (or in the @start\u2026 wrapper of its type: "+Xr+")");return m.plantUmlNoWrapper=!0,m}function $r(m,u){if(!/^[ \t]*sprite\b/im.test(m))return m;for(var R=m.split(`
81
+ `),o=/^[ \t]*sprite\s+(\$?[\w.-]+)\s*(.*)$/i,t=0;t<R.length;t++){var n=o.exec(R[t]);if(n!=null){var f=n[2],O=t;if(/\{\s*$/.test(f))for(O=t+1;O<R.length&&!/^\s*\}\s*$/.test(R[O]);O++);else if(/<svg\b/i.test(f)&&!/<\/svg\s*>/i.test(f))for(O=t+1;O<R.length&&!/<\/svg\s*>/i.test(R[O]);O++);O>=R.length&&(O=R.length-1),vo.droppedSprite(u,n[1],t,R[t]);for(var g=t;g<=O;g++)R[g]="";t=O}}return R.join(`
82
+ `)}var rr={activityLegacy:!0,c4:!0},H={};for(var M in pr)H["@end"+M.substring(6)]=M;var j={};function gr(m,u){j[m]=u}function W(){var m=[];for(var u in j)j.hasOwnProperty(u)&&m.push(u);return m}function d(m){if(m==null||typeof m!="string")return null;m.charCodeAt(0)===65279&&(m=m.substring(1));for(var u=m.split(/\r\n|\r|\n/),R=-1,o=null,t="",n=/^[ \t]*[@\\]start([A-Za-z][A-Za-z0-9_]*)\b[ \t]*(.*?)[ \t]*$/i,f=/^[ \t]*[@\\]end/i,O=0;O<u.length;O++){var g=u[O].match(n);if(g!=null){R=O,o="@start"+g[1].toLowerCase(),t=g[2]||"";continue}if(R>=0&&f.test(u[O]))return{wrapper:o,body:u.slice(R+1,O).join(`
83
+ `),header:t,startLine:R+1,endLine:O+1}}return null}function _(m){var u=m.split(/\r\n|\r|\n/),R=[],o=!1,t=!1,n=null,f=0,O=0,g=!1;function Q(Qr){for(var ee=0,re=0;re<Qr.length;re++){var Yr=Qr.charAt(re);Yr==="{"||Yr==="["?ee++:(Yr==="}"||Yr==="]")&&ee--}return ee}for(var x=0;x<u.length;x++){var I=u[x],w=I.replace(/^\s+|\s+$/g,"");if(o){I.indexOf("'/")>=0&&(o=!1);continue}if(w!==""){if(w.substring(0,2)==="/'"){w.indexOf("'/",2)<0&&(o=!0);continue}if(w.charAt(0)!=="'"){if(t){/<\/style\s*>/i.test(w)&&(t=!1);continue}if(/^<style\b/i.test(w)){!/<\/style\s*>/i.test(w)&&!/^<style\s+(?:src|file)\s*=/i.test(w)&&(t=!0);continue}if(f>0){w.indexOf("{")>=0&&f++,w.indexOf("}")>=0&&f--;continue}if(n!==null){var nr=n==="note"?/^end\s*(?:h?note|rnote)\b/i:new RegExp("^end\\s*"+n+"\\b","i");nr.test(w)&&(n=null);continue}if(!(w.charAt(0)==="!"&&!/^!include\s*<(?:C4|archimate)[\/>]/i.test(w))){if(O>0){O+=Q(I);continue}if(g){/^\}\}\s*$/.test(w)&&(g=!1);continue}if(/^\{\{/.test(w)){/\}\}\s*$/.test(w)||(g=!0);continue}var lr=w.match(/^json\s+(?:"[^"]+"|\S+)\s+(\S.*)$/i);if(lr!=null){/^[\[{]/.test(lr[1])&&(O=Math.max(0,Q(lr[1])));continue}if(/^skinparam\b/i.test(w)){/\{\s*$/.test(w)&&f++;continue}if(!/^(caption|scale|mainframe|hide|show)\b/i.test(w)&&!/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(w)){var ir=w.match(/^(?:(?:center|left|right)\s+)?(title|header|footer|legend)\b(.*)$/i);if(ir!=null){var mr=ir[2].replace(/^\s+|\s+$/g,"");mr===""&&(n=ir[1].toLowerCase());continue}var Or=w.match(/^(?:h?note|rnote|ref\s+over)\b/i);if(Or!=null&&w.indexOf(":")<0&&!/^(?:h?note|rnote)\s+"/i.test(w)){n=/^ref/i.test(w)?"ref":"note",R.push(w);continue}R.push(w)}}}}}return R}function p(m){if(m==null||typeof m!="string")return null;var u=_(m);if(u.length===0)return null;var R,o;for(R=0;R<u.length;R++){if(o=u[R],/^salt\s*$/i.test(o))return"salt";if(/^listopeniconic\s*$/i.test(o)||/^listsprites?\s*$/i.test(o))return"openiconicList";if(/^@(?:[+\-]?\d[\d.:\/]*|:[\w.]+)(?:\s+as\s+:\S+)?\s*$/.test(o)||/^(robust|concise|clock|binary)\b(?!\s*[-<.])/i.test(o))return"timing";if(/^archimate\b/i.test(o)||/^!include\s*<archimate[\/>]/i.test(o)||/^(Motivation|Strategy|Business|Application|Technology|Physical|Implementation)_[A-Za-z][A-Za-z0-9]*\s*\(/.test(o))return"archimate";if(/^!include\s*<C4[\/>]/i.test(o)||/^!include\s*.*C4_(Container|Context|Component|Code|Dynamic|Deployment)\.puml\b/i.test(o)||/^(Person|Person_Ext|System(?:Db|Queue)?(?:_Ext)?|Container(?:Db|Queue)?(?:_Ext)?|Component(?:Db|Queue)?(?:_Ext)?)\s*\(/.test(o)||/^(System_Boundary|Container_Boundary|Enterprise_Boundary)\s*\(/.test(o))return"c4";if(/^nwdiag\s*\{/i.test(o))return"network";if(/\[\s*\*\s*\]/.test(o))return"state";if(/^entity\s+\S+.*\{/i.test(o)||/[}|][|o][-.]|[-.][|o][{|]/.test(o))return"class";if(/^(node|artifact|cloud|storage|stack|folder|frame|file|hexagon|card|agent)\b(?!\s*[-<.])/i.test(o)||/^\[(?!\[)[^\]]+\]/.test(o))return"component"}for(R=0;R<u.length;R++){if(o=u[R],/^state\b(?!\s*[-<.])/i.test(o))return"state";if(/^(class|interface|enum|abstract(?:\s+class)?|annotation|struct|protocol|exception|namespace|record|dataclass)\b(?!\s*[-<.])/i.test(o))return"class";if(/^(object|map)\b(?!\s*[-<.])/i.test(o))return"object";if(/^usecase\b(?!\s*[-<.])/i.test(o))return"useCase";if(/^component\b(?!\s*[-<.])/i.test(o))return"component";if(/^(participant|boundary|control|entity|collections|queue|create)\b(?!\s*[-<.])/i.test(o)||/^ref(?:#\w+)?\s+over\b/i.test(o)||/^[hr]?note(?:\s*<<[^>]*>>)?\s+over\b/i.test(o)||/^(activate|deactivate|destroy|autonumber|autoactivate)\b(?!\s*[-<.])/i.test(o)||/^box\b(?!\s*[-<.])/i.test(o)||/^&\s*\S/.test(o)&&/[-.]+>|<[-.]+/.test(o))return"sequence"}var t=!1;for(R=0;R<u.length;R++){if(o=u[R],/^(start|stop)\s*$/i.test(o)||/^(?:#\w+)?:.*?;\s*(?:<<[^>]*>>\s*)*$/.test(o)||/^if\s*\(/i.test(o)||/^while\s*\(/i.test(o)||/^repeat\b(?!\s*[-<.])/i.test(o)||/^(fork|split|swimlane)\b(?!\s*[-<.])/i.test(o)||/^detach\b(?!\s*[-<.])/i.test(o))return"activity";/^partition\b(?!\s*[-<.])/i.test(o)&&(t=!0)}if(t){var n=/^(?:\(\*(?:top)?\)|"[^"]*"(?:\s+as\s+\S+)?|===+\s*[\w.]+\s*===+|[\w\u00A0-\uFFFF][\w.\u00A0-\uFFFF]*)?\s*(?:<<[^>]*>>)?\s*(?:#\w+)?\s*[-.]+(?:\[[^\]]*\])?(?:left|right|up|down|le?|ri?|up?|do?)?(?:\[[^\]]*\])?[-.]*>\s*(?:\[[^\]*][^\]]*\]\s*)?(?:\(\*|"|===|[\w\u00A0-\uFFFF])/i;for(R=0;R<u.length;R++)if(/\(\s*\*\s*(?:top|bottom)?\s*\)/.test(u[R])||n.test(u[R]))return"activityLegacy";return"activity"}for(R=0;R<u.length;R++)if(/\(\s*\*\s*(?:top|bottom)?\s*\)/.test(u[R]))return"activityLegacy";for(R=0;R<u.length;R++)if(/-\[hidden\]-/i.test(u[R]))return"component";for(R=0;R<u.length;R++)if(o=u[R],/^:[^:;]+:\/?\s*(?:as\s+\S+)?\s*(?:<<[^>]*>>)?\s*(?:#\w+)?\s*$/i.test(o)||/^\([^)]+\)\/?\s*(?:as\s+\S+)?\s*(?:<<[^>]*>>)?\s*(?:#\w+)?\s*$/i.test(o)||/:[^:;]+:\/?\s*(?:<<[^>]*>>)?\s*(?:#\w+)?\s*[-.<>|]+(?:\[[^\]]*\][-.<>|]*)?\s*\([^)]+\)/.test(o)||/\([^)]+\)\/?\s*(?:<<[^>]*>>)?\s*(?:#\w+)?\s*[-.<>|]+(?:\[[^\]]*\][-.<>|]*)?\s*:[^:;]+:/.test(o)||/\([^)]+\)\s*[-.<>|]+\s*\([^)]+\)/.test(o)||/^\w[\w.]*\s*[-.<>|]+\s*\([^)]+\)/.test(o)||/^\([^)]+\)\s*[-.<>|]+\s*\w/.test(o))return"useCase";var f=/(?:^|\s)(?:<\|[-.]+|[*o+#][-.]+)|(?:[-.]+\|>|[-.]+[*o+#])(?=\s|$)/;for(R=0;R<u.length;R++)if(o=u[R],!/(?:^|\s)\[o?[<-]|[->]o?\]\s*(?::|$)/.test(o)&&f.test(o))return"class";for(R=0;R<u.length;R++)if(/^rectangle\s+(?:"[^"]*"|\S+)\s+as\s+\S+\s*$/i.test(u[R]))return"component";for(R=0;R<u.length;R++)if(/^together\s*\{\s*$/i.test(u[R]))return"component";var O='(?:[^\\s"<>\\[\\]\\-.][^\\s"<>\\[\\]]*|"[^"]*")',g="(?:[xo]?<<?[xo]?|\\\\\\\\?|\\/\\/?)",Q="(?:[xo]?>>?[xo]?|\\\\\\\\?|\\/\\/?)",x="(?:-+(?:\\[[^\\]]*\\]-*)?|\\[[^\\]]*\\]-+)",I="(?:"+g+x+Q+"?|[xo]?"+x+Q+")",w=new RegExp("^(?:"+O+"|[\\[\\]])\\s*"+I+"\\s*(?:"+O+"|[\\[\\]])"),nr=/^\[[^\[\]]+\]|[-.>]\s*\[[^\[\]]+\]\s*(?::|$)/,lr=new RegExp("^"+I+"\\s*(?:"+O+"|\\])"),ir=new RegExp("^"+O+"\\s+-{2,}>?\\s*$");for(R=0;R<u.length;R++){o=u[R];var mr=o.search(/\s:\s|:\s|\s:/),Or=mr>0?o.substring(0,mr):o;if(!nr.test(Or)){if(/^(?:"[^"]*"|[\w.]+)\s+(?:<\.{2,}|\.{2,}>)\s+(?:"[^"]*"|[\w.]+)/.test(Or))return"class";if(w.test(o)||lr.test(o)||ir.test(o))return"sequence"}}for(R=0;R<u.length;R++){if(o=u[R],/^actor\b/i.test(o)||/^[hr]?note(?:\s*<<[^>]*>>)?\s+(?:left|right)\s+of\b/i.test(o))return"sequence";if(/^note\s+(?:top|bottom)\s+of\b/i.test(o))return"class"}if(/^\*+(?:\[#\w+\])?_?\s+\S/.test(u[0]))return"mindmap";for(R=0;R<u.length;R++)if(o=u[R],/^(node|folder|frame|cloud|artifact|storage|database|rectangle|hexagon|card|package|circle)\b/i.test(o)||/^\(\)\s+\S/.test(o))return"component";for(R=0;R<u.length;R++)if(/(?:^|[^\[])\[[\w][^\[\]]*\]/.test(u[R]))return"component";var Qr=/^(?:[\w.]+|"[^"]*")\s+(?:"[^"]*"\s+)?(?:-+|\.+|[-.]+(?:up|down|left|right|u|d|l|r)[-.]+>?)\s+(?:"[^"]*"\s+)?(?:[\w.]+|"[^"]*")\s*(?::.*)?$/i;for(R=0;R<u.length;R++)if(Qr.test(u[R]))return"class";var ee=/^[\w.]+\s*:\s*\S/;for(R=0;R<u.length;R++)if(ee.test(u[R]))return"state";if(u.length>0){var re=!0;for(R=0;R<u.length;R++)if(!/^"[^"]*"(?:\s+as\s+\S+)?\s*$/.test(u[R])){re=!1;break}if(re)return"component"}if(u.length>0){for(R=0;R<u.length;R++)if(!/^-[ \t]?(?![-.>\[])\S/.test(u[R]))return null;return"activity"}return null}function E(m){var u=m.split(/\r\n|\r|\n/),R={},o=0,t;for(t=0;t<u.length;t++){var n=u[t].replace(/^\s+|\s+$/g,""),f=n.match(/^json\s+(?:"([^"]+)"|(\S+))\s+(\S.*)$/i);if(f!=null){var O=f[1]!=null?f[1]:f[2],g=f[3];if(/^[\[{]/.test(g)){for(var Q=0,x=t,I=[];x<u.length;){var w=x===t?g:u[x];I.push(w);for(var nr=0;nr<w.length;nr++)w.charAt(nr)==="{"||w.charAt(nr)==="["?Q++:(w.charAt(nr)==="}"||w.charAt(nr)==="]")&&Q--;if(Q<=0)break;x++}g=I.join(`
84
+ `),t=x}try{R[O]=JSON.parse(g),o++}catch{return null}}}return o>0?R:null}function L(m){var u=m.split(/\r\n|\r|\n/),R={title:null,header:null,footer:null,caption:null,legend:null,notes:[]},o=!1,t=!1,n=0,f;function O(Qr){for(var ee=[];f+1<u.length;){f++;var re=u[f].replace(/^\s+|\s+$/g,"");if(Qr.test(re))break;ee.push(re)}return ee}for(f=0;f<u.length;f++){var g=u[f].replace(/^\s+|\s+$/g,"");if(!(g===""||g.charAt(0)==="'")){if(t){/<\/style\s*>/i.test(g)&&(t=!1);continue}if(/^<style\b/i.test(g)){!/<\/style\s*>/i.test(g)&&!/^<style\s+(?:src|file)\s*=/i.test(g)&&(t=!0);continue}if(n>0){g.indexOf("{")>=0&&n++,g.indexOf("}")>=0&&n--;continue}if(/^skinparam\b/i.test(g)){/\{\s*$/.test(g)&&n++;continue}var Q=g.match(/^(?:(?:center|left|right)\s+)?(title|header|footer|caption|legend)\b(.*)$/i);if(Q!=null){var x=Q[1].toLowerCase(),I=Q[2].replace(/^\s+|\s+$/g,"");if(x==="legend")if(/^(?:(?:left|right|center|top|bottom)\s*)*$/i.test(I)){for(var w=I.toLowerCase().split(/\s+/),nr="center",lr=0;lr<w.length;lr++)(w[lr]==="left"||w[lr]==="right")&&(nr=w[lr]);R.legend={position:nr,lines:O(/^end\s*legend\b/i)}}else R.legend={position:"center",lines:[I.replace(/^:\s*/,"")]};else I===""?R[x]=O(new RegExp("^end\\s*"+x+"\\b","i")).join(`
85
+ `):R[x]=I.replace(/^:\s*/,"");o=!0;continue}var ir=g.match(/^note\s+"([^"]*)"\s+as\s+\S+(?:\s+(#\w+))?\s*$/i);if(ir!=null){R.notes.push({lines:[ir[1]],color:ir[2]||null}),o=!0;continue}var mr=g.match(/^note\s+as\s+\S+(?:\s+(#\w+))?\s*$/i);if(mr!=null){R.notes.push({lines:O(/^end\s*note\b/i),color:mr[1]||null}),o=!0;continue}var Or=g.match(/^note\s+(?:left|right|top|bottom)(?:\s+(#\w+))?\s*(?::\s*(.*))?$/i);if(Or!=null){R.notes.push({lines:Or[2]!=null?[Or[2]]:O(/^end\s*note\b/i),color:Or[1]||null}),o=!0;continue}}}return o?R:null}function N(m,u){u=u||{};var R=d(m);if(R==null)throw Y();var o=typeof Lf<"u"?Lf.run(R.body,u):R.body;/^\s*@(?:pause|a|append)\b/m.test(o)&&(o=o.replace(/^([ \t]*)@(?:a|append)[ \t]+/gm,"$1").replace(/^[ \t]*@pause[ \t]*$/gm,""));var t=kt.collect(o);o=t.body,u.styleSheet=t.sheet,vo.bindSource(u,m,R,o),o=$r(o,u);var n=Object.prototype.hasOwnProperty.call(pr,R.wrapper)?pr[R.wrapper]:void 0,f=Eu.typeForWrapper(R.wrapper);if(f!=null)throw Eu.unsupportedError(f);if(n===void 0)throw Kr(R.wrapper);if(n!=null&&Object.prototype.hasOwnProperty.call(q,n))throw se(n,R.wrapper);if(n==null&&(n=p(o)),Eu.isUnsupported(n))throw Eu.unsupportedError(n);if(n==="openiconicList")return{type:"openiconicList",ir:{},config:u,header:R.header};if(n==null&&/(^|\n)\s*stdlib\s*(\n|$)/i.test(o))return{type:"stdlib",ir:{},config:u,header:R.header};if(n==null){var O=E(o);if(O!=null)return{type:"json",ir:{data:O,rootPresent:!0,highlights:[]},config:u,header:R.header};var g=L(o);if(g!=null)return{type:"titleOnly",ir:g,config:u,header:R.header};var Q=_(o);if(Q.length===0)throw ar(R.wrapper,/\S/.test(o));for(var x=o.split(`
86
+ `),I=null,w=0;w<x.length;w++)if(x[w].replace(/^\s+|\s+$/g,"")===Q[0]){I=w;break}throw Dr({line:vo.lineNumber(u,I,Q[0]),text:Q[0].length>60?Q[0].substring(0,59)+"\u2026":Q[0]})}var nr=j[n];if(nr==null||typeof nr.parse!="function")throw se(n,R.wrapper);var lr=nr.parse(o,u);return lr!=null&&typeof lr=="object"&&lr.styleSheet==null&&(lr.styleSheet=t.sheet),rr[n]===!0&&kt.hasUserRules(t.sheet)&&vo.ignoredStyle(u,n,u.themesApplied||null),{type:n,ir:lr,config:u,header:R.header}}return{START_WRAPPERS:pr,END_WRAPPERS:H,UNIMPLEMENTED_FAMILIES:q,registerParser:gr,listParsers:W,stripWrapper:d,detectGenericUmlType:p,parse:N}})();var Ba=(function(){var pr={header:"right",footer:"center"},q=/^(?:(left|right|center|centre)\s+)?(title|header|footer|caption)\b\s*(.*)$/i,Xr=/^legend\b\s*(.*)$/i,Tr=/^(?:(?:left|right|center|centre|top|bottom)\s*)*$/i,se=/^note\s+"([^"]*)"\s+as\s+(\S+)(?:\s+(#[\w:;.]+))?\s*$/i,Kr=/^note\s+as\s+(\S+)(?:\s+(#[\w:;.]+))?\s*$/i;function Dr(M,j,gr){for(var W=new RegExp("^\\s*end\\s*"+gr+"\\s*$","i"),d=j+1;d<M.length;d++)if(W.test(String(M[d])))return d;return-1}function ar(M,j,gr){var W="center",d="bottom";if(Tr.test(gr)){for(var _=gr.toLowerCase().split(/\s+/),p=0;p<_.length;p++)_[p]==="left"||_[p]==="right"?W=_[p]:(_[p]==="top"||_[p]==="bottom")&&(d=_[p]);var E=Dr(M,j,"legend");if(E<0)return null;for(var L=[],N=j+1;N<E;N++)L.push(String(M[N]).replace(/\s+$/,""));return{kind:"legend",lines:L,position:W,vertical:d,next:E}}var m=gr.replace(/^:\s*/,"");return/^"[\s\S]*"$/.test(m)&&(m=m.slice(1,-1)),{kind:"legend",lines:[m],position:"center",vertical:"bottom",next:j}}function Y(M,j){var gr=String(M[j]==null?"":M[j]),W=gr.replace(/^\s+|\s+$/g,""),d=se.exec(W);if(d!=null)return{kind:"note",lines:[d[1]],id:d[2],color:d[3]||null,next:j};var _=Kr.exec(W);if(_!=null){var p=Dr(M,j,"note");if(p>=0){for(var E=[],L=j+1;L<p;L++)E.push(String(M[L]).replace(/^\s+|\s+$/g,""));return{kind:"note",lines:E,id:_[1],color:_[2]||null,next:p}}}var N=Xr.exec(W);if(N!=null)return ar(M,j,N[1].replace(/^\s+|\s+$/g,""));var m=q.exec(W);if(m==null)return null;var u=m[2].toLowerCase(),R=m[1]?m[1].toLowerCase().replace("centre","center"):null,o=m[3].replace(/^\s+|\s+$/g,"");if(R!=null&&!pr.hasOwnProperty(u))return null;if(o===""){var t=Dr(M,j,u);if(t<0)return null;for(var n=[],f=j+1;f<t;f++)n.push(String(M[f]).replace(/\s+$/,""));return{kind:u,text:n.join(`
87
+ `),align:R||pr[u]||null,next:t}}return{kind:u,text:o.replace(/^:\s*/,""),align:R||pr[u]||null,next:j}}function $r(M,j){if(j!=null){if(j.kind==="note"){M.floatingNotes==null&&(M.floatingNotes=[]),M.floatingNotes.push({id:j.id,lines:j.lines,color:j.color});return}j.kind==="legend"?M.legend={position:j.position,vertical:j.vertical,lines:j.lines}:j.kind==="header"||j.kind==="footer"?M[j.kind]={text:j.text,align:j.align}:M[j.kind]=j.text}}function rr(M,j,gr){var W=Y(j,gr);return W==null?-1:($r(M,W),W.next)}function H(M,j){for(var gr=["title","header","footer","caption","legend","floatingNotes"],W=0;W<gr.length;W++)j!=null&&j[gr[W]]!=null&&(M[gr[W]]=j[gr[W]]);return M}return{match:Y,assign:$r,take:rr,merge:H}})();var of=(function(){var pr={fillColor:"light-dark(#FEFECE,#1f2020)",strokeColor:"light-dark(#A80036,#cccccc)",fontColor:"light-dark(#000000,#cccccc)",fontFamily:"Verdana"},q={};function Xr(r,a,e){q[r]||(q[r]={}),q[r][a]=e}function Tr(){var r=new Graph;return r.setExtendParents(!1),r.setExtendParentsOnAdd(!1),r.setConstrainChildren(!1),r.setHtmlLabels(!0),r.getModel().maintainEdgeParent=!1,r}function se(r,a){return a=a||Tr(),{graph:a,root:a.getDefaultParent()}}var Kr={lightblue:"#ADD8E6",pink:"#FFC0CB",red:"#FF0000",green:"#008000",blue:"#0000FF",yellow:"#FFFF00",orange:"#FFA500",gold:"#FFD700",lavender:"#E6E6FA",lightgreen:"#90EE90",salmon:"#FA8072",coral:"#FF7F50",gray:"#808080",grey:"#808080",black:"#000000",white:"#FFFFFF",cyan:"#00FFFF",magenta:"#FF00FF",lime:"#00FF00",aqua:"#00FFFF",navy:"#000080",maroon:"#800000",olive:"#808000",purple:"#800080",teal:"#008080",silver:"#C0C0C0",lightyellow:"#FFFFE0",lightcoral:"#F08080",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",darkgreen:"#006400",darkblue:"#00008B",darkred:"#8B0000",wheat:"#F5DEB3",tomato:"#FF6347",skyblue:"#87CEEB",steelblue:"#4682B4",tan:"#D2B48C",thistle:"#D8BFD8",turquoise:"#40E0D0",violet:"#EE82EE",plum:"#DDA0DD",linen:"#FAF0E6",khaki:"#F0E68C",ivory:"#FFFFF0",honeydew:"#F0FFF0",gainsboro:"#DCDCDC",beige:"#F5F5DC",hotpink:"#FF69B4",palegreen:"#98FB98",antiquewhite:"#FAEBD7",powderblue:"#B0E0E6",peachpuff:"#FFDAB9",mistyrose:"#FFE4E1",mintcream:"#F5FFFA",aliceblue:"#F0F8FF",firebrick:"#B22222",indianred:"#CD5C5C",deeppink:"#FF1493",mediumblue:"#0000CD",limegreen:"#32CD32",darkorange:"#FF8C00",dodgerblue:"#1E90FF",cadetblue:"#5F9EA0",chocolate:"#D2691E",crimson:"#DC143C",orchid:"#DA70D6",seagreen:"#2E8B57",springgreen:"#00FF7F",royalblue:"#4169E1",darksalmon:"#E9967A",lightsalmon:"#FFA07A",lightpink:"#FFB6C1",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",dimgray:"#696969",dimgrey:"#696969",slategray:"#708090",slategrey:"#708090",orangered:"#FF4500",forestgreen:"#228B22",midnightblue:"#191970",slateblue:"#6A5ACD",darkviolet:"#9400D3",darkorchid:"#9932CC",goldenrod:"#DAA520",darkgoldenrod:"#B8860B",rosybrown:"#BC8F8F",sienna:"#A0522D",peru:"#CD853F",sandybrown:"#F4A460",burlywood:"#DEB887",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",blanchedalmond:"#FFEBCD",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",palegoldenrod:"#EEE8AA",darkkhaki:"#BDB76B",yellowgreen:"#9ACD32",olivedrab:"#6B8E23",darkolivegreen:"#556B2F",greenyellow:"#ADFF2F",chartreuse:"#7FFF00",lawngreen:"#7CFC00",mediumseagreen:"#3CB371",darkseagreen:"#8FBC8F",mediumspringgreen:"#00FA9A",lightseagreen:"#20B2AA",darkcyan:"#008B8B",darkturquoise:"#00CED1",mediumturquoise:"#48D1CC",paleturquoise:"#AFEEEE",lightcyan:"#E0FFFF",azure:"#F0FFFF",lightsteelblue:"#B0C4DE",cornflowerblue:"#6495ED",deepskyblue:"#00BFFF",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",mediumslateblue:"#7B68EE",mediumpurple:"#9370DB",blueviolet:"#8A2BE2",indigo:"#4B0082",darkmagenta:"#8B008B",mediumorchid:"#BA55D3",mediumvioletred:"#C71585",palevioletred:"#DB7093",fuchsia:"#FF00FF",lightgoldenrodyellow:"#FAFAD2",floralwhite:"#FFFAF0",ghostwhite:"#F8F8FF",lavenderblush:"#FFF0F5",oldlace:"#FDF5E6",papayawhip:"#FFEFD5",seashell:"#FFF5EE",snow:"#FFFAFA",whitesmoke:"#F5F5F5",brown:"#A52A2A",rebeccapurple:"#663399",saddlebrown:"#8B4513",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",lightblue1:"#BFEFFF",aquamarine:"#7FFFD4",mediumaquamarine:"#66CDAA",honeydew2:"#E0EEE0"},Dr=/[;=<>"'`(){}\r\n\t ]/,ar=/^[0-9A-Za-z|\/\\.\-]+$/;function Y(r){if(!r)return r;var a=String(r).replace(/^\s+|\s+$/g,"");if(!a||Dr.test(a))return null;if(/^#?(?:transparent|none)$/i.test(a))return"none";if(a.charAt(0)==="#"){var e=a.substring(1),h=e.toLowerCase();return Kr.hasOwnProperty(h)?Kr[h]:/^[0-9A-Fa-f]{3,8}$/.test(e)||ar.test(e)?a:null}return Kr.hasOwnProperty(a.toLowerCase())?Kr[a.toLowerCase()]:ar.test(a)?a:null}function $r(r){var a=String(r).replace(/^\s+|\s+$/g,""),e=/^(#?[A-Za-z0-9]+)[\/|\\\-](#?[A-Za-z0-9]+)$/.exec(a);if(e!=null){var h=Y(e[1]),l=Y(e[2]);if(h&&l&&h!=="none"&&l!=="none")return{fill:h,gradient:l}}var C=Y(a);return C?{fill:C,gradient:null}:null}function rr(r){return String(Math.round(r*100)/100)}function H(r,a,e,h){var l={};if(r==null||!kt.hasUserRules(r))return l;var C=kt.userStyle(r,a,e),b;if(h!=="edge"&&h!=="text"){if(b=kt.color(C,"BackGroundColor"),b!=null)if(b==="none")l.fillColor="none";else{var Z=$r(b);Z!=null&&(l.fillColor=Z.fill,Z.gradient!=null&&(l.gradientColor=Z.gradient))}if(kt.raw(C,"RoundCorner")!=null){var v=kt.asDouble(C,"RoundCorner",0);v>0?(l.rounded="1",l.arcSize=rr(v),l.absoluteArcSize="1"):l.rounded="0"}kt.raw(C,"Shadowing")!=null&&(l.shadow=kt.shadowing(C)>0?"1":"0")}if(h!=="text"){if(b=kt.color(C,"LineColor"),b!=null){var er=b==="none"?"none":Y(b);er&&(l.strokeColor=er)}if(kt.raw(C,"LineThickness")!=null&&(l.strokeWidth=rr(kt.asDouble(C,"LineThickness",1))),kt.raw(C,"LineStyle")!=null){var X=kt.stroke(C);X.dashVisible>0?(l.dashed="1",l.fixDash="1",l.dashPattern=rr(X.dashVisible)+" "+rr(X.dashSpace)):l.dashed="0"}}if(b=kt.color(C,"FontColor"),b!=null&&b!=="none"){var V=Y(b);V&&(l.fontColor=V)}if(kt.raw(C,"FontSize")!=null){var tr=kt.asInt(C,"FontSize",-1);tr>0&&(l.fontSize=String(tr))}if(kt.raw(C,"FontName")!=null){var wr=Lc(kt.raw(C,"FontName"));wr&&(l.fontFamily=wr)}if(kt.raw(C,"FontStyle")!=null||kt.raw(C,"FontWeight")!=null){var yr=kt.fontFace(C);l.fontStyleBits=(yr.bold?1:0)|(yr.italic?2:0)}return kt.raw(C,"HorizontalAlignment")!=null&&(l.align=kt.horizontalAlignment(C)),l}function M(r,a){var e,h=!1;for(e in a)if(a.hasOwnProperty(e)){h=!0;break}if(!h)return r;var l=String(r||"");l.length>0&&l.charAt(l.length-1)!==";"&&(l+=";");for(e in a)if(a.hasOwnProperty(e)){var C=e,b=a[e];if(e==="fontStyleBits"){var Z=/(?:^|;)fontStyle=(\d+);/.exec(l),v=Z!=null?parseInt(Z[1],10):0;if(C="fontStyle",b=String(b|v&4),b==="0"&&Z==null)continue}var er=new RegExp("(^|;)"+C+"=[^;]*;");er.test(l)?l=l.replace(er,"$1"+C+"="+b+";"):l+=C+"="+b+";"}return l}function j(r,a){return a!=null&&a.skinparams!=null&&/^ortho$/i.test(String(a.skinparams.linetype||""))?M(r,{edgeStyle:"orthogonalEdgeStyle"}):r}function gr(r,a){return r.replace(/(<mxCell id="(?:cl)?(title|header|footer|caption|legend|legendtext)_\d+"[^>]*? style=")([^"]*)"/g,function(e,h,l,C){var b=l==="legend"||l==="legendtext"?["root","element","legend"]:["root","document",l],Z=l==="legend"?"vertex":"text";return h+M(C,H(a,b,[],Z))+'"'})}function W(r,a,e,h,l,C){var b=H(a,e,h,l);if(C!=null)for(var Z=0;Z<C.length;Z++)delete b[C[Z]];return M(r,b)}function d(r){return r==null?"":String(r).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\r\n?/g,`
88
+ `).replace(/\n/g,"&#10;")}var _={heart:"\u2665",star:"\u2605",star_o:"\u2606",check:"\u2714",check_circle:"\u2714",circle_check:"\u2714",ban:"\u2718",x:"\u2717",cloud:"\u2601",sun:"\u2600",gear:"\u2699",cog:"\u2699",cogs:"\u2699",exchange:"\u21C4",envelope:"\u2709",mail:"\u2709",home:"\u2302",house:"\u2302",info:"\u2139",warning:"\u26A0",bolt:"\u26A1",flag:"\u2691",key:"\u26BF",person:"\u263B",people:"\u263B",user:"\u263B",users:"\u263B",phone:"\u260E",clock:"\u23F1",cubes:"\u29C9",cube:"\u25A2",arrow_right:"\u2192",arrow_left:"\u2190",share_alt_square:"\u21AA",plus:"+",minus:"\u2212"};function p(r){var a=_[r]||_[r.replace(/-/g,"_")];return a||""}var E=/--([^\n]+?)--/g,L=/^\s*-+\s*$/;function N(r,a){for(var e=String(r).split(`
89
+ `),h=0;h<e.length;h++)L.test(e[h])||(e[h]=a(e[h]));return e.join(`
90
+ `)}function m(r){var a=String(r??"");if(/<(?:s|strike|del)(?::[^>]*)?>[\s\S]+?<\/(?:s|strike|del)\s*>/i.test(a))return!0;for(var e=a.split(`
91
+ `),h=0;h<e.length;h++)if(!L.test(e[h])&&/--[^\n]+?--/.test(e[h]))return!0;return!1}function u(r){return r==null?"":(r=String(r),r=r.replace(/<U\+([0-9A-Fa-f]{2,6})>/g,function(a,e){try{return String.fromCodePoint(parseInt(e,16))}catch{return""}}),r=r.replace(/\\r\\n|\\n|\\r/g,`
92
+ `).replace(/\\t/g," "),r=r.replace(/<\/?(?:size|color|colour|back|b|i|u|s|strike|del|sub|sup|font|w|plain)(?:[:\s][^>]*)?\s*>/gi,""),r=r.replace(/<&([a-zA-Z0-9_-]+)>/g,function(a,e){return p(e)}).replace(/<\$([a-zA-Z0-9_-]+)(?:\*[\d.]+)?>/g,function(a,e){return p(e)}),r=r.replace(/\*\*([\s\S]+?)\*\*/g,"$1").replace(/\/\/([\s\S]+?)\/\//g,"$1").replace(/__([\s\S]+?)__/g,"$1").replace(/~~([\s\S]+?)~~/g,"$1").replace(/""([\s\S]+?)""/g,"$1"),r=N(r,function(a){return a.replace(E,"$1")}),r)}function R(r){return d(u(r))}function o(r,a){var e=u(r);return a&&String(a).indexOf("html=1")>=0&&(e=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")),d(e)}function t(r){return String(r).replace(/\*\*([^\n]+?)\*\*/g,"<b>$1</b>").replace(/\/\/([^\n]+?)\/\//g,"<i>$1</i>").replace(/__([^\n]+?)__/g,"<u>$1</u>").replace(/~~([^\n]+?)~~/g,"<u>$1</u>").replace(E,"<strike>$1</strike>")}function n(r){if(r==null)return"";r=String(r),r=r.replace(/<U\+([0-9A-Fa-f]{2,6})>/g,function(Z,v){try{return String.fromCodePoint(parseInt(v,16))}catch{return""}}),r=r.replace(/\\r\\n|\\n|\\r/g,`
93
+ `).replace(/\\t/g," "),r=r.replace(/<(?:s|strike|del)(?::[^>]*)?>/gi,"").replace(/<\/(?:s|strike|del)\s*>/gi,""),r=r.replace(/<\/?(?:size|color|colour|back|b|i|u|s|strike|del|sub|sup|font|w|plain)(?:[:\s][^>]*)?\s*>/gi,""),r=r.replace(/""([\s\S]+?)""/g,"$1"),r=r.replace(/<&([a-zA-Z0-9_-]+)>/g,function(Z,v){return p(v)}).replace(/<\$([a-zA-Z0-9_-]+)(?:\*[\d.]+)?>/g,function(Z,v){return p(v)}),r=r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");for(var a=r.split(`
94
+ `),e="",h=!0,l=0;l<a.length;l++){var C=/^\s*(-{3,}|={3,}|\.{3,})\s*$/.exec(a[l]);if(C){var b=C[1].charAt(0);e+='<hr style="border:none;border-top:'+(b==="="?"3px double":b==="."?"1px dotted":"1px solid")+' #181818;margin:4px 0 5px;">',h=!0;continue}h||(e+="<br>"),e+=L.test(a[l])?a[l]:t(a[l]),h=!1}return e.replace(/\u0001/g,'<font face="monospace">').replace(/\u0002/g,"</font>").replace(/\u0004/g,"<strike>").replace(/\u0005/g,"</strike>")}function f(r){var a=String(r??"");return/\*\*[\s\S]+?\*\*|\/\/[\s\S]+?\/\/|""[\s\S]+?""|__[\s\S]+?__|~~[\s\S]+?~~|(?:^|\n)\s*[*#]+\s+\S/.test(a)?!0:m(a)}function O(r){if(r=String(r??""),!/(?:^|\n)\s*[*#]+\s+\S/.test(r))return n(r);for(var a=r.split(`
95
+ `),e="",h=[],l="",C=0;C<a.length;C++){var b=a[C].match(/^\s*([*#]+)\s+(.*)$/);if(!b){for(;h.length>0;)e+="</li></"+h.pop()+">";e+=l+n(a[C]),l="<br>";continue}for(var Z=b[1].length,v=b[1].charAt(0)==="#"?"ol":"ul";h.length>Z;)e+="</li></"+h.pop()+">";for(h.length===Z&&(e+="</li>");h.length<Z;)e+="<"+v+' style="margin:0;padding-left:14px">',h.push(v);e+="<li>"+n(b[2]),l=""}for(;h.length>0;)e+="</li></"+h.pop()+">";return e}function g(r){for(var a=String(r??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&lt;(\/?)([biu])&gt;/gi,"<$1$2>"),e=a.match(/<\/?[biu]>/gi)||[],h=[],l=0;l<e.length;l++){var C=e[l].toLowerCase(),b=C.charAt(1)==="/",Z=b?C.charAt(2):C.charAt(1);if(b){var v=h.lastIndexOf(Z);v>=0&&h.splice(v,1)}else h.push(Z)}for(;h.length;)a+="</"+h.pop()+">";return a}function Q(r){return n(r)}var x=5,I=33,w=14,nr=24,lr=10,ir=25,mr=17.7,Or=15,Qr=17,ee=22,re=4;function Yr(r){return/^-{3,}$/.test(r)?"solid":/^\.{3,}$/.test(r)?"dotted":/^={3,}$/.test(r)?"double":null}function Zr(r){return r<=1?18:r===2?16:r===3?15:14}var Ee=10,Ze=8.43;function eo(r){for(var a="",e=!0,h=0;h<r.length;h++){var l=r[h],C=Yr(l);if(C){a+='<hr style="border:none;border-top:'+(C==="double"?"3px double":C==="dotted"?"1px dotted":"1px solid")+' #181818;margin:4px 0 5px;">',e=!0;continue}e||(a+="<br>"),e=!1;var b=/^(=+)\s*/.exec(l),Z=/^"{2}.*"{2}$/.test(l),v=l.replace(/^=+\s*/,"").replace(/^"{2}|"{2}$/g,"");b?a+='<b><font style="font-size:'+Zr(b[1].length)+'px">'+n(v)+"</font></b>":Z?a+='<font face="monospace">'+R(v)+"</font>":a+=n(v)}return a}function Gr(r,a,e){return is(r,a,e)}function $e(r){return r?String(r).split(`
96
+ `).length:0}function Ye(r,a){var e=a==="box"?8:a==="hexagon"?23:20;return Gr(r||"",13,!1)+e}function Hr(r,a,e){var h=Y(r.color)||(a?"#E3E3E3":"#E2E2F0"),l=Y(r.borderColor)||"#181818",C=Y(r.fontColor)||"#000000",b="rounded=1;absoluteArcSize=1;arcSize=5;fillColor="+h+";strokeColor="+l+";strokeWidth=0.5;fontColor="+C+";fontSize=14;whiteSpace=wrap;html=1;",Z=e?"verticalLabelPosition=top;verticalAlign=bottom;":"verticalLabelPosition=bottom;verticalAlign=top;",v=Z+"fillColor="+h+";strokeColor="+l+";fontColor="+C+";fontSize=14;html=1;";switch(r.kind){case"actor":return"shape=umlActor;"+v;case"boundary":return"shape=umlBoundary;"+v;case"control":return"ellipse;shape=umlControl;"+v;case"entity":return"ellipse;shape=umlEntity;"+v;case"database":return"shape=cylinder3;size=6;"+v;case"queue":return"shape=cylinder3;direction=east;size=8;"+v;default:return"shape=rectangle;"+b}}var Fo=4.5,k=9,T=7;function D(r){switch(r){case"open":return"endArrow=open;endFill=0;endSize=9;";case"lost":return"endArrow=cross;endSize=12;";case"circle":return"endArrow=classic;endFill=1;endSize=9;";case"halfTop":return"endArrow=open;endFill=0;endSize=9;endHalf=top;";case"halfBottom":return"endArrow=open;endFill=0;endSize=9;endHalf=bottom;";case"bidirectional":return"endArrow=classic;endFill=1;endSize=9;startArrow=classic;startFill=1;startSize=9;";default:return"endArrow=classic;endFill=1;endSize=9;"}}function S(r){var a=String(r??"");return/\*\*[^\n]+?\*\*|\/\/[^\n]+?\/\/|""[^\n]+?""|__[^\n]+?__|~~[^\n]+?~~/.test(a)||m(a)}function U(r){var a=String(r??"").replace(/^\s+|\s+$/g,"");return/^\*\*[\s\S]+\*\*$/.test(a)&&a.indexOf("**",2)===a.length-2?1:/^\/\/[\s\S]+\/\/$/.test(a)&&a.indexOf("//",2)===a.length-2?2:/^__[\s\S]+__$/.test(a)&&a.indexOf("__",2)===a.length-2?4:0}function P(r,a){var e=String(a??"");return!S(r)||U(r)!==0&&/(?:^|;)fontStyle=[1-9]/.test(e)?{value:o(r,e),style:e}:(/(?:^|;)html=1/.test(e)||(e.length>0&&e.charAt(e.length-1)!==";"&&(e+=";"),e+="html=1;"),{value:d(n(r)),style:e})}function s(r,a,e,h,l,C,b,Z){var v=P(a,e);return' <mxCell id="'+d(r)+'" value="'+v.value+'" style="'+d(v.style)+'" vertex="1" parent="'+d(Z||"1")+`">
97
+ <mxGeometry x="`+h+'" y="'+l+'" width="'+C+'" height="'+b+`" as="geometry"/>
98
+ </mxCell>
99
+ `}var $=s;function G(r,a,e,h,l,C,b,Z){var v=P(a,e);return' <mxCell id="'+d(r)+'" value="'+v.value+'" style="'+d(v.style)+'" edge="1" parent="'+d(Z||"1")+`">
100
+ <mxGeometry relative="1" as="geometry">
101
+ <mxPoint x="`+h+'" y="'+l+`" as="sourcePoint"/>
102
+ <mxPoint x="`+C+'" y="'+b+`" as="targetPoint"/>
103
+ </mxGeometry>
104
+ </mxCell>
105
+ `}var B=G;function or(r,a,e,h,l,C,b,Z,v,er,X){for(var V="",tr=0;tr<C.length;tr++)V+=' <mxPoint x="'+C[tr].x+'" y="'+C[tr].y+`"/>
106
+ `;var wr=P(a,e);return' <mxCell id="'+d(r)+'" value="'+wr.value+'" style="'+d(wr.style)+'" edge="1"'+(er!=null?' source="'+d(er)+'"':"")+(X!=null?' target="'+d(X)+'"':"")+' parent="'+d(v||"1")+`">
107
+ <mxGeometry relative="1" as="geometry">
108
+ <mxPoint x="`+h+'" y="'+l+`" as="sourcePoint"/>
109
+ <mxPoint x="`+b+'" y="'+Z+`" as="targetPoint"/>
110
+ `+(V!==""?` <Array as="points">
111
+ `+V+` </Array>
112
+ `:"")+` </mxGeometry>
113
+ </mxCell>
114
+ `}function K(r,a,e,h,l,C,b,Z){return' <mxCell id="'+d(r)+'" value="'+d(a)+'" style="'+d(e)+'" vertex="1" parent="'+d(Z||"1")+`">
115
+ <mxGeometry x="`+h+'" y="'+l+'" width="'+C+'" height="'+b+`" as="geometry"/>
116
+ </mxCell>
117
+ `}var hr=K;function vr(r,a,e,h,l,C){var b=P(a,e);return' <mxCell id="'+d(r)+'" value="'+b.value+'" style="'+d(b.style)+'" edge="1" source="'+d(h)+'" target="'+d(l)+'" parent="'+d(C||"1")+`">
118
+ <mxGeometry relative="1" as="geometry"/>
119
+ </mxCell>
120
+ `}var Jr=17,Ge=18,no=5,bo=9,Oo=7;function We(r){var a=/^(?:<#(\w+)>)?\|(.*)\|$/,e=[],h=null,l,C,b;for(l=0;l<r.length;l++){var Z=a.exec(r[l]);if(Z){var v=Z[2].split("|"),er={fill:Z[1]?Y(Z[1]):null,cells:[]};for(C=0;C<v.length;C++){var X=v[C].replace(/^\s+|\s+$/g,""),V={text:"",bold:!1,fill:null};X.charAt(0)==="="&&(V.bold=!0,X=X.substring(1).replace(/^\s+/,""));var tr=/^<#(\w+)>\s*/.exec(X);tr&&(V.fill=Y(tr[1]),X=X.substring(tr[0].length)),V.text=X.replace(/^<[lrc]>\s*/,""),er.cells.push(V)}(h==null||h.kind!=="table")&&(h={kind:"table",rows:[]},e.push(h)),h.rows.push(er)}else(h==null||h.kind!=="text")&&(h={kind:"text",lines:[]},e.push(h)),h.lines.push(r[l])}var wr=0,yr=0,fr=!1;for(l=0;l<e.length;l++){var Ar=e[l];if(Ar.kind==="table"){for(fr=!0,Ar.colW=[],C=0;C<Ar.rows.length;C++)for(b=0;b<Ar.rows[C].cells.length;b++){var jr=Ar.rows[C].cells[b],ce=Math.round(Gr(u(jr.text),14,jr.bold)+bo);Ar.colW[b]>=ce||(Ar.colW[b]=ce)}for(Ar.w=0,b=0;b<Ar.colW.length;b++)Ar.w+=Ar.colW[b];Ar.h=Ar.rows.length*Ge,yr+=Ar.h+4}else{for(Ar.w=0,C=0;C<Ar.lines.length;C++)Ar.w=Math.max(Ar.w,Math.ceil(Gr(u(Ar.lines[C]),14,!1)));Ar.h=Ar.lines.length*Jr,yr+=Ar.h}wr=Math.max(wr,Ar.w)}return{blocks:e,contentW:wr,hasTable:fr,w:Math.max(40,wr+2*no),h:yr+2*no}}function Tt(r,a,e,h,l,C){var b=h("legend"),Z=C||"1",v="rounded=1;absoluteArcSize=1;arcSize=15;fillColor="+(l||"#DDDDDD")+";strokeColor=#000000;strokeWidth=1;fontColor=#000000;fontSize=14;align=left;verticalAlign=top;spacing=0;spacingLeft="+no+";spacingTop="+no+";whiteSpace=wrap;html=1;",er,X,V;if(!r.hasTable){var tr=[];for(er=0;er<r.blocks.length;er++)tr=tr.concat(r.blocks[er].lines);return K(b,n(tr.join(`
121
+ `)),v,a,e,r.w,r.h,Z)}var wr=s(b,"",v+"container=1;collapsible=0;",a,e,r.w,r.h,Z),yr=no;for(er=0;er<r.blocks.length;er++){var fr=r.blocks[er];if(fr.kind==="text"){wr+=K(h("legendtext"),n(fr.lines.join(`
122
+ `)),"text;html=1;strokeColor=none;fillColor=none;fontColor=#000000;fontSize=14;align=left;verticalAlign=top;spacing=0;whiteSpace=wrap;",no,yr,r.contentW,fr.h,b),yr+=fr.h;continue}yr+=2;var Ar=h("legendtable");for(wr+=s(Ar,"","shape=table;childLayout=tableLayout;container=1;collapsible=0;startSize=0;rowLines=1;fixedRows=1;resizeLast=1;fillColor=none;strokeColor=#000000;strokeWidth=1;fontSize=14;whiteSpace=wrap;",no,yr,fr.w,fr.h,b),X=0;X<fr.rows.length;X++){var jr=fr.rows[X],ce=h("legendrow");wr+=s(ce,"","shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;collapsible=0;dropTarget=0;strokeColor=#000000;top=0;left=0;right=0;bottom=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fillColor="+(jr.fill||"none")+";",0,X*Ge,fr.w,Ge,Ar);var Nr=0;for(V=0;V<fr.colW.length;V++){var de=jr.cells[V]||{text:"",bold:!1,fill:null},Fr=V===fr.colW.length-1,Ir=Fr?fr.w-Nr:fr.colW[V];wr+=K(h("legendcell"),n(de.text),"shape=partialRectangle;connectable=0;overflow=hidden;fillColor="+(de.fill||"none")+";top=0;left=0;bottom=0;right="+(Fr?0:1)+";strokeColor=#000000;whiteSpace=wrap;html=1;fontSize=14;fontColor=#000000;align=left;spacing=0;spacingLeft=4;verticalAlign=middle;"+(de.bold?"fontStyle=1;":""),Nr,0,Ir,Ge,ce),Nr+=Ir}}yr+=fr.h+2}return wr}var Cn=11.78,un=16.49,Kt=10,ut=14;function fn(r){if(r==null)return null;var a=typeof r=="object"?r.text:r;return a==null||String(a)===""?null:String(a)}function vt(r,a){var e=r!=null&&typeof r=="object"?r.align:null;return e==="left"||e==="right"||e==="center"?e:a}function _o(r){for(var a=/<mxCell\b([^>]*)>\s*<mxGeometry\b([^>]*)\/?>/g,e=1/0,h=1/0,l=-1/0,C=-1/0,b;(b=a.exec(String(r||"")))!=null;){var Z=b[1],v=b[2];if(!(!/\bvertex="1"/.test(Z)||!/\bparent="1"/.test(Z))){var er=/\bx="(-?[\d.]+)"/.exec(v),X=/\by="(-?[\d.]+)"/.exec(v),V=/\bwidth="(-?[\d.]+)"/.exec(v),tr=/\bheight="(-?[\d.]+)"/.exec(v);if(!(er==null||X==null||V==null||tr==null)){var wr=parseFloat(er[1]),yr=parseFloat(X[1]),fr=parseFloat(V[1]),Ar=parseFloat(tr[1]);wr<e&&(e=wr),yr<h&&(h=yr),wr+fr>l&&(l=wr+fr),yr+Ar>C&&(C=yr+Ar)}}}return e<1/0?{x:e,y:h,w:l-e,h:C-h}:null}function Zo(r){var a=String(r||"");function e(h){return new RegExp('id="(?:cl|c4|lg|t_)?'+h+'[_"]').test(a)}return{title:e("title"),header:e("header"),footer:e("footer"),caption:e("caption"),legend:e("legend")}}function jt(r,a,e){if(r==null)return"";var h=r.floatingNotes!=null&&r.floatingNotes.length>0?r.floatingNotes:null,l=fn(r.title),C=fn(r.header),b=fn(r.footer),Z=fn(r.caption),v=r.legend!=null&&r.legend.lines!=null&&r.legend.lines.length>0?r.legend:null;if(l==null&&C==null&&b==null&&Z==null&&v==null&&h==null)return"";var er=Zo(a),X=_o(a);if(X==null)return"";var V=0;function tr(he){return he+"_"+V++}function wr(he,Te,ae,it){var Gt="text;html=1;fillColor=none;strokeColor=none;fontSize="+Te+";"+(ae?"fontStyle=1;":"")+"fontColor="+(Te===Kt?"#888888":"#000000")+";align="+it+";verticalAlign=middle;whiteSpace=wrap;";return M(Gt,H(e,["document",he],null,"text"))}function yr(he,Te){return Te==="left"?X.x:Te==="right"?X.x+X.w-he:X.x+(X.w-he)/2}var fr="",Ar=X.y;if(h!=null){var jr=[],ce=0,Nr;for(Nr=0;Nr<h.length;Nr++){for(var de=(h[Nr].lines||[]).join(`
123
+ `).split(`
124
+ `),Fr=0,Ir=0;Ir<de.length;Ir++)Fr=Math.max(Fr,Math.ceil(is(de[Ir],13,!1)));var qe=Math.round(de.length*17.7+12);jr.push({text:de.join(`
125
+ `),w:Fr+20,h:qe}),qe>ce&&(ce=qe)}Ar-=ce+8;var To=X.x;for(Nr=0;Nr<jr.length;Nr++){var ne=h[Nr].color&&Y(h[Nr].color)||"#FEFFDD";fr+=s(tr("fnote"),jr[Nr].text,"shape=note;size=10;fillColor="+ne+";strokeColor=#181818;fontSize=13;fontColor=#000000;whiteSpace=wrap;html=1;align=left;verticalAlign=middle;spacingLeft=4;",Math.round(To),Math.round(Ar),jr[Nr].w,jr[Nr].h,"1"),To+=jr[Nr].w+15}}if(l!=null&&!er.title){var po=String(l).replace(/\\n/g,`
126
+ `).split(`
127
+ `),ao=Math.max(40,Math.ceil(is(l,ut,!0))+10),A=Math.round(un*po.length+8);Ar-=A+10,fr+=K(tr("title"),n(l),wr("title",ut,!0,"center"),yr(ao,"center"),Ar,ao,A,"1")}if(C!=null&&!er.header){var J=vt(r.header,"right"),ur=String(C).replace(/\\n/g,`
128
+ `).split(`
129
+ `),Sr=Math.max(20,Math.ceil(is(C,Kt,!1))+8),Er=Math.round(Cn*ur.length+1);Ar-=Er+2,fr+=K(tr("header"),n(C),wr("header",Kt,!1,J),yr(Sr,J),Ar,Sr,Er,"1")}var qr=X.y+X.h+4;if(v!=null&&!er.legend){var z=We(v.lines),Mr=v.position==="left"?"left":v.position==="right"?"right":"center";fr+=Tt(z,Math.round(yr(z.w,Mr)),Math.round(qr+2),tr,null,"1"),qr+=z.h+8}if(Z!=null&&!er.caption){var Be=String(Z).replace(/\\n/g,`
130
+ `).split(`
131
+ `),ye=Math.max(40,Math.ceil(is(Z,ut,!1))+10),Le=Math.round(un*Be.length+2);fr+=K(tr("caption"),n(Z),wr("caption",ut,!1,"center"),yr(ye,"center"),qr,ye,Le,"1"),qr+=Le+1}if(b!=null&&!er.footer){var _e=vt(r.footer,"center"),Ur=String(b).replace(/\\n/g,`
132
+ `).split(`
133
+ `),yo=Math.max(20,Math.ceil(is(b,Kt,!1))+8),fo=Math.round(Cn*Ur.length+1);fr+=K(tr("footer"),n(b),wr("footer",Kt,!1,_e),yr(yo,_e),qr,yo,fo,"1")}return fr}function zt(r,a){var e=r.participants,h=r.elements,l="",C=0,b=r.skin||{},Z="",v="",er=Y(b.sequencedividerbackgroundcolor)||"#EEEEEE",X=Y(b.sequencedividerbordercolor)||"#000000",V=Y(b.sequencedividerfontcolor)||"#000000",tr=Y(b.sequencelifelinebackgroundcolor)||"#FFFFFF",wr=Y(b.sequencearrowcolor||b.arrowcolor)||null,yr=parseFloat(b.sequencearrowthickness||b.arrowthickness)||null,fr=parseFloat(b.sequencelinethickness||b.linethickness)||null,Ar=(b.sequencemessagealign||"").toLowerCase(),jr=r.hideStereotype===!0,ce=r.styleSheet||null,Nr=["fillColor","gradientColor"];function de(Ht){return Ht[0]==="document"?["root"].concat(Ht):["root","element","sequenceDiagram"].concat(Ht)}function Fr(Ht,ya,Oa,St,kl){return W(Ht,ce,de(ya),Oa||[],St||"vertex",kl)}function Ir(Ht){return Ht+"_"+C++}var qe={};function To(Ht,ya,Oa,St,kl,bl,ms,gu,_n,En,Xi){var ss=Math.round((St+bl)/2);if(St!==bl){var Cs=qe[St<bl?_n:En]||null,es=qe[St<bl?En:_n]||null,os=Math.min(St,bl)+4,qi=Math.max(St,bl)-4;Cs&&(os=Math.max(os,Cs.x+Cs.w+8)),es&&(qi=Math.min(qi,es.x-8)),os>qi?ss=Math.round((os+qi)/2):ss<os?ss=Math.round(os):ss>qi&&(ss=Math.round(qi))}var Ms=Xi!=null?{value:d(Xi),style:String(Oa||"")}:P(ya,Oa);return' <mxCell id="'+d(Ht)+'" value="'+Ms.value+'" style="'+d(Ms.style)+'" edge="1"'+(_n?' source="'+d(_n)+'"':"")+(En?' target="'+d(En)+'"':"")+` parent="1">
134
+ <mxGeometry x="`+Math.round(gu*1e3)/1e3+`" relative="1" as="geometry">
135
+ <mxPoint x="`+St+'" y="'+kl+`" as="sourcePoint"/>
136
+ <mxPoint x="`+bl+'" y="'+ms+`" as="targetPoint"/>
137
+ <Array as="points">
138
+ <mxPoint x="`+ss+'" y="'+kl+`"/>
139
+ </Array>
140
+ </mxGeometry>
141
+ </mxCell>
142
+ `}function ne(Ht,ya,Oa,St,kl){return' <mxCell id="'+d(Ht)+'" value="" style="ellipse;fillColor='+Oa+';strokeColor=none;connectable=0;locked=1;deletable=0;" vertex="1" parent="'+d(ya)+`">
143
+ <mxGeometry x="1" y="0" width="10" height="10" relative="1" as="geometry">
144
+ <mxPoint x="`+St+'" y="'+kl+`" as="offset"/>
145
+ </mxGeometry>
146
+ </mxCell>
147
+ `}for(var po={},ao=0;ao<e.length;ao++)po[e[ao].id]=ao;var A=e.length;function J(Ht,ya){return Ht!=null&&po.hasOwnProperty(Ht)?po[Ht]:ya}for(var ur=[],Sr=[],Er=[],qr=[],z=0;z<A;z++){var Mr=e[z],Be=Gr(Mr.name,14,!1),ye=Be+w,Le=I+15*Math.max(0,$e(Mr.name)-1);if(Mr.stereoLetter)ye=Math.max(Be,Gr(Mr.stereotype||"",14,!1))+42,Le=52;else if(Mr.stereotype&&!jr)ye=Math.max(Be,Gr(Mr.stereotype,14,!1)+12)+w,Le=52;else if(Mr.bodyLines&&Mr.bodyLines.length>0){for(var _e=0,Ur=10,yo=0;yo<Mr.bodyLines.length;yo++){var fo=Mr.bodyLines[yo];if(Yr(fo)){Ur+=Ee;continue}var he=/^(=+)\s*/.exec(fo),Te=/^"{2}.*"{2}$/.test(fo),ae=he?Zr(he[1].length):14,it=u(fo.replace(/^=+\s*/,"").replace(/^"{2}|"{2}$/g,""));_e=Math.max(_e,Te?it.length*Ze:Gr(it,ae,!!he)),Ur+=Math.ceil(ae*1.2)}ye=Math.ceil(_e)+w+4,Le=Math.max(I,Ur)}var Gt=0,oo=0;Mr.kind==="actor"?(Gt=24,oo=38):Mr.kind==="boundary"?(Gt=38,oo=28):Mr.kind==="control"||Mr.kind==="entity"?(Gt=28,oo=28):Mr.kind==="database"?(Gt=36,oo=34):Mr.kind==="queue"?(Gt=44,oo=22):Mr.kind==="collections"&&(ye=Be+24),Gt>0&&(ye=Math.max(Be,Gt),Le=oo+19*Math.max(1,$e(Mr.name))),ur.push(Math.max(24,ye)),Sr.push(Le),Er.push(Gt),qr.push(oo)}var pt=I,rt=I;for(z=0;z<A;z++)Sr[z]>pt&&(pt=Sr[z]),Er[z]===0&&!(e[z].bodyLines&&e[z].bodyLines.length>0)&&Sr[z]>rt&&(rt=Sr[z]);for(z=0;z<A;z++)Er[z]===0&&!(e[z].bodyLines&&e[z].bodyLines.length>0)&&Sr[z]<rt&&(Sr[z]=rt);var jo=[],Qt=r.boxes||[];for(z=0;z<A;z++)jo.push(-1);for(var Me=0;Me<Qt.length;Me++)for(var Io=Qt[Me].participants||[],Wo=0;Wo<Io.length;Wo++)po.hasOwnProperty(Io[Wo])&&(jo[po[Io[Wo]]]=Me);var Ro=!1;for(z=0;z<A;z++)jo[z]>=0&&(Ro=!0);var An=[];for(z=0;z+1<A;z++){var dn=lr+(Ro&&jo[z]!==jo[z+1]?14:0);An.push(ur[z]/2+ur[z+1]/2+dn)}var rn=[],Ao=0,_t=0;function ft(Ht,ya,Oa){if(!(Ht===ya||Ht==null||ya==null)){var St=Math.min(Ht,ya),kl=Math.max(Ht,ya);kl-St===1?Oa>An[St]&&(An[St]=Oa):rn.push({lo:St,hi:kl,dist:Oa})}}var Se=0,Go=0,wt={};for(z=0;z<A;z++)wt[e[z].id]=0;function cn(Ht){return Ht!=null&&wt[Ht]>0?5*wt[Ht]:0}for(var No=0;No<h.length;No++){var oe=h[No];if((oe.type==="activate"||oe.type==="deactivate"||oe.type==="destroy")&&wt.hasOwnProperty(oe.participant)){wt[oe.participant]=oe.type==="activate"?wt[oe.participant]+1:oe.type==="deactivate"?Math.max(0,wt[oe.participant]-1):0;continue}if(oe.type==="message"){var Uo=J(oe.from,0),Ot=J(oe.to,0),ho=oe.label||"";oe.number!=null&&(ho=oe.number+" "+ho);var dt=Gr(ho,13,!1),Aa=No+1<h.length?h[No+1]:null,Sn=oe.to!=null&&(oe.activate===oe.to||Aa!=null&&Aa.type==="activate"&&Aa.participant===oe.to),an=cn(oe.from)+cn(oe.to)+(Sn?5:0);if(oe.deactivate&&wt[oe.deactivate]>0&&wt[oe.deactivate]--,oe.activate!=null&&wt.hasOwnProperty(oe.activate)&&wt[oe.activate]++,oe.fromEdge||oe.toEdge){var we=J(oe.fromEdge?oe.to:oe.from,0),Eo=dt+nr+an+(oe.tailDecor==="circle"||oe.headDecor==="circle"?12:0);(oe.fromEdge||oe.toEdge)==="left"?we===0?Ao=Math.max(Ao,Eo-x-ur[0]/2):ft(we-1,we,Eo):A>0&&(we===A-1?_t=Math.max(_t,Eo+5-x-ur[A-1]/2):ft(we,we+1,Eo)),Se=we,Go=we;continue}if(Uo===Ot){var Et=dt+55+cn(oe.from);Uo+1<A?ft(Uo,Uo+1,Et):Et-ur[Uo]/2>_t&&(_t=Et-ur[Uo]/2)}else ft(Uo,Ot,dt+ir+an),Se=Math.min(Uo,Ot),Go=Math.max(Uo,Ot)}else if(oe.type==="note"){var Cr=Ye(oe.text,oe.shape),Lr=oe.over&&oe.over.length>0?J(oe.over[0],null):null;if(oe.position==="left"||oe.position==="top"||oe.position==="bottom"){var He=Lr??Se;He<=0?Cr+4-ur[0]/2>Ao&&(Ao=Cr+4-ur[0]/2):ft(He-1,He,Cr+9+ur[He-1]/2)}else if(oe.position==="right"){var Ie=Lr??Go;Ie>=A-1?A>0&&Cr+4-ur[A-1]/2>_t&&(_t=Cr+4-ur[A-1]/2):ft(Ie,Ie+1,Cr+9+ur[Ie+1]/2)}else oe.over&&oe.over.length>1?ft(J(oe.over[0],0),J(oe.over[oe.over.length-1],0),Cr-40):Lr!=null&&A>0&&(Lr===0&&Cr/2-ur[0]/2>Ao&&(Ao=Cr/2-ur[0]/2),Lr===A-1&&Cr/2-ur[A-1]/2>_t&&(_t=Cr/2-ur[A-1]/2))}}var Oe=[];if(A>0)for(Oe[0]=x+Ao+(jo[0]>=0?re:0)+ur[0]/2,z=1;z<A;z++){for(var so=Oe[z-1]+An[z-1],Xo=0;Xo<rn.length;Xo++)rn[Xo].hi===z&&Oe[rn[Xo].lo]+rn[Xo].dist>so&&(so=Oe[rn[Xo].lo]+rn[Xo].dist);Oe[z]=so}var qo=A>0?Oe[A-1]+ur[A-1]/2+(jo[A-1]>=0?re:0)+_t+x:120;for(No=0;No<h.length;No++)if(h[No].type==="divider"){var Yn=Gr(h[No].label||"",13,!0)+57;Yn>qo&&(qo=Yn)}function Nt(Ht){return Oe[Ht]!=null?Oe[Ht]:x}var Da={},je=x+(Ro?ee+1:0),_r=je+pt,Ho=[];for(z=0;z<A;z++)Ho[z]=null;var Ce=_r+3,ln=[],nt=[],wo=[],xn=null,Lt=null;function Ft(Ht){for(var ya=0;ya<nt.length;ya++)Ht<nt[ya].min&&(nt[ya].min=Ht),Ht>nt[ya].max&&(nt[ya].max=Ht)}for(No=0;No<h.length;No++){var fe=h[No],ge={el:fe};switch(ln.push(ge),fe.type){case"message":{var qt=fe.from!=null?J(fe.from,0):null,et=fe.to!=null?J(fe.to,0):null,en=fe.fromEdge||null,Zt=fe.toEdge||null;if(fe.isReturn&&fe.from==null){var qn=wo.length?wo.pop():null,Ko=null;if(qn!=null)qt=qn.calleeIdx,et=qn.callerIdx,en=qn.calleeEdge,Zt=qn.callerEdge,ge.returnCloses=qn.closes,Ko=qn.el;else if(Lt!=null&&Lt!=="group"&&Lt.fromEdge==null&&Lt.toEdge==null)Lt.kind==="self"?(qt=Lt.idx,et=Lt.idx):(qt=Lt.toIdx,et=Lt.fromIdx),Ko=Lt.el;else{vo.droppedLine(a,"sequence",fe.index,fe.raw!=null?fe.raw:"return",'returns with no call to answer (plantuml.jar answers "Nowhere to return to.")'),ge.kind="dropped";break}if(Ko!=null){var Hn={};for(var aa in fe)Object.prototype.hasOwnProperty.call(fe,aa)&&(Hn[aa]=fe[aa]);Hn.arrowHead=Ko.arrowHead||fe.arrowHead,Hn.headDecor=Ko.headDecor||null,Hn.tailDecor=Ko.tailDecor||null,Hn.color=fe.color||Ko.color||null,ge.el=fe=Hn}}var Je=fe.label||"",sn=null;if(fe.number!=null){var Bn=fe.numberText!=null?fe.numberText:String(fe.number),$t=u(Bn);$t!==Bn&&(sn=g(Bn)+" "+Q(Je)),Je=$t+" "+Je}var mo=$e(Je);if(fe.from!=null&&fe.from===fe.to||fe.isReturn&&qt!=null&&qt===et){ge.kind="self",ge.outY=Ce+(mo?17+Or*mo:14),ge.backY=ge.outY+20,ge.idx=qt,ge.label=Je,ge.labelHtml=sn,Ce=ge.backY,Ft(qt),Lt=ge;break}ge.kind="msg",ge.fromIdx=qt,ge.toIdx=et,ge.fromEdge=en,ge.toEdge=Zt,ge.label=Je,ge.labelHtml=sn;var Pt=No+1<h.length?h[No+1]:null;if(Pt!=null&&Pt.type==="note"&&(!Pt.over||Pt.over.length===0)&&(Pt.position==="left"||Pt.position==="right"||Pt.position==="top"||Pt.position==="bottom")){var ra=$e(Pt.text)*mr+9.3;ge.noteTop=Ce+13,ge.lineY=ge.noteTop+ra/2+8,Ce=Math.max(ge.lineY,ge.noteTop+ra)}else ge.lineY=Ce+(mo?17+Or*mo:14),Ce=ge.lineY;qt!=null&&Ft(qt),et!=null&&Ft(et);var Ut=Da[fe.to]===!0?fe.to:Da[fe.from]===!0?fe.from:null;if(Ut!=null){var Wn=po[Ut];ge.createIdx=Wn,Ho[Wn]=ge.lineY-23.7,Da[Ut]=!1,Ce=Math.max(Ce,Ho[Wn]+Sr[Wn]+3)}xn=ge,Lt=ge,fe.activate&&et!==qt&&wo.push({callerIdx:qt,calleeIdx:et,callerEdge:en,calleeEdge:Zt,closes:fe.activate,el:fe});break}case"note":{var yt=$e(fe.text),Zn=yt*mr+9.3,on=ln.length>1?ln[ln.length-2]:null,va=(!fe.over||fe.over.length===0)&&(fe.position==="left"||fe.position==="right"||fe.position==="top"||fe.position==="bottom")&&on!=null&&on.kind==="msg";if(ge.h=Zn,va)ge.kind="noteAttached",ge.top=on.noteTop!=null?on.noteTop:on.lineY!=null?on.lineY-Zn/2-8:Ce+13,ge.anchorLo=on.fromIdx!=null?Math.min(on.fromIdx,on.toIdx):0,ge.anchorHi=on.fromIdx!=null?Math.max(on.fromIdx,on.toIdx):0;else if(ge.kind="note",ge.top=Ce+13,Ce=ge.top+Zn+2,fe.over&&fe.over.length)for(var ga=0;ga<fe.over.length;ga++)Ft(J(fe.over[ga],0));else fe.position==="across"&&A>0&&(Ft(0),Ft(A-1));break}case"divider":{ge.kind="divider",ge.barY=Ce+31,Ce=ge.barY+13;break}case"delay":{ge.kind="delay",ge.top=Ce+8,ge.lines=fe.label?fe.label.split(`
148
+ `).length:0,ge.h=28+13*ge.lines,Ce=ge.top+ge.h-11;break}case"gap":{Ce+=fe.h!=null?fe.h:25;break}case"groupStart":{ge.kind="group",ge.groupKind=fe.kind,ge.label=fe.label||"",ge.cond=fe.cond||null,ge.color=fe.color||null,ge.headColor=fe.headColor||null,ge.top=Ce+15,ge.min=A,ge.max=-1,ge.elses=[],ge.hidden=fe.kind==="par2",nt.push(ge),Ce=ge.top+11.5,ge.branchStart=Ce,ge.branchMax=Ce;break}case"groupElse":{Lt="group";var jn=nt.length?nt[nt.length-1]:null;if(jn!=null&&jn.hidden){jn.branchMax=Math.max(jn.branchMax,Ce),Ce=jn.branchStart;break}var Fn=Ce+9;jn?.elses.push({y:Fn,label:fe.label||""}),Ce=Fn-7+(fe.label?15.3:0);break}case"groupEnd":{Lt="group";var Mn=nt.pop();Mn!=null&&(Mn.hidden&&(Ce=Math.max(Ce,Mn.branchMax)),Mn.bottom=Ce+8,Ce=Mn.bottom-1);break}case"ref":{if(ge.kind="ref",ge.top=Ce+11,ge.h=44+Math.max(0,$e(fe.label)-1)*Or,Ce=ge.top+ge.h-3,fe.over&&fe.over.length)for(var la=0;la<fe.over.length;la++)Ft(J(fe.over[la],0));break}case"create":{fe.participant!=null&&(Da[fe.participant]=!0);break}case"activate":case"deactivate":case"destroy":{ge.kind=fe.type,ge.y=Ce;var Tn=J(fe.participant,null);if(fe.type==="activate"&&Tn!=null&&xn!=null&&xn.toIdx===Tn&&xn.fromIdx!==Tn)wo.push({callerIdx:xn.fromIdx,calleeIdx:Tn,el:xn.el});else if(fe.type!=="activate"&&Tn!=null){for(var gt=wo.length-1;gt>=0;gt--)if(wo[gt].calleeIdx===Tn){wo.splice(gt,1);break}}break}default:break}}for(;nt.length;){var Rt=nt.pop();Rt.hidden&&(Ce=Math.max(Ce,Rt.branchMax)),Rt.bottom=Ce+8,Ce=Rt.bottom-1}var Jt=Ce+Qr,ct={};for(z=0;z<A;z++)ct[e[z].id]=[];function wn(Ht){for(var ya=ct[Ht],Oa=0,St=0;St<ya.length;St++)ya[St].end==null&&Oa++;return Oa}for(var In=0;In<ln.length;In++){var ko=ln[In];if(ko.kind==="activate"&&ko.el.participant!=null&&ct.hasOwnProperty(ko.el.participant))ct[ko.el.participant].push({start:ko.y,end:null,depth:wn(ko.el.participant),color:ko.el.color,lineColor:ko.el.lineColor});else if(ko.kind==="deactivate"&&ko.el.participant==null){for(var Do=null,Rr=0;Rr<A;Rr++)for(var xr=ct[e[Rr].id],br=0;br<xr.length;br++)xr[br].end==null&&(Do==null||xr[br].start>=Do.start)&&(Do=xr[br]);Do!=null&&(Do.end=ko.y)}else if(ko.kind==="deactivate"&&ko.el.participant!=null&&ct.hasOwnProperty(ko.el.participant)){for(var Br=ct[ko.el.participant],Pr=Br.length-1;Pr>=0;Pr--)if(Br[Pr].end==null){Br[Pr].end=ko.y;break}}else if(ko.kind==="destroy"&&ko.el.participant!=null&&ct.hasOwnProperty(ko.el.participant))for(var Xe=ct[ko.el.participant],zr=0;zr<Xe.length;zr++)Xe[zr].end==null&&(Xe[zr].end=ko.y);else if(ko.kind==="msg"&&ko.returnCloses!=null&&ct.hasOwnProperty(ko.returnCloses)){for(var Ke=ct[ko.returnCloses],De=Ke.length-1;De>=0;De--)if(Ke[De].end==null){Ke[De].end=ko.lineY;break}}else if(ko.kind==="msg"){if(ko.el.deactivate&&ct.hasOwnProperty(ko.el.deactivate)){for(var ze=ct[ko.el.deactivate],So=ze.length-1;So>=0;So--)if(ze[So].end==null){ze[So].end=ko.lineY;break}}ko.el.activate&&ct.hasOwnProperty(ko.el.activate)&&ct[ko.el.activate].push({start:ko.lineY,end:null,depth:wn(ko.el.activate),color:ko.el.activateColor})}}function ot(Ht,ya){if(Ht==null||Ht<0||Ht>=A)return 0;for(var Oa=ct[e[Ht].id]||[],St=0,kl=0;kl<Oa.length;kl++){var bl=Oa[kl].end!=null?Oa[kl].end:Jt;if(Oa[kl].start-1<=ya&&ya<=bl+1){var ms=5+Oa[kl].depth*5;ms>St&&(St=ms)}}return St}for(z=0;z<A;z++)for(var ve=ct[e[z].id]||[],Yt=0;Yt<ve.length;Yt++)ve[Yt].cellId=Ir("act");var At=[],ht=[],Vt=[],Pn=[];function Ae(Ht,ya){if(Ht==null||Ht<0||Ht>=A)return null;for(var Oa=ct[e[Ht].id]||[],St=null,kl=-1,bl=0;bl<Oa.length;bl++){var ms=Oa[bl].end!=null?Oa[bl].end:Jt;Oa[bl].start-1<=ya&&ya<=ms+1&&Oa[bl].depth>kl&&Oa[bl].cellId&&(St=Oa[bl].cellId,kl=Oa[bl].depth)}return St||(At[Ht]&&ya>=Pn[Ht]&&ya<=Jt?At[Ht]:null)}if(Ro)for(Me=0;Me<Qt.length;Me++){var Fe=null,le=null,Ne=Qt[Me].participants||[];for(Wo=0;Wo<Ne.length;Wo++)if(po.hasOwnProperty(Ne[Wo])){var Qe=po[Ne[Wo]];(Fe===null||Qe<Fe)&&(Fe=Qe),(le===null||Qe>le)&&(le=Qe)}if(Fe!==null){var tn=Oe[Fe]-ur[Fe]/2-re,Vo=Oe[le]+ur[le]/2+re,xo=Y(Qt[Me].color)||"#DDDDDD";l+=s(Ir("boxfr"),Qt[Me].label||"",Fr("rounded=0;fillColor="+xo+";strokeColor=#181818;strokeWidth=0.5;fontSize=14;fontColor=#000000;verticalAlign=top;align=center;spacingTop=2;html=1;whiteSpace=wrap;",["box"],null,"vertex",Qt[Me].color?Nr:null),tn,x+1,Vo-tn,Jt+pt+5-(x+1),"1")}}for(z=0;z<A;z++){var Co=e[z],mn=Ho[z]!=null?Ho[z]:_r-Sr[z],pn=Oe[z]-ur[z]/2,hn=Jt+Sr[z]-mn;if(Er[z]===0&&Co.kind!=="collections"){var Dt=Fr(Hr(Co,r.monochrome,!1).replace("shape=rectangle;",""),[Co.kind||"participant"],Co.stereotype?[Co.stereotype]:[],"vertex",Co.colorInline?Nr:null),ca="shape=umlLifeline;perimeter=lifelinePerimeter;size="+Sr[z]+";lifelineMirror=1;dashPattern=5 5;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;"+Dt+(Co.stereoLetter?"spacingLeft=24;":"")+(fr?"strokeWidth="+fr+";":""),ea=Ir("p");At[z]=ea,ht[z]=pn,Vt[z]=mn,qe[ea]={x:pn,w:ur[z]},Pn[z]=mn+Sr[z],Co.stereotype&&!jr?l+=K(ea,"<i>\xAB"+R(Co.stereotype)+"\xBB</i><br>"+R(Co.name),ca,pn,mn,ur[z],hn,"1"):Co.bodyLines&&Co.bodyLines.length>0?l+=K(ea,eo(Co.bodyLines),ca,pn,mn,ur[z],hn,"1"):l+=s(ea,Co.name,ca,pn,mn,ur[z],hn,"1"),Co.stereoLetter&&Co.stereoColor&&(l+=s(Ir("ps"),Co.stereoLetter,"ellipse;fillColor="+Co.stereoColor+";strokeColor=#181818;strokeWidth=1;fontSize=12;fontColor=#000000;align=center;verticalAlign=middle;",pn+7,mn+7,22,22,"1"));continue}var me=Ir("pl");At[z]=me,ht[z]=pn,Vt[z]=mn,qe[me]={x:pn,w:ur[z]},Pn[z]=mn+Sr[z],l+=s(me,"",Fr("shape=umlLifeline;perimeter=lifelinePerimeter;participant=none;size="+Sr[z]+";lifelineMirror=1;dashPattern=5 5;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;fillColor=none;strokeColor=#181818;strokeWidth=0.5;",["lifeLine"],null,"edge"),pn,mn,ur[z],hn,"1")}for(In=0;In<ln.length;In++){var ie=ln[In];if(!(ie.kind!=="group"||ie.hidden)){var pe,ke;ie.min<=ie.max?(pe=Oe[ie.min]-ur[ie.min]/2-10,ke=Oe[ie.max]+ur[ie.max]/2+10):(pe=x+5,ke=qo-x-5),pe<1&&(pe=1);for(var Re=0;Re<ln.length;Re++){var $o=ln[Re];if($o.kind==="self"&&$o.label&&$o.outY>=ie.top&&$o.backY<=ie.bottom){var Jo=Nt($o.idx)+7+Gr($o.label,13,!1)+6+10;Jo>ke&&(ke=Jo)}}var Wt=ie.groupKind==="group"&&(ie.label||ie.cond),at=Wt?ie.label:ie.groupKind||"",Nn=Wt?ie.cond||"":ie.label,ia=Math.max(55,Gr(at,13,!0)+45),sa=Nn?Gr("["+Nn+"]",11,!0):0;ke<pe+ia+sa+30&&(ke=pe+ia+sa+30);var ka=H(ce,de(["group"]),[],"vertex"),Po=ie.color&&Y(ie.color)?Y(ie.color):ka.fillColor&&ka.fillColor!=="none"?ka.fillColor:null;Po&&(v+=s(Ir("grpbg"),"","rounded=0;fillColor="+Po+";strokeColor=none;",pe,ie.top,ke-pe,ie.bottom-ie.top,"1")),l+=s(Ir("grpframe"),"",Fr("rounded=0;fillColor=none;strokeColor=#000000;strokeWidth="+(fr||1.5)+";",["group"],null,"vertex",Nr),pe,ie.top,ke-pe,ie.bottom-ie.top,"1"),l+=s(Ir("grptab"),at,Fr("rounded=0;fillColor="+(ie.headColor&&Y(ie.headColor)?Y(ie.headColor):"#EEEEEE")+";strokeColor=#000000;strokeWidth=1.5;fontColor=#000000;fontSize=13;fontStyle=1;align=left;spacingLeft=10;verticalAlign=middle;html=1;",["groupHeader"],null,"vertex",ie.headColor?Nr:null),pe,ie.top,ia,19.7,"1"),Nn&&(l+=s(Ir("grpcond"),"["+Nn+"]","text;html=1;fontColor=#000000;fontSize=11;fontStyle=1;align=left;verticalAlign=middle;",pe+ia+10,ie.top+3,sa+8,15,"1"));for(var Ct=0;Ct<ie.elses.length;Ct++){var bt=ie.elses[Ct];l+=G(Ir("grpelse"),"",Fr("endArrow=none;html=1;strokeColor=#000000;strokeWidth=1;dashed=1;dashPattern=2 2;",["group"],null,"edge",["strokeWidth","dashed","dashPattern","fixDash"]),pe,bt.y,ke,bt.y,"1"),bt.label&&(l+=s(Ir("grpelselbl"),"["+bt.label+"]","text;html=1;fontColor=#000000;fontSize=11;fontStyle=1;align=left;verticalAlign=middle;",pe+5,bt.y+2,Gr("["+bt.label+"]",11,!0)+8,15,"1"))}}}for(In=0;In<ln.length;In++){var Vr=ln[In],to=Vr.el;switch(Vr.kind){case"msg":{var Xt=to.short?Math.ceil(Gr(Vr.label||"",13,!1))+22:0,ha=to.tailDecor==="circle",Wr=to.headDecor==="circle"||to.arrowHead==="circle",ro=Vr.fromEdge?to.short?Nt(Vr.toIdx)+(Vr.fromEdge==="left"?-1:1)*(Xt+(ha?Fo:0)):Vr.fromEdge==="left"?ha?7.5:0:qo-7:Nt(Vr.fromIdx),te=Vr.toEdge?to.short?Nt(Vr.fromIdx)+(Vr.toEdge==="left"?-1:1)*(Xt+(Wr?T:0)):Vr.toEdge==="left"?Wr?7.5:0:qo-7:Nt(Vr.toIdx),ue=te>=ro?1:-1,zo=ro+(Vr.fromIdx!=null?ue*ot(Vr.fromIdx,Vr.lineY):0),nn=te-(Vr.toIdx!=null?ue*ot(Vr.toIdx,Vr.lineY):0);Vr.createIdx!=null&&Vr.toIdx===Vr.createIdx&&(nn=te-ue*(ur[Vr.toIdx]/2+2));var Fa=zo,Kn=nn;Wr?(nn=te-ue*T,Kn=te):to.arrowHead==="lost"&&(nn=te-ue*6,Kn=te),to.tailDecor==="lost"&&(zo=ro+ue*6,Fa=ro);var bn=D(to.arrowHead)+"html=1;rounded=0;edgeStyle=none;curved=0;strokeColor="+(Y(to.color)||wr||"#181818")+";strokeWidth="+(yr||1)+";fontColor=#000000;fontSize=13;verticalAlign=bottom;labelBackgroundColor=none;";to.lineStyle==="dashed"?bn+="dashed=1;dashPattern=2 2;":to.lineStyle==="dotted"&&(bn+="dashed=1;dashPattern=1 3;"),to.tailDecor==="lost"?bn+="startArrow=cross;startSize=12;":ha&&(bn+="startArrow=oval;startFill=1;startSize="+k+";"),bn=Fr(bn,["arrow"],null,"edge",to.color?["strokeColor"]:null);var Ve=0;if(Vr.label&&nn!==zo&&Ar!=="center"){var Yo=Math.min(Fa,Kn),st=Gr(Vr.label,13,!1),Ca=Ar==="right"?Math.max(Fa,Kn)-7-st/2:Yo+(ue>0?7:17)+st/2;(Ca>Math.max(zo,nn)-4||Ca-st/2<Yo+4)&&(Ca=(zo+nn)/2),Ve=2*(Ca-zo)/(nn-zo)-1}var Mt=Vr.fromEdge?null:Ae(Vr.fromIdx,Vr.lineY),Ra=Vr.toEdge||Vr.createIdx!=null&&Vr.toIdx===Vr.createIdx||Wr||to.arrowHead==="lost"?null:Ae(Vr.toIdx,Vr.lineY),Xn=Ir("msg");l+=To(Xn,Vr.label,bn,zo,Vr.lineY,nn,Vr.lineY,Ve,Mt,Ra,Vr.labelHtml),Wr&&(l+=ne(Ir("tipdot"),Xn,Y(to.color)||wr||"#181818",ue*T-5,-5));break}case"self":{var _a=Nt(Vr.idx)+ot(Vr.idx,Vr.outY),Ka=38,yn=Y(to.color)||wr||"#181818",ua="html=1;strokeColor="+yn+";strokeWidth="+(yr||1)+";";if(to.lineStyle==="dashed"&&(ua+="dashed=1;dashPattern=2 2;"),ua=Fr(ua,["arrow"],null,"edge",to.color?["strokeColor"]:null),l+=G(Ir("msg"),"","endArrow=none;"+ua,_a,Vr.outY,_a+Ka,Vr.outY,"1"),l+=G(Ir("msg"),"","endArrow=none;"+ua,_a+Ka,Vr.outY,_a+Ka,Vr.backY,"1"),l+=G(Ir("msg"),"",D(to.arrowHead)+ua,_a+Ka,Vr.backY,_a+3,Vr.backY,"1"),Vr.label){var Ya=$e(Vr.label),fa=Ya*Or+3,xt="text;html=1;fontColor=#000000;fontSize=13;align=left;verticalAlign=middle;",Ja=Gr(Vr.label,13,!1)+6;l+=Vr.labelHtml!=null?K(Ir("msglbl"),Vr.labelHtml,xt,Nt(Vr.idx)+7,Vr.outY-fa-2,Ja,fa,"1"):s(Ir("msglbl"),Vr.label,xt,Nt(Vr.idx)+7,Vr.outY-fa-2,Ja,fa,"1")}break}case"note":case"noteAttached":{var uo=Ye(to.text,to.shape),Jn,Sa=to.over&&to.over.length>0?J(to.over[0],0):null;if(to.position==="across"&&A>0){var da=Nt(0),ma=Nt(A-1);uo<ma-da+50&&(uo=ma-da+50),Jn=(da+ma)/2-uo/2}else if(to.position==="left"||to.position==="top"||to.position==="bottom"){var Ha=Sa??(Vr.anchorLo!=null?Vr.anchorLo:0);Jn=Nt(Ha)-4-uo}else if(to.position==="right"){var Sl=Sa??(Vr.anchorHi!=null?Vr.anchorHi:0);Jn=Nt(Sl)+5}else if(to.over&&to.over.length>1){var $l=Nt(J(to.over[0],0)),ml=Nt(J(to.over[to.over.length-1],0));if(ml<$l){var Pl=$l;$l=ml,ml=Pl}uo<ml-$l+40&&(uo=ml-$l+40),Jn=($l+ml)/2-uo/2}else Jn=Nt(Sa??0)-uo/2;var Yl=Y(to.color)||(r.monochrome?"#E3E3E3":"#FEFFDD"),ri;to.shape==="box"?ri="rounded=0;fillColor="+Yl+";strokeColor=#181818;strokeWidth=0.5;":to.shape==="hexagon"?ri="shape=hexagon;size=10;fixedSize=1;fillColor="+Yl+";strokeColor=#181818;strokeWidth=0.5;":ri="shape=note;size=10;fillColor="+Yl+";strokeColor=#181818;strokeWidth=0.5;",ri+="fontColor=#000000;fontSize=13;align=left;spacingLeft=4;spacing=2;verticalAlign=middle;whiteSpace=wrap;html=1;",ri=Fr(ri,["note",to.shape==="hexagon"?"hnote":to.shape==="box"?"rnote":"note"],null,"vertex",to.color?Nr:null),Z+=s(Ir("note"),to.text||"",ri,Jn,Vr.top,uo,Vr.h,"1");break}case"divider":{var wi=H(ce,de(["separator"]),[],"vertex"),mi="endArrow=none;html=1;strokeColor="+(wi.fillColor&&wi.fillColor!=="none"?wi.fillColor:X)+";strokeWidth=1;";Z+=G(Ir("divbar"),"",mi,0,Vr.barY,qo,Vr.barY,"1"),Z+=G(Ir("divbar"),"",mi,0,Vr.barY+3,qo,Vr.barY+3,"1");var Cl=to.label||"",ll=Gr(Cl,13,!0)+18.28;Z+=s(Ir("div"),Cl,Fr("rounded=0;fillColor="+er+";strokeColor="+X+";strokeWidth=2;fontColor="+V+";fontSize=13;fontStyle=1;align=center;verticalAlign=middle;html=1;",["separator"]),(qo-ll)/2,Vr.barY-12.9,ll,25.7,"1");break}case"delay":{for(z=0;z<A;z++){var yi=jo[z]>=0?Y(Qt[jo[z]].color)||"#DDDDDD":Y(b.backgroundcolor)||"#FFFFFF";l+=s(Ir("dlmask"),"","rounded=0;strokeColor=none;fillColor="+yi+";",Nt(z)-4,Vr.top,8,Vr.h,"1"),l+=G(Ir("dllife"),"","endArrow=none;html=1;strokeColor=#181818;strokeWidth=0.5;dashed=1;dashPattern=1 4;",Nt(z),Vr.top,Nt(z),Vr.top+Vr.h,"1")}if(to.label){var rs=A>0?(Nt(0)+Nt(A-1))/2:qo/2,Xl=Math.max(40,Math.ceil(Gr(to.label,11,!1))+10),ql=13*Vr.lines+4;l+=s(Ir("delay"),to.label,Fr("text;html=1;fontColor=#000000;fontSize=11;align=center;verticalAlign=middle;",["delay"],null,"text"),Math.round(rs-Xl/2),Math.round(Vr.top+Vr.h/2-ql/2),Xl,ql,"1")}break}case"ref":{var hi=0,ei=A>0?A-1:0;if(to.over&&to.over.length>0&&(hi=J(to.over[0],0),ei=J(to.over[to.over.length-1],hi),ei<hi)){var Pi=hi;hi=ei,ei=Pi}var pa=Nt(hi)-25,kn=Nt(ei)+25-pa,Na=Gr(to.label||"",12,!1);kn<Na+47&&(kn=Na+47),l+=s(Ir("refframe"),"",Fr("rounded=0;fillColor=none;strokeColor=#000000;strokeWidth=1.5;",["reference"]),pa,Vr.top,kn,Vr.h,"1"),l+=s(Ir("reftab"),"ref",Fr("rounded=0;fillColor=#EEEEEE;strokeColor=#000000;strokeWidth=2;fontColor=#000000;fontSize=13;fontStyle=1;align=left;spacingLeft=10;verticalAlign=middle;html=1;",["referenceHeader"]),pa,Vr.top,63,19,"1"),l+=s(Ir("reflbl"),to.label||"",Fr("text;html=1;fontColor=#000000;fontSize=12;align=center;verticalAlign=middle;",["reference"],null,"text"),pa,Vr.top+21,kn,Vr.h-23,"1");break}case"destroy":{var ol=Nt(J(to.participant,0));l+=G(Ir("destx1"),"","endArrow=none;html=1;strokeColor=#A80036;strokeWidth=2;",ol-9,Vr.y-9,ol+9,Vr.y+9,"1"),l+=G(Ir("destx2"),"","endArrow=none;html=1;strokeColor=#A80036;strokeWidth=2;",ol-9,Vr.y+9,ol+9,Vr.y-9,"1");break}default:break}}for(z=0;z<A;z++)for(var il=ct[e[z].id],tl=0;tl<il.length;tl++){var ba=il[tl],dl=ba.end!=null?ba.end:Jt,Ml=Y(ba.color)||tr,Bl=Y(ba.lineColor)||"#181818",Ei=ba.lineColor?Nr.concat(["strokeColor"]):ba.color?Nr:null;l+=s(ba.cellId||Ir("act"),"",Fr("rounded=0;fillColor="+Ml+";strokeColor="+Bl+";strokeWidth=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;portConstraint=eastwest;",["activationBox"],null,"vertex",Ei),Nt(z)-5+ba.depth*5,ba.start,10,Math.max(6,dl-ba.start),"1")}for(l+=Z,l=v+l,z=0;z<A;z++){var ta=e[z],ii=Oe[z]-ur[z]/2,Yi=Ho[z]!=null?Ho[z]:_r-Sr[z],Tl=ta.name,oi=null;ta.stereotype&&!jr?oi="<i>\xAB"+R(ta.stereotype)+"\xBB</i><br>"+R(ta.name):ta.bodyLines&&ta.bodyLines.length>0&&(oi=eo(ta.bodyLines));for(var xl=[Yi,Jt],nl=0;nl<xl.length;nl++){if(Er[z]===0&&ta.kind!=="collections"){nl===1&&ta.stereoLetter&&ta.stereoColor&&(l+=s(Ir("psf"),ta.stereoLetter,"ellipse;fillColor="+ta.stereoColor+";strokeColor=#181818;strokeWidth=1;fontSize=12;fontColor=#000000;align=center;verticalAlign=middle;",ii+7,xl[nl]+7,22,22,"1"));continue}var Gl=At[z],Zl=ht[z],Ci=Vt[z],As=Fr(Hr(ta,r.monochrome,nl===1),[ta.kind||"participant"],ta.stereotype?[ta.stereotype]:[],"vertex",ta.colorInline?Nr:null)+"part=1;";if(Er[z]>0){var za=nl===0?xl[nl]:xl[nl]+(Sr[z]-qr[z]);l+=s(Ir(nl===0?"p":"pf"),Tl,As,Oe[z]-Er[z]/2-Zl,za-Ci,Er[z],qr[z],Gl);continue}ta.kind==="collections"&&(l+=s(Ir(nl===0?"pc":"pcf"),"","rounded=0;fillColor="+(Y(ta.color)||(r.monochrome?"#E3E3E3":"#E2E2F0"))+";strokeColor=#181818;strokeWidth=0.5;part=1;",ii+4-Zl,xl[nl]-4-Ci,ur[z],Sr[z],Gl)),oi!=null?l+=K(Ir(nl===0?"p":"pf"),oi,As+(ta.stereoLetter?"spacingLeft=24;":""),ii-Zl,xl[nl]-Ci,ur[z],Sr[z],Gl):l+=s(Ir(nl===0?"p":"pf"),Tl,As,ii-Zl,xl[nl]-Ci,ur[z],Sr[z],Gl),ta.stereoLetter&&ta.stereoColor&&(l+=s(Ir(nl===0?"ps":"psf"),ta.stereoLetter,"ellipse;fillColor="+ta.stereoColor+";strokeColor=#181818;strokeWidth=1;fontSize=12;fontColor=#000000;align=center;verticalAlign=middle;part=1;",ii+7-Zl,xl[nl]+7-Ci,22,22,Gl))}}var vl=Jt;if(r.legend&&r.legend.lines&&r.legend.lines.length){for(var Va=We(r.legend.lines),Ol=0,Fl=0;Fl<A;Fl++)Sr[Fl]>Ol&&(Ol=Sr[Fl]);var cl=Jt+Ol+14,al=x+Oo,ki=r.legend.position==="left"?al:r.legend.position==="right"?Math.max(al,qo-x-Va.w):Math.max(al,(qo-Va.w)/2);l+=Tt(Va,ki,cl,Ir),vl=cl+Va.h}if(r.title){var Ln=Gr(r.title,14,!0)+10;l+=s(Ir("title"),r.title,Fr("text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",["document","title"],null,"text"),(qo-Ln)/2,-34,Ln,24,"1")}if(r.header){var Mi=Gr(r.header,11,!1)+8;l+=s(Ir("header"),r.header,Fr("text;html=1;fillColor=none;strokeColor=none;fontSize=11;fontColor=#888888;align=right;verticalAlign=middle;",["document","header"],null,"text"),qo-x-Mi,r.title?-56:-34,Mi,18,"1")}if(r.caption||r.footer){for(var vi=0,Di=0;Di<A;Di++)Sr[Di]>vi&&(vi=Sr[Di]);var Wi=Math.max(Jt+vi+8,vl+6);if(r.caption){var si=Gr(r.caption,14,!1)+10;l+=s(Ir("caption"),r.caption,Fr("text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontColor=#000000;align=center;verticalAlign=middle;",["document","caption"],null,"text"),(qo-si)/2,Wi,si,22,"1"),Wi+=26}if(r.footer){var Il=Gr(r.footer,11,!1)+8;l+=s(Ir("footer"),r.footer,Fr("text;html=1;fillColor=none;strokeColor=none;fontSize=11;fontColor=#888888;align=center;verticalAlign=middle;",["document","footer"],null,"text"),(qo-Il)/2,Wi,Il,18,"1")}}return l}var Ga=120,$n=40,zn=60,Dn=60,xe=30,i=20,c=24,F=80,y=6,sr=30,kr=28,be=16,dr=20,Mo=26,io=35,go=50,gn=45,On=46;function co(r){switch(r.kind){case"initial":return"ellipse;fillColor=#222222;strokeColor=#222222;";case"final":return"shape=endState;fillColor=#222222;strokeColor=#222222;";case"fork":case"join":return"shape=rectangle;fillColor=#555555;strokeColor=#555555;";case"choice":return"rhombus;fillColor=#F1F1F1;strokeColor=#181818;";case"start":return"ellipse;fillColor=#222222;strokeColor=#222222;";case"end":return"shape=endState;fillColor=#222222;strokeColor=#222222;";case"history_shallow":return"ellipse;fillColor=#F1F1F1;strokeColor=#181818;fontStyle=1;fontSize=14;";case"history_deep":return"ellipse;fillColor=#F1F1F1;strokeColor=#181818;fontStyle=1;fontSize=14;";case"entrypoint":return"ellipse;fillColor=#FFFFFF;strokeColor=#181818;strokeWidth=1.5;verticalLabelPosition=top;verticalAlign=bottom;fontSize=12;";case"exitpoint":return"shape=mxgraph.flowchart.summing_function;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=1;verticalLabelPosition=bottom;verticalAlign=top;fontSize=12;";default:var a=Y(r.color)||"#F1F1F1";return"rounded=1;absoluteArcSize=1;arcSize=25;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;align=center;"}}function Gn(r){switch(r.kind){case"initial":case"start":return{w:i,h:i};case"final":case"end":return{w:c,h:c};case"fork":case"join":return{w:F,h:y};case"choice":return{w:sr,h:sr};case"history_shallow":case"history_deep":return{w:kr,h:kr};case"entrypoint":return{w:i,h:i};case"exitpoint":return{w:c,h:c};default:{var a=go,e=is(r.name,14,!1);if(r.description&&r.description.length>0){a=Mo+r.description.length*be+14;for(var h=0;h<r.description.length;h++){var l=is(r.description[h],14,!1);l>e&&(e=l)}}var C=Math.max(50,Math.ceil(e+20));if(r.children&&r.children.length>0){var b=lo(r);C=Math.max(C,b.w),a=b.h}return{w:C,h:a}}}}function lo(r){var a=dr,e=Mo,h=r.description?r.description.length:0,l=h>0?h*be+8:0,C=h>0?r.description.join(`
149
+ `):"",b=r.regions&&r.regions.length>0?r.regions:[{states:r.children||[]}],Z=[],v=[],er=Math.ceil(is(r.name,14,!1))+24,X,V,tr;if(r.regionSep==="|"&&b.length>1){var wr=a,yr=e+a+l;for(X=0;X<b.length;X++){var fr=b[X].states||[],Ar=0,jr=e+a+l;for(V=0;V<fr.length;V++){var ce=Gn(fr[V]);ce.w>Ar&&(Ar=ce.w)}for(V=0;V<fr.length;V++)tr=Gn(fr[V]),Z.push({state:fr[V],x:wr+(Ar-tr.w)/2,y:jr,w:tr.w,h:tr.h}),jr+=tr.h,V<fr.length-1&&(jr+=gn);jr>yr&&(yr=jr),wr+=Ar,X<b.length-1&&(v.push(wr+On/2),wr+=On)}return{w:Math.max(wr+a,er),h:yr+a,placements:Z,seps:v,sepDir:"v",descH:l,descText:C}}var Nr=0,de=e+a+l,Fr=[],Ir=[],qe=!1;for(X=0;X<b.length;X++){var To=b[X].states||[],ne=[];for(V=0;V<To.length;V++){var po=To[V].kind;po==="history_shallow"||po==="history_deep"?(Fr.push(To[V]),qe=!0):po==="entrypoint"||po==="exitpoint"?(tr=Gn(To[V]),Z.push({state:To[V],x:0,y:0,w:tr.w,h:tr.h,pinned:!0})):ne.push(To[V])}Ir.push(ne)}if(qe){for(X=0;X<Ir.length;X++)for(V=0;V<Ir[X].length;V++)if(Ir[X][V].kind==="initial"){Fr.unshift(Ir[X].splice(V,1)[0]);break}}var ao=0;if(Fr.length>0){var A=0,J=a;for(V=0;V<Fr.length;V++)tr=Gn(Fr[V]),tr.h>A&&(A=tr.h);for(V=0;V<Fr.length;V++)tr=Gn(Fr[V]),Z.push({state:Fr[V],x:J,y:e+16+l+(A-tr.h)/2,w:tr.w,h:tr.h,pinned:!0}),J+=tr.w+34;ao=J-34,de=e+16+l+A+gn+16}for(X=0;X<Ir.length;X++){var ur=Ir[X];for(V=0;V<ur.length;V++){var Sr=Gn(ur[V]);Sr.w>Nr&&(Nr=Sr.w)}for(V=0;V<ur.length;V++)tr=Gn(ur[V]),Z.push({state:ur[V],x:0,y:de,w:tr.w,h:tr.h}),de+=tr.h,V<ur.length-1&&(de+=gn);X<Ir.length-1&&(v.push(de+On/2),de+=On)}for(var Er=Math.max(Nr+a*2,ao+a*2,er),qr=de+a,z=0;z<Z.length;z++)Z[z].pinned||(Z[z].x=(Er-Z[z].w)/2);return{w:Er,h:qr,placements:Z,seps:v,sepDir:"h",descH:l,descText:C}}function It(r){switch(r.kind){case"initial":case"start":case"final":case"end":case"fork":case"join":return"";case"history_shallow":return"H";case"history_deep":return"H*";case"choice":return"";case"entrypoint":case"exitpoint":return r.name;default:return r.name}}function Un(r,a){var e=r.states,h=r.transitions,l=r.notes,C="",b=0,Z=r.styleSheet||null;function v(Ve,Yo,st,Ca,Mt){return W(Ve,Z,["root","element","stateDiagram"].concat(Yo),st||[],Ca||"vertex",Mt)}function er(Ve){return Ve.stereotype?[Ve.stereotype]:[]}function X(Ve,Yo){if(Ve.kind==="initial"||Ve.kind==="start"||Ve.kind==="final"||Ve.kind==="end")return v(Yo,["circle"],er(Ve));if(Ve.kind!=="state")return Yo;var st=H(Z,["root","element","stateDiagram","state"],er(Ve),"vertex");return Ve.color?(delete st.fillColor,delete st.gradientColor):st.fillColor!=null&&/swimlaneFillColor=/.test(Yo)&&!/swimlaneFillColor=#FFFFFF;/.test(Yo)&&(st.swimlaneFillColor=st.fillColor),M(Yo,st)}function V(Ve){return Ve+"_"+b++}var tr={};function wr(Ve){for(var Yo=Ve?String(Ve).split(`
150
+ `):[""],st=0,Ca=0;Ca<Yo.length;Ca++){var Mt=Vl(Yo[Ca])*.9285714285714286;Mt>st&&(st=Mt)}return{w:Math.max(30,Math.round(st+21)),h:Math.round(Yo.length*15.3+10)}}for(var yr={},fr=0;fr<e.length;fr++)yr[e[fr].id]=!0;for(var Ar={},jr={},fr=0;fr<e.length;fr++)Ar[e[fr].id]=[],jr[e[fr].id]=0;var ce={};(function Ve(Yo,st){for(var Ca=0;Ca<Yo.length;Ca++){var Mt=Yo[Ca],Ra=st||Mt.id;if(st&&(ce[Mt.id]=st),Mt.children&&Ve(Mt.children,Ra),Mt.regions)for(var Xn=0;Xn<Mt.regions.length;Xn++)Ve(Mt.regions[Xn].children||[],Ra)}})(e,null);for(var Nr=0;Nr<h.length;Nr++){var de=h[Nr],Fr=yr[de.from]?de.from:ce[de.from],Ir=yr[de.to]?de.to:ce[de.to];if(!(!Fr||!Ir||!yr[Fr]||!yr[Ir]||Fr===Ir)&&!(de.direction==="left"||de.direction==="right")){if(de.direction==="up"){Ar[Ir].push(Fr),jr[Fr]++;continue}Ar[Fr].push(Ir),jr[Ir]++}}var qe="",To={},ne;for(ne=0;ne<e.length;ne++)for(var po=e[ne].id,ao=Ar[po]||[],A=0;A<ao.length;A++){var J=po+qe+ao[A];To[J]=(To[J]||0)+1}var ur={},Sr={};for(ne=0;ne<e.length;ne++)ur[e[ne].id]=[],Sr[e[ne].id]=0;for(ne=0;ne<e.length;ne++)for(var Er=e[ne].id,qr=Ar[Er]||[],z=0;z<qr.length;z++){var Mr=qr[z],Be=To[Er+qe+Mr]||0,ye=To[Mr+qe+Er]||0;ye>Be||(ur[Er].push(Mr),Sr[Mr]++)}Ar=ur,jr=Sr;for(var Le={},_e={},Ur="",yo=0;yo<e.length;yo++)_e[e[yo].id]=0;function fo(Ve){var Yo=[{node:Ve,idx:0}];for(_e[Ve]=1;Yo.length>0;){var st=Yo[Yo.length-1],Ca=Ar[st.node]||[];if(st.idx<Ca.length){var Mt=Ca[st.idx++];_e[Mt]===1?Le[st.node+Ur+Mt]=!0:_e[Mt]===0&&(_e[Mt]=1,Yo.push({node:Mt,idx:0}))}else _e[st.node]=2,Yo.pop()}}for(var he=0;he<e.length;he++)jr[e[he].id]===0&&_e[e[he].id]===0&&fo(e[he].id);for(var he=0;he<e.length;he++)_e[e[he].id]===0&&fo(e[he].id);for(var Te={},ae=0;ae<e.length;ae++)Te[e[ae].id]=0;for(var it=0;it<e.length;it++)for(var Gt=e[it].id,oo=Ar[Gt]||[],pt=0;pt<oo.length;pt++)Le[Gt+Ur+oo[pt]]||Te[oo[pt]]++;for(var rt={},jo=[],Qt=0;Qt<e.length;Qt++)rt[e[Qt].id]=0,Te[e[Qt].id]===0&&jo.push(e[Qt].id);for(var Me=e.length*e.length+16;jo.length>0&&Me-- >0;)for(var Io=jo.shift(),Wo=Ar[Io]||[],Ro=0;Ro<Wo.length;Ro++){var An=Wo[Ro];Le[Io+Ur+An]||(rt[An]<rt[Io]+1&&(rt[An]=rt[Io]+1),--Te[An]===0&&jo.push(An))}for(var dn={},rn=[],fr=0;fr<e.length;fr++){var Ao=rt[e[fr].id];dn[Ao]||(dn[Ao]=[],rn.push(Ao)),dn[Ao].push(e[fr])}rn.sort(function(Ve,Yo){return Ve-Yo});for(var _t=0;_t<h.length;_t++){var ft=h[_t];if(!(ft.direction!=="left"&&ft.direction!=="right")&&!(rt[ft.from]===void 0||rt[ft.from]!==rt[ft.to])){for(var Se=dn[rt[ft.from]],Go=-1,wt=-1,cn=0;cn<Se.length;cn++)Se[cn].id===ft.from&&(Go=cn),Se[cn].id===ft.to&&(wt=cn);if(!(Go<0||wt<0)){if(ft.direction==="left"&&wt>Go){var No=Se.splice(wt,1)[0];Se.splice(Go,0,No)}else if(ft.direction==="right"&&wt<Go){var oe=Se.splice(wt,1)[0];Se.splice(Go,0,oe)}}}}for(var Uo={},Ot=0;Ot<e.length;Ot++){var ho=e[Ot],dt=Gn(ho),Aa={w:dt.w,h:dt.h};ho.children&&ho.children.length>0&&(Aa.layout=lo(ho)),Uo[ho.id]=Aa}for(var Sn=r.direction==="LR",an=0,we=0;we<l.length;we++)if(l[we].position!=="right"){var Eo=wr(l[we].text);Eo.w+io>an&&(an=Eo.w+io)}for(var Et=[],Cr=[],Lr=0,He=0,Ie=0;Ie<rn.length;Ie++){for(var Oe=dn[rn[Ie]],so=0,Xo=0,qo=0;qo<Oe.length;qo++)so+=Uo[Oe[qo].id].w,Xo+=Uo[Oe[qo].id].h;so+=(Oe.length-1)*zn,Xo+=(Oe.length-1)*Dn,Et[Ie]=so,Cr[Ie]=Xo,so>Lr&&(Lr=so),Xo>He&&(He=Xo)}var Yn=[],Nt=!1;if(Sn)for(var Da=0;Da<e.length;Da++){var je=e[Da].kind;(je==="initial"||je==="start")&&(Nt=!0)}for(var _r=Nt?i+Dn:0,Ho=xe,Ce=xe+an,ln=0;ln<rn.length;ln++){for(var nt=dn[rn[ln]],wo=0,xn=0,Lt=0;Lt<nt.length;Lt++)Uo[nt[Lt].id].h>wo&&(wo=Uo[nt[Lt].id].h),Uo[nt[Lt].id].w>xn&&(xn=Uo[nt[Lt].id].w);if(Sn){for(var Ft=[],Lt=0;Lt<nt.length;Lt++){var fe=nt[Lt].kind;fe==="initial"||fe==="start"||fe==="final"||fe==="end"?Yn.push(nt[Lt]):Ft.push(nt[Lt])}if(Ft.length>0){for(var ge=0,qt=0,et=0;et<Ft.length;et++)Uo[Ft[et].id].w>ge&&(ge=Uo[Ft[et].id].w),qt+=Uo[Ft[et].id].h;qt+=(Ft.length-1)*Dn;for(var en=xe+_r+(He-qt)/2,et=0;et<Ft.length;et++){var Zt=Uo[Ft[et].id];Zt.x=Ce+(ge-Zt.w)/2,Zt.y=en,en+=Zt.h+Dn}Ce+=ge+zn}}else{for(var qn=xe+an+(Lr-Et[ln])/2,Lt=0;Lt<nt.length;Lt++){var Ko=nt[Lt],Zt=Uo[Ko.id];Uo[Ko.id].x=qn,Uo[Ko.id].y=Ho+(wo-Zt.h)/2,qn+=Zt.w+zn}Ho+=wo+Dn}}for(var Hn=0;Hn<Yn.length;Hn++){var aa=Yn[Hn],Je=Uo[aa.id];if(aa.kind==="initial"||aa.kind==="start"){for(var sn=null,Bn=0;Bn<h.length;Bn++)if(h[Bn].from===aa.id&&Uo[h[Bn].to]){sn=Uo[h[Bn].to];break}sn&&sn.x!=null&&(Je.x=sn.x+(sn.w-Je.w)/2,Je.y=sn.y-Dn-Je.h)}else{for(var $t=0,mo=0,Pt=-1e9,Bn=0;Bn<h.length;Bn++)if(h[Bn].to===aa.id&&Uo[h[Bn].from]&&Uo[h[Bn].from].x!=null){var ra=Uo[h[Bn].from];$t+=ra.x+ra.w/2,mo++,ra.y+ra.h>Pt&&(Pt=ra.y+ra.h)}mo>0&&(Je.x=$t/mo-Je.w/2,Je.y=Pt+Dn)}Je.x==null&&(Je.x=xe+an,Je.y=xe)}if(!Sn){for(var Ut={},Wn=0;Wn<e.length;Wn++){var yt=rt[e[Wn].id];Ut[yt]=(Ut[yt]||0)+1}for(var Zn={},on=0;on<h.length;on++){var va=h[on].from,ga=h[on].to;va!==ga&&(Zn[va]||(Zn[va]=[]),Zn[va].indexOf(ga)<0&&Zn[va].push(ga))}for(var jn=0;jn<e.length;jn++){var Fn=e[jn];if(!(Fn.kind!=="choice"&&Fn.kind!=="fork")){var Mn=Zn[Fn.id]||[];if(!(Mn.length<2))for(var la=130,Tn=0;Tn<Mn.length;Tn++){var gt=Mn[Tn];Ut[rt[gt]]===1&&(!Uo[gt]||Uo[gt].x==null||(Uo[gt].x+=((Mn.length-1)/2-Tn)*la))}}}}function Rt(Ve){var Yo={fill:null,line:null,text:null,dashed:!1,bold:!1};if(!Ve)return Yo;for(var st=String(Ve).split(";"),Ca=0;Ca<st.length;Ca++){var Mt=st[Ca].replace(/^\s+|\s+$/g,""),Ra=Mt.match(/^(line|text|back|header)\s*:\s*#?([\w-]+)$/i);if(Ra){var Xn=Y("#"+Ra[2]);if(Xn){var _a=Ra[1].toLowerCase();_a==="line"?Yo.line=Xn:_a==="text"?Yo.text=Xn:Yo.fill=Xn}}else/^line\.(dashed|dotted)$/i.test(Mt)?Yo.dashed=!0:/^line\.bold$/i.test(Mt)?Yo.bold=!0:Mt&&(Yo.fill=Y(Mt.charAt(0)==="#"?Mt:"#"+Mt)||Yo.fill)}return Yo}function Jt(Ve){return"strokeColor="+(Ve.line||"#181818")+";strokeWidth="+(Ve.bold?1.5:.5)+";"+(Ve.text?"fontColor="+Ve.text+";":"")+(Ve.dashed?"dashed=1;":"")}function ct(Ve){var Yo=Rt(Ve.color);return"swimlane;collapsible=0;startSize="+Mo+";whiteSpace=wrap;align=center;html=1;fontSize=14;fontStyle=0;rounded=1;absoluteArcSize=1;arcSize=25;fillColor="+(Yo.fill||"#F1F1F1")+";swimlaneFillColor="+(Yo.fill||"#F1F1F1")+";"+Jt(Yo)}function wn(Ve){var Yo=Rt(Ve.color);return"swimlane;collapsible=0;startSize="+Mo+";fillColor="+(Yo.fill||"#F1F1F1")+";swimlaneFillColor=#FFFFFF;"+Jt(Yo)+"rounded=1;absoluteArcSize=1;arcSize=25;whiteSpace=wrap;align=center;html=1;fontSize=14;fontStyle=0;"}function In(Ve,Yo,st,Ca,Mt,Ra){var Xn=Ve.placements;Ve.descH>0&&(C+=s(V("sdesc"),Ve.descText,"text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#000000;spacingLeft=4;spacingTop=2;",dr/2,Mo+2,Mt-dr,Ve.descH-4,Yo));for(var _a=[],Ka=[],yn=[],ua=0;ua<Xn.length;ua++){var Ya=Xn[ua].state.kind;Ya==="history_shallow"||Ya==="history_deep"?_a.push(Xn[ua]):Ya==="entrypoint"?Ka.push(Xn[ua]):Ya==="exitpoint"&&yn.push(Xn[ua])}for(var fa=0;fa<Ka.length;fa++)Ka[fa].x=Mt*(fa+1)/(Ka.length+1)-Ka[fa].w/2,Ka[fa].y=-Ka[fa].h/2;for(var xt=0;xt<yn.length;xt++)yn[xt].x=Mt*(xt+1)/(yn.length+1)-yn[xt].w/2,yn[xt].y=Ra-yn[xt].h/2;for(var Ja=0;Ja<Xn.length;Ja++){var uo=Xn[Ja],Jn=uo.state,Sa=V("sc"),da=Jn.children&&Jn.children.length>0,ma,Ha;da?(ma=Jn.name,Ha=X(Jn,wn(Jn))):Jn.kind==="state"?(ma=Jn.name,Ha=X(Jn,ct(Jn))):(ma=It(Jn),Ha=X(Jn,co(Jn))),C+=s(Sa,ma,Ha,uo.x,uo.y,uo.w,uo.h,Yo),tr[Jn.id]={x:st+uo.x,y:Ca+uo.y,w:uo.w,h:uo.h,cellId:Sa},da&&In(lo(Jn),Sa,st+uo.x,Ca+uo.y,uo.w,uo.h)}for(var Sl=Ve.seps||[],$l=0;$l<Sl.length;$l++){var ml="strokeColor=#181818;strokeWidth=1;dashed=1;dashPattern=6 6;endArrow=none;";Ve.sepDir==="v"?C+=G(V("sconc"),"",ml,st+Sl[$l],Ca+Mo,st+Sl[$l],Ca+Ra-2,"1"):C+=G(V("sconc"),"",ml,st+2,Ca+Sl[$l],st+Mt-2,Ca+Sl[$l],"1")}}for(var Ot=0;Ot<e.length;Ot++){var ho=e[Ot],ko=Uo[ho.id],Do=ko.x+Ot*.1,Rr=ko.y,dt={w:ko.w,h:ko.h},xr=V("s"),br=ho.children&&ho.children.length>0,Br=ho.kind==="state"&&!br&&ho.description&&ho.description.length>0;br?C+=s(xr,ho.name,X(ho,wn(ho)),Do,Rr,dt.w,dt.h,"1"):Br?(C+=s(xr,ho.name,X(ho,ct(ho)),Do,Rr,dt.w,dt.h,"1"),C+=s(V("sdesc"),ho.description.join(`
151
+ `),v("text;align=left;verticalAlign=top;spacingLeft=6;spacingTop=2;whiteSpace=wrap;fillColor=none;strokeColor=none;html=1;fontSize=14;",["state"],er(ho),"text"),0,Mo,dt.w,dt.h-Mo,xr)):ho.kind==="state"?C+=s(xr,ho.name,X(ho,ct(ho)),Do,Rr,dt.w,dt.h,"1"):C+=s(xr,It(ho),X(ho,co(ho)),Do,Rr,dt.w,dt.h,"1"),tr[ho.id]={x:Do,y:Rr,w:dt.w,h:dt.h,cellId:xr},br&&ko.layout&&In(ko.layout,xr,Do,Rr,dt.w,dt.h)}function Pr(Ve,Yo,st,Ca,Mt,Ra,Xn,_a){var Ka=' <mxGeometry relative="1"'+(Ra!=null?' x="'+Ra+'"':"")+' as="geometry"',yn;if(Xn&&Xn.length||_a){if(yn=Ka+`>
152
+ `,Xn&&Xn.length){yn+=` <Array as="points">
153
+ `;for(var ua=0;ua<Xn.length;ua++)yn+=' <mxPoint x="'+Math.round(Xn[ua].x)+'" y="'+Math.round(Xn[ua].y)+`"/>
154
+ `;yn+=` </Array>
155
+ `}_a&&(yn+=' <mxPoint x="'+Math.round(_a.x)+'" y="'+Math.round(_a.y)+`" as="offset"/>
156
+ `),yn+=` </mxGeometry>
157
+ `}else yn=Ka+`/>
158
+ `;return' <mxCell id="'+d(Ve)+'" value="'+R(Yo)+'" style="'+d(st)+'" edge="1" source="'+d(Ca)+'" target="'+d(Mt)+`" parent="1">
159
+ `+yn+` </mxCell>
160
+ `}var Xe="",zr={},Ke=[],De={},ze={};(function Ve(Yo){for(var st=0;st<Yo.length;st++)ze[Yo[st].id]=Yo[st].kind,Yo[st].children&&Ve(Yo[st].children)})(e);for(var So=0;So<h.length;So++)zr[h[So].from+Xe+h[So].to]=!0,De[h[So].from]=(De[h[So].from]||0)+1;for(var ot=0;ot<h.length;ot++){var ve=h[ot],Yt=tr[ve.from],At=tr[ve.to];if(!(!Yt||!At)){var ht="endArrow=block;endFill=1;strokeColor="+(Y(ve.color)||"#181818")+";fontColor=#000000;fontSize=12;html=1;rounded=0;";ve.lineStyle==="dashed"?ht+="dashed=1;":ve.lineStyle==="dotted"&&(ht+="dashed=1;dashPattern=1 3;"),ve.bold&&(ht+="strokeWidth=2;");var Vt=[];ve.color&&Vt.push("strokeColor"),ve.bold&&Vt.push("strokeWidth"),ve.lineStyle&&Vt.push("dashed","dashPattern","fixDash"),ht=j(v(ht,["arrow"],null,"edge",Vt),Z);var Pn=ve.label||"",Ae=null,Fe=null,le=Yt.x+Yt.w/2,Ne=Yt.y+Yt.h/2,Qe=At.x+At.w/2,tn=At.y+At.h/2;Ke[ot]={x:(le+Qe)/2,y:(Ne+tn)/2};var Vo=ve.from!==ve.to&&zr[ve.to+Xe+ve.from];if(ve.from===ve.to)ht+="exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;";else if(Vo){var xo=ve.from<ve.to,Co=xo?.18:.82,mn=Vl(Pn)*12/14;if(Math.abs(tn-Ne)>=Math.abs(Qe-le)){var pn=tn>Ne;ht+="exitX="+Co+";exitY="+(pn?1:0)+";exitDx=0;exitDy=0;entryX="+Co+";entryY="+(pn?0:1)+";entryDx=0;entryDy=0;",Pn&&(Fe={x:(xo?-1:1)*(mn/2+6),y:0})}else{var hn=Qe>le;ht+="exitX="+(hn?1:0)+";exitY="+Co+";exitDx=0;exitDy=0;entryX="+(hn?0:1)+";entryY="+Co+";entryDx=0;entryDy=0;",Pn&&(Fe={x:0,y:(xo?-1:1)*12})}}else De[ve.from]>1&&ze[ve.from]==="choice"?Ae=.35:De[ve.from]>1&&Pn&&Math.abs(Qe-le)>10&&(Fe={x:(Qe>le?1:-1)*(Vl(Pn)*12/14/2+4),y:0});var Dt=null;if(ve.from!==ve.to&&ht.indexOf("edgeStyle=")<0){var ca=Yt.y+Yt.h<=At.y,ea=At.y+At.h<=Yt.y;if(ca||ea){for(var me=ca?Yt.y+Yt.h:Yt.y,ie=ca?At.y:At.y+At.h,pe=[],ke=0;ke<e.length;ke++){var Re=e[ke].id;if(!(Re===ve.from||Re===ve.to||ce[ve.from]===Re||ce[ve.to]===Re)){var $o=tr[Re];$o&&fi(le,me,Qe,ie,$o.x-3,$o.y-3,$o.w+6,$o.h+6)&&pe.push($o)}}if(pe.length>0){for(var Jo=1/0,Wt=-1/0,at=1/0,Nn=-1/0,ia=0,sa=0;sa<pe.length;sa++)pe[sa].y<Jo&&(Jo=pe[sa].y),pe[sa].y+pe[sa].h>Wt&&(Wt=pe[sa].y+pe[sa].h),pe[sa].x<at&&(at=pe[sa].x),pe[sa].x+pe[sa].w>Nn&&(Nn=pe[sa].x+pe[sa].w),ia+=pe[sa].x+pe[sa].w/2;var ka=ia/pe.length>(le+Qe)/2+1,Po=ka?at-14:Nn+14,Ct=Jo-10,bt=Wt+10;if(ea){var Vr=Ct;Ct=bt,bt=Vr}Dt=[{x:Po,y:Ct},{x:Po,y:bt}],ht=ht.replace(/(exit|entry)(X|Y|Dx|Dy)=[-0-9.]+;/g,"")+"curved=1;",Ae=null,Fe=null}}}C+=Pr(V("t"),Pn,ht,Yt.cellId,At.cellId,Ae,Dt,Fe)}}for(var to=v("shape=note;size=10;fillColor=#FEFFDD;strokeColor=#181818;strokeWidth=0.5;fontSize=13;fontColor=#000000;whiteSpace=wrap;align=left;verticalAlign=middle;spacingLeft=4;",["note"]),Xt=v("fillColor=#FEFFDD;strokeColor=#181818;strokeWidth=0.5;",["note"]),ha=0;ha<l.length;ha++){var Wr=l[ha],ro=wr(Wr.text),te=ro.w,ue=ro.h,zo=xe,nn=xe,Fa="";if(Wr.position==="link"){var Kn=Ke[Wr.linkIndex];Kn&&(nn=Math.round(Kn.y),Wr.side==="left"?zo=Math.round(Kn.x-5-te):Wr.side==="top"||Wr.side==="bottom"?(zo=Math.round(Kn.x-te/2),nn=Math.round(Wr.side==="top"?Kn.y-10-ue:Kn.y+10)):zo=Math.round(Kn.x+5))}else{var bn=tr[Wr.target];bn&&(nn=bn.y+(bn.h-ue)/2,Wr.position==="right"?(zo=bn.x+bn.w+io,Fa=s(V("noteptr"),"","triangle;direction=west;"+Xt,bn.x+bn.w,Math.round(nn+ue/2-4),io+1,8,"1")):(zo=bn.x-te-io,Fa=s(V("noteptr"),"","triangle;direction=east;"+Xt,zo+te-1,Math.round(nn+ue/2-4),io+1,8,"1")))}C+=Fa+s(V("note"),Wr.text||"",to,zo,nn,te,ue,"1")}return C}var wa=180,Ta=40,Ea=19,Ua=8,oa=32,vn=26,Jl=21,Ul=16,_l=24,Ma=35,gl=60,Ia=78,tt=10,Vn=4,sl=160,El=40,ui=20,rl=24,Rl=45,pl=14,Al=15,Wa=14,ai=34,Nl=17;function xa(r){return is(r,pl,!1)}function fi(r,a,e,h,l,C,b,Z){for(var v=0,er=1,X=e-r,V=h-a,tr=[-X,X,-V,V],wr=[r-l,l+b-r,a-C,C+Z-a],yr=0;yr<4;yr++)if(tr[yr]===0){if(wr[yr]<0)return!1}else{var fr=wr[yr]/tr[yr];if(tr[yr]<0){if(fr>er)return!1;fr>v&&(v=fr)}else{if(fr<v)return!1;fr<er&&(er=fr)}}return v<=er}function Ni(r,a){for(var e=r.classes,h=r.relationships,l=r.packages,C=r.notes,b="",Z=0,v=r.hideRules||[],er=r.hideEntities||[],X=0;X<C.length;X++)C[X].position==="link"&&C[X].linkIndex!=null&&(C[X]._rel=h[C[X].linkIndex]||null);var V=r.styleSheet||null,tr=[],wr={pkg:"vertex",pkgl:"text"};function yr(cr,Ue,Bo,Lo,Pe){return W(cr,V,["root","element","classDiagram"].concat(Ue),Bo||[],Lo||"vertex",Pe)}function fr(cr,Ue){var Bo=wr[String(cr).split("_")[0]];return Bo==null||V==null?Ue:yr(Ue,["package"],tr,Bo)}var Ar=function(cr,Ue,Bo,Lo,Pe,mt,Bt,La){return $(cr,Ue,fr(cr,Bo),Lo,Pe,mt,Bt,La)},jr=function(cr,Ue,Bo,Lo,Pe,mt,Bt,La){return B(cr,Ue,fr(cr,Bo),Lo,Pe,mt,Bt,La)};function ce(cr){if(!cr.stereotype)return[];var Ue=cr.stereotype.replace(/\(\s*[A-Za-z@]\s*,\s*(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+)\s*\)/,"");return Ue.split(/>>\s*<<|\s+/).map(function(Bo){return Bo.replace(/^\s+|\s+$/g,"")}).filter(function(Bo){return Bo.length>0})}function Nr(cr,Ue){return cr.type==="all"?!0:cr.type==="kind"?(Ue.kind||"class")===cr.value:cr.type==="name"?Ue.id===cr.value||Ue.name===cr.value||(Ue.id||"").split(/::|\./).pop()===cr.value:cr.type==="stereotype"?To(cr.value,ce(Ue)):!1}function de(cr,Ue){for(var Bo=cr.members||[],Lo=0;Lo<Bo.length;Lo++){var Pe=Bo[Lo].kind;if(Pe!=="separator"&&Ue==="method"==(Pe==="method"))return!1}return!0}function Fr(cr,Ue){if(Ue==="circle"&&cr.kind==="object")return!1;for(var Bo=Ue==="circle"?!r.hideCircle&&!r.strictUml:!0,Lo=0;Lo<v.length;Lo++){var Pe=v[Lo];Pe.portion===Ue&&Nr(Pe.gender,cr)&&(Pe.empty&&!de(cr,Ue)||(Bo=Pe.show))}return Bo}function Ir(cr){return String(cr??"").split(/::|\./).pop()}function qe(cr,Ue){return cr.indexOf("*")>=0?new RegExp("^"+cr.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")+"$").test(Ue):Ue===cr}function To(cr,Ue){for(var Bo=0;Bo<Ue.length;Bo++)if(qe(cr,Ue[Bo]))return!0;return!1}function ne(cr,Ue){return qe(cr,Ir(Ue))}function po(cr){for(var Ue=!1,Bo=0;Bo<er.length;Bo++){var Lo=er[Bo].what,Pe;if(Lo==="@unlinked"){Pe=!cr.isGroup;for(var mt=0;mt<h.length&&Pe;mt++)(h[mt].from===cr.id||h[mt].to===cr.id)&&(Pe=!1)}else Lo.charAt(0)==="<"?Pe=To(Lo.replace(/^<<|>>$/g,"").replace(/^\s+|\s+$/g,""),ce(cr)):Lo.charAt(0)==="$"?Pe=To(Lo.substring(1),cr.tags||[]):Pe=ne(Lo,cr.id)||cr.name!=null&&cr.name!==cr.id&&ne(Lo,cr.name);Pe&&(Ue=!er[Bo].show)}return Ue}if(er.length>0){var ao={},A={},J;for(J=0;J<l.length;J++){var ur=l[J].parentIndex;if(ur!=null&&A[ur]||po({id:l[J].name,name:l[J].name,isGroup:!0,tags:[]})){A[J]=!0;for(var Sr=0;Sr<(l[J].classes||[]).length;Sr++)ao[l[J].classes[Sr]]=!0}}for(var Er=[],qr=0;qr<e.length;qr++)ao[e[qr].id]||po(e[qr])?ao[e[qr].id]=!0:Er.push(e[qr]);e=Er,h=h.filter(function(cr){return!ao[cr.from]&&!ao[cr.to]}),C=C.filter(function(cr){return cr.targets&&cr.targets.length?(cr.targets=cr.targets.filter(function(Ue){return!ao[Ue]}),cr.targets.length===0?!1:(ao[cr.target]&&(cr.target=cr.targets[0]),!0)):cr.target?!ao[cr.target]:cr.id?!po({id:cr.id,name:cr.id,tags:cr.tags||[]}):!0});var z={},Mr=[];for(J=0;J<l.length;J++)A[J]||(z[J]=Mr.length,Mr.push(l[J]));l=Mr.map(function(cr){var Ue={};for(var Bo in cr)cr.hasOwnProperty(Bo)&&(Ue[Bo]=cr[Bo]);return Ue.parentIndex=cr.parentIndex!=null&&z[cr.parentIndex]!=null?z[cr.parentIndex]:null,Ue});for(var Be=[],ye=0;ye<C.length;ye++){var Le=C[ye];if(Le.pkgIndex!=null){if(A[Le.pkgIndex])continue;var _e={};for(var Ur in Le)Le.hasOwnProperty(Ur)&&(_e[Ur]=Le[Ur]);_e.pkgIndex=z[Le.pkgIndex]!=null?z[Le.pkgIndex]:null,Le=_e}Be.push(Le)}C=Be}function yo(cr){for(var Ue=cr.text?cr.text.split(`
161
+ `):[""],Bo=0,Lo=0;Lo<Ue.length;Lo++){var Pe=xa(Ue[Lo])*13/pl;Pe>Bo&&(Bo=Pe)}return{w:Math.round(Bo+20),h:Math.round(Ue.length*17.7+12)}}var fo={};function he(cr){return cr+"_"+Z++}var Te=r.title?String(r.title).replace(/\\n/g,`
162
+ `).split(`
163
+ `):[],ae=r.title?ai+(Te.length-1)*Nl:0,it=r.legend&&r.legend.vertical==="top"&&r.legend.lines&&r.legend.lines.length?We(r.legend.lines):null,Gt=ae+(it?it.h+20:0),oo={},pt={};function rt(cr){for(var Ue=[],Bo=[],Lo=cr.members||[],Pe=0;Pe<Lo.length;Pe++)Lo[Pe].kind!=="separator"&&(Lo[Pe].kind==="method"?Bo.push(Lo[Pe]):Ue.push(Lo[Pe]));return{fields:Ue,methods:Bo}}function jo(cr){for(var Ue=cr.members||[],Bo=[{style:null,title:"",rows:[]}],Lo=cr.kind==="object",Pe=0;Pe<Ue.length;Pe++)Ue[Pe].kind==="separator"?(Lo=!0,Bo.push({style:Ue[Pe].style,title:Ue[Pe].title||"",rows:[]})):Bo[Bo.length-1].rows.push(Ue[Pe]);return Lo?Bo:null}function Qt(cr,Ue){return Ue===0&&cr.rows.length===0?0:cr.rows.length*Ea+Ua+(cr.title?Wa:0)}function Me(cr){return cr>0?cr*Ea+Ua:Ua}function Io(cr){return!cr.stereotype||!Fr(cr,"stereotype")?"":cr.stereotype.replace(/\(\s*[A-Za-z@]\s*,\s*(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+)\s*\)/,"").replace(/^\s+|\s+$/g,"")}function Wo(cr){var Ue=cr.kind==="object"?Jl:Fr(cr,"circle")?oa:vn,Bo=(cr.name||"").split(`
164
+ `).length-1;return Ue+(Io(cr)?15:0)+Bo*16}function Ro(cr){if(cr.kind==="circle")return 20;if(cr.kind==="diamond")return _l;var Ue=Fr(cr,"field"),Bo=Fr(cr,"method"),Lo=Ue||Bo?jo(cr):null;if(Lo){for(var Pe=Wo(cr),mt=0;mt<Lo.length;mt++)Pe+=Qt(Lo[mt],mt);return cr.kind==="object"&&Lo.length===1&&Lo[0].rows.length===0&&(Pe+=Ul),Pe}var Bt=rt(cr);return Wo(cr)+(Ue?Me(Bt.fields.length):0)+(Bo?Me(Bt.methods.length):0)}function An(cr){return Oi(cr,!0)}function dn(cr){if(cr.kind==="circle")return Math.max(24,Math.round(xa(cr.name)*.6));if(cr.kind==="diamond")return _l;var Ue=rt(cr),Bo=(Fr(cr,"field")?Ue.fields:[]).concat(Fr(cr,"method")?Ue.methods:[]),Lo=Ta,Pe,mt=cr.members||[];for(Pe=0;Pe<mt.length;Pe++)if(mt[Pe].kind==="separator"&&mt[Pe].title){var Bt=xa(mt[Pe].title)+26;Bt>Lo&&(Lo=Bt)}for(Pe=0;Pe<Bo.length;Pe++){var La=Bo[Pe].visibility?20:6,Qa=La+xa(An(Bo[Pe]))+6;Qa>Lo&&(Lo=Qa)}for(var Hl=(cr.name||"").split(`
165
+ `),Kl=0,ni=0;ni<Hl.length;ni++)xa(Hl[ni])>Kl&&(Kl=xa(Hl[ni]));var xi=Fr(cr,"circle")?Kl+32:Kl+12;if(xi>Lo&&(Lo=xi),cr.stereotype){var Hi=cr.stereotype.replace(/\(\s*[A-Za-z@]\s*,\s*(?:#[0-9A-Fa-f]{3,8}|[A-Za-z]+)\s*\)/,"").replace(/^\s+|\s+$/g,"");if(Hi){var Fs=xa("\xAB"+Hi+"\xBB")+16;Fs>Lo&&(Lo=Fs)}}return Math.round(Lo*100)/100}function rn(cr){return cr.fromArrow==="triangle"?cr.from:cr.toArrow==="triangle"?cr.to:cr.fromArrow==="diamond_filled"||cr.fromArrow==="diamond_open"?cr.from:cr.toArrow==="diamond_filled"||cr.toArrow==="diamond_open"||cr.type==="extends"||cr.type==="implements"||cr.fromArrow==="open"&&!cr.toArrow?cr.to:cr.from}function Ao(cr,Ue){return Ue===cr.from?cr.to:cr.from}function _t(cr){if(cr._sameRank)return null;if(cr._topId!=null&&cr._botId!=null)return{top:cr._topId,bot:cr._botId};var Ue=rn(cr);return Ue==null?null:{top:Ue,bot:Ao(cr,Ue)}}for(var ft={},Se=0;Se<e.length;Se++)ft[e[Se].id]=!0;for(var Go={},wt={},Se=0;Se<e.length;Se++)Go[e[Se].id]=[],wt[e[Se].id]=0;for(var cn=0;cn<h.length;cn++){var No=_t(h[cn]);if(No!=null){var oe=No.top,Uo=No.bot;!ft[oe]||!ft[Uo]||oe===Uo||(Go[oe].push(Uo),wt[Uo]++)}}var Ot={},ho={},dt={};function Aa(cr){if(ho[cr]!==void 0)return ho[cr];if(dt[cr])return 0;dt[cr]=!0;for(var Ue=0,Bo=Go[cr]||[],Lo=0;Lo<Bo.length;Lo++){var Pe=1+Aa(Bo[Lo]);Pe>Ue&&(Ue=Pe)}return dt[cr]=!1,ho[cr]=Ue,Ue}var Sn={};for(var an in Go)if(Go.hasOwnProperty(an)){Sn[an]||(Sn[an]=[]);for(var we=0;we<Go[an].length;we++){var Eo=Go[an][we];Sn[Eo]||(Sn[Eo]=[]),Sn[an].push(Eo),Sn[Eo].push(an)}}for(var Et={},Cr=[],Se=0;Se<e.length;Se++){var Lr=e[Se].id;if(Et[Lr]===void 0){var He=Cr.length,Ie=[Lr],Oe=0;for(Et[Lr]=He;Ie.length>0;){var so=Ie.pop(),Xo=Aa(so);Xo>Oe&&(Oe=Xo);for(var qo=Sn[so]||[],Yn=0;Yn<qo.length;Yn++)Et[qo[Yn]]===void 0&&(Et[qo[Yn]]=He,Ie.push(qo[Yn]))}Cr.push(Oe)}}for(var Se=0;Se<e.length;Se++){var Nt=e[Se].id;Ot[Nt]=Cr[Et[Nt]]-Aa(Nt)}for(var Da=!0,je=0;Da&&je++<10;){Da=!1;for(var _r=0;_r<h.length;_r++){var Ho=h[_r];if(Ho._sameRank&&!(Ot[Ho.from]===void 0||Ot[Ho.to]===void 0)){var Ce=Math.max(Ot[Ho.from],Ot[Ho.to]);(Ot[Ho.from]!==Ce||Ot[Ho.to]!==Ce)&&(Ot[Ho.from]=Ce,Ot[Ho.to]=Ce,Da=!0)}}}for(var Se=0;Se<e.length;Se++)e[Se]._w=dn(e[Se]);if(h.length===0&&e.length>5)for(var ln=560,nt=0,wo=0,xn=0;xn<e.length;xn++){var Lt=e[xn]._w+40;wo>0&&wo+Lt>ln&&(nt++,wo=0),Ot[e[xn].id]=nt,wo+=Lt}for(var Ft={},fe=[],Se=0;Se<e.length;Se++){var ge=Ot[e[Se].id];Ft[ge]||(Ft[ge]=[],fe.push(ge)),Ft[ge].push(e[Se])}fe.sort(function(cr,Ue){return cr-Ue});for(var qt=0;qt<h.length;qt++){var et=h[qt];if(et._side&&!(Ot[et.from]===void 0||Ot[et.from]!==Ot[et.to])){for(var en=Ft[Ot[et.from]],Zt=-1,qn=-1,Ko=0;Ko<en.length;Ko++)en[Ko].id===et.from&&(Zt=Ko),en[Ko].id===et.to&&(qn=Ko);if(!(Zt<0||qn<0)){if(et._side==="left"&&qn>Zt)en.splice(Zt,0,en.splice(qn,1)[0]);else if(et._side==="right"&&qn<Zt){var Hn=en.splice(qn,1)[0];en.splice(Zt,0,Hn)}}}}for(var aa={},Je=0;Je<h.length;Je++){var sn=h[Je],Bn=_t(sn);if(Bn!=null){var $t=Bn.top,mo=Bn.bot;!ft[$t]||!ft[mo]||Ot[mo]===Ot[$t]+1&&(sn.label||sn.fromCardinality||sn.toCardinality)&&(aa[Ot[$t]]=!0)}}var Pt={},ra={};function Ut(cr,Ue,Bo,Lo){var Pe={},mt;for(mt=0;mt<cr.length;mt++)Pe[cr[mt].id]=cr[mt];var Bt={},La={};for(mt=0;mt<cr.length;mt++)Bt[cr[mt].id]=[],La[cr[mt].id]=0;for(var Qa=0;Qa<Ue.length;Qa++){var Hl=Ue[Qa];Pe[Hl.top]&&Pe[Hl.bot]&&Hl.top!==Hl.bot&&(Bt[Hl.top].push(Hl.bot),La[Hl.bot]++)}var Kl={},ni=[];for(mt=0;mt<cr.length;mt++)La[cr[mt].id]===0&&(Kl[cr[mt].id]=0,ni.push(cr[mt].id));for(var xi=cr.length*cr.length+16;ni.length>0&&xi-- >0;)for(var Hi=ni.shift(),Fs=Bt[Hi],fs=0;fs<Fs.length;fs++){var If=Kl[Hi]+1;(Kl[Fs[fs]]===void 0||Kl[Fs[fs]]<If)&&(Kl[Fs[fs]]=If,ni.push(Fs[fs]))}var du={},ru=[];for(mt=0;mt<cr.length;mt++){var bu=Kl[cr[mt].id]===void 0?0:Kl[cr[mt].id];du[bu]||(du[bu]=[],ru.push(bu)),du[bu].push(cr[mt])}ru.sort(function(hv,Cv){return hv-Cv});var sd=[],rf=0,eu,Ji;for(eu=0;eu<ru.length;eu++){var Ph=du[ru[eu]],Nf=0;for(Ji=0;Ji<Ph.length;Ji++)Ji>0&&(Nf+=Bo),Nf+=Ph[Ji].w;sd.push(Nf),Nf>rf&&(rf=Nf)}var Yh={},bc=0;for(eu=0;eu<ru.length;eu++){var yu=du[ru[eu]],ud=0;for(Ji=0;Ji<yu.length;Ji++)yu[Ji].h>ud&&(ud=yu[Ji].h);var Mh=(rf-sd[eu])/2;for(Ji=0;Ji<yu.length;Ji++)Yh[yu[Ji].id]={x:Mh,y:bc+(ud-yu[Ji].h)/2},Mh+=yu[Ji].w+Bo;bc+=ud+Lo}return{pos:Yh,width:rf,height:Math.max(0,bc-Lo)}}if(l.length>0){let cr=function(Pe,mt){var Bt=Wn[Pe];if(Bt===void 0)return mt===-1?Pe:null;if(Bt===mt)return Pe;for(var La=l.length+1;Bt!==void 0&&La-- >0;){var Qa=va[Bt];if(Qa===void 0&&mt===-1||Qa===mt)return"pkg#"+Bt;Bt=Qa}return null},Ue=function(Pe){var mt=(Pe.stereotype||"").toLowerCase();return mt==="node"?{side:46,top:40,bottom:16}:mt==="cloud"?{side:18,top:36,bottom:22}:mt==="database"?{side:31,top:50,bottom:16}:{side:ui,top:35,bottom:16}},Bo=function(Pe){var mt=[],Bt;for(Bt=0;Bt<e.length;Bt++)Wn[e[Bt].id]===Pe&&mt.push({id:e[Bt].id,w:e[Bt]._w,h:Ro(e[Bt])});for(Bt=0;Bt<ga[Pe].length;Bt++){var La=ga[Pe][Bt];Bo(La),mt.push({id:"pkg#"+La,w:Mn[La],h:la[La]})}for(Bt=0;Bt<C.length;Bt++)if(C[Bt].pkgIndex===Pe&&!C[Bt].target){var Qa=C[Bt].legend?We(C[Bt].lines||[]):yo(C[Bt]);mt.push({id:"note#"+Bt,w:Qa.w,h:Qa.h})}var Hl=[];for(Bt=0;Bt<h.length;Bt++){var Kl=_t(h[Bt]);if(Kl){var ni=cr(Kl.top,Pe),xi=cr(Kl.bot,Pe);ni&&xi&&ni!==xi&&Hl.push({top:ni,bot:xi})}}var Hi=Ut(mt,Hl,Ma,gl);for(Bt=0;Bt<mt.length;Bt++)Fn[mt[Bt].id]=Hi.pos[mt[Bt].id];var Fs=Math.max(Hi.width,xa(l[Pe].name)+24),fs=Ue(l[Pe]);Mn[Pe]=Fs+fs.side*2,la[Pe]=fs.top+Hi.height+fs.bottom},Lo=function(Pe,mt,Bt){var La=Ue(l[Pe]);Pt[Pe]={x:mt,y:Bt,w:Mn[Pe],h:la[Pe]},ra[Pe]=he("pkg"),!ft[l[Pe].name]&&!oo[l[Pe].name]&&(oo[l[Pe].name]=ra[Pe],pt[l[Pe].name]=Pt[Pe]);for(var Qa=0;Qa<e.length;Qa++)Wn[e[Qa].id]===Pe&&Fn[e[Qa].id]&&(e[Qa]._x=mt+La.side+Fn[e[Qa].id].x,e[Qa]._y=Bt+La.top+Fn[e[Qa].id].y,e[Qa]._h=Ro(e[Qa]));for(var Hl=0;Hl<ga[Pe].length;Hl++){var Kl=ga[Pe][Hl],ni=Fn["pkg#"+Kl];ni&&Lo(Kl,mt+La.side+ni.x,Bt+La.top+ni.y)}for(var xi=0;xi<C.length;xi++){var Hi=Fn["note#"+xi];C[xi].pkgIndex===Pe&&Hi&&(fo[xi]={x:mt+La.side+Hi.x,y:Bt+La.top+Hi.y})}};var Wn={},yt,Zn;for(yt=0;yt<l.length;yt++){var on=l[yt].classes||[];for(Zn=0;Zn<on.length;Zn++)ft[on[Zn]]&&(Wn[on[Zn]]=yt)}var va={},ga={};for(yt=0;yt<l.length;yt++)ga[yt]=[];for(yt=0;yt<l.length;yt++){var jn=l[yt].parentIndex;jn!=null&&jn>=0&&jn<l.length&&jn!==yt&&(va[yt]=jn,ga[jn].push(yt))}var Fn={},Mn={},la={};for(yt=0;yt<l.length;yt++)va[yt]===void 0&&Bo(yt);var Tn=[],gt;for(yt=0;yt<l.length;yt++)va[yt]===void 0&&Tn.push({id:"pkg#"+yt,w:Mn[yt],h:la[yt]});for(gt=0;gt<e.length;gt++)Wn[e[gt].id]===void 0&&Tn.push({id:e[gt].id,w:e[gt]._w,h:Ro(e[gt])});var Rt=[];for(gt=0;gt<h.length;gt++){var Jt=_t(h[gt]);if(!(!Jt||!ft[Jt.top]||!ft[Jt.bot])){var ct=cr(Jt.top,-1),wn=cr(Jt.bot,-1);ct&&wn&&ct!==wn&&Rt.push({top:ct,bot:wn})}}var In=Ut(Tn,Rt,Ma,Rl),ko=tt,Do=tt+Gt;for(yt=0;yt<l.length;yt++){var Rr=In.pos["pkg#"+yt];Rr&&Lo(yt,ko+Rr.x,Do+Rr.y)}for(gt=0;gt<e.length;gt++)if(Wn[e[gt].id]===void 0){var xr=In.pos[e[gt].id];if(!xr)continue;e[gt]._x=ko+xr.x,e[gt]._y=Do+xr.y,e[gt]._h=Ro(e[gt])}}else{for(var br=[],Br=0,Pr=0;Pr<fe.length;Pr++){for(var Xe=Ft[fe[Pr]],zr=0,Ke=0;Ke<Xe.length;Ke++)Ke>0&&(zr+=Ma),zr+=Xe[Ke]._w;br.push(zr),zr>Br&&(Br=zr)}for(var De=tt+Gt,Pr=0;Pr<fe.length;Pr++){for(var ze=Ft[fe[Pr]],So=0,Ke=0;Ke<ze.length;Ke++){var ot=Ro(ze[Ke]);ot>So&&(So=ot)}for(var ve=tt+(Br-br[Pr])/2,Ke=0;Ke<ze.length;Ke++){var Yt=ze[Ke],At=Ro(Yt);Yt._x=ve,Yt._y=De+(So-At)/2,Yt._h=At,ve+=Yt._w+Ma}var ht=aa[fe[Pr]]?Ia:gl;De+=So+ht}}for(var Vt=r.associationClasses||[],Pn=0;Pn<Vt.length;Pn++){for(var Ae=Vt[Pn],Fe=null,le=null,Ne=null,Qe=0;Qe<e.length;Qe++)e[Qe].id===Ae.a&&(Fe=e[Qe]),e[Qe].id===Ae.b&&(le=e[Qe]),e[Qe].id===Ae.cls&&(Ne=e[Qe]);if(!(!Fe||!le||!Ne)){for(var tn=0,Vo=0;Vo<h.length;Vo++)(h[Vo].from===Ae.cls||h[Vo].to===Ae.cls)&&tn++;if(!(tn>0)){if(le._y!==Fe._y){for(var xo=!0,Co=0;Co<e.length;Co++)if(e[Co]!==le&&e[Co]!==Ne&&e[Co]._y===le._y){xo=!1;break}xo&&(le._x=Fe._x+Fe._w/2-le._w/2)}var mn=(Fe._x+Fe._w/2+le._x+le._w/2)/2,pn=(Fe._y+Fe._h/2+le._y+le._h/2)/2;Ne._x=mn+70,Ne._y=pn-Ne._h/2,Ae._midX=mn,Ae._midY=pn}}}for(var hn=0;hn<e.length;hn++){var Dt=e[hn];if(Dt.kind==="circle"){for(var ca=null,ea=0,me=0;me<h.length;me++)h[me].type!=="lollipop"&&(h[me].from===Dt.id||h[me].to===Dt.id)&&(ea++,ca=h[me]);if(ea===1){for(var ie=ca.from===Dt.id?ca.to:ca.from,pe=null,ke=0;ke<e.length;ke++)if(e[ke].id===ie){pe=e[ke];break}!pe||pe._y===Dt._y||(Dt._x=pe._x+pe._w/2-Dt._w/2)}}}if(e.length>0){for(var Re=1/0,$o=1/0,Jo=-1/0,Wt=-1/0,at=0;at<e.length;at++){var Nn=e[at];Nn._x<Re&&(Re=Nn._x),Nn._y<$o&&($o=Nn._y),Nn._x+Nn._w>Jo&&(Jo=Nn._x+Nn._w),Nn._y+Nn._h>Wt&&(Wt=Nn._y+Nn._h)}var ia=e.length===1?9:3;if(b+=Ar(he("mtl"),"","text;fillColor=none;strokeColor=none;",Re-3,$o-3,0,0,"1"),b+=Ar(he("mbr"),"","text;fillColor=none;strokeColor=none;",Jo+ia,Wt+ia,0,0,"1"),r.title){for(var sa=0,ka=0;ka<Te.length;ka++)sa=Math.max(sa,xa(Te[ka]));var Po=Math.max(120,sa+20),Ct=(Re+Jo)/2-Po/2;b+=Ar(he("cltitle"),Te.join(`
166
+ `),"text;html=1;fillColor=none;strokeColor=none;fontSize="+pl+";fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",Ct,tt-3,Po,24+(Te.length-1)*Nl,"1")}}var bt=Wn||{},Vr=va||{};function to(cr){var Ue=[],Bo=bt[cr];if(Bo===void 0&&!ft[cr]){for(var Lo=0;Lo<l.length;Lo++)if(l[Lo].name===cr&&Pt[Lo]){Bo=Vr[Lo];break}}for(var Pe=l.length+1;Bo!==void 0&&Pe-- >0;)Ue.push(Bo),Bo=Vr[Bo];return Ue}function Xt(cr){var Ue=cr!=null&&cr>=0?Pt[cr]:null;return!Ue||!ra[cr]?{id:"1",x:0,y:0,pkg:-1}:{id:ra[cr],x:Ue.x,y:Ue.y,pkg:cr}}function ha(cr){return Xt(bt[cr])}function Wr(cr,Ue){for(var Bo=to(cr),Lo=to(Ue),Pe=0;Pe<Bo.length;Pe++)if(Lo.indexOf(Bo[Pe])>=0&&Pt[Bo[Pe]])return Xt(Bo[Pe]);return Xt(-1)}function ro(cr,Ue,Bo,Lo){for(var Pe=-1,mt=1/0,Bt=0;Bt<l.length;Bt++){var La=Pt[Bt];!La||!ra[Bt]||cr<La.x||Ue<La.y||cr+Bo>La.x+La.w||Ue+Lo>La.y+La.h||La.w*La.h<mt&&(Pe=Bt,mt=La.w*La.h)}return Xt(Pe)}for(var te=0;te<e.length;te++){let Ue=function(Lo,Pe,mt){for(var Bt=Pe+Al+mt*Ea,La=Bt-Ea/2,Qa=Lo.visibility,Hl=Qa&&Ml[Qa],Kl=Lo.kind==="method",ni=0,xi=Lo.modifiers||[],Hi=0;Hi<xi.length;Hi++)xi[Hi]==="static"&&(ni|=4);var Fs=Hl?20:6,fs="text;html=1;align=left;verticalAlign=middle;spacingLeft="+Fs+";spacingRight=4;overflow=hidden;rotatable=0;fillColor=none;strokeColor=none;fontSize="+pl+";fontColor=#000000;fontStyle="+ni+";points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;",If=he("mb");if(fs=yr(fs,["class"],$l,"text"),b+=Ar(If,An(Lo),fs,0,La,ue._w,Ea,zo),Hl){var du=Ei[Qa]||[6,6],ru=du[0],bu=du[1],sd=Kl||Qa==="*"?dl[Qa]:"none",rf=(Bl[Qa]||"ellipse")+";fillColor="+sd+";strokeColor="+Ml[Qa]+";strokeWidth=1;movable=0;connectable=0;";b+=Ar(he("vis"),"",rf,11-ru/2,Ea/2-bu/2,ru,bu,If)}},Bo=function(Lo,Pe,mt){var Bt="line;strokeColor=#181818;fillColor=none;align=left;verticalAlign=middle;rotatable=0;points=[];portConstraint=eastwest;connectable=0;",La=Lo.style;Bt+="strokeWidth="+(La==="_"?"0.5":"1")+";"+(La==="."?"dashed=1;dashPattern=1 2;":""),Lo.title&&(Pe+=2);var Qa=Lo.title?xa(Lo.title)+8:0,Hl=Lo.title?Math.max(2,(ue._w-Qa)/2):ue._w;Bt=yr(Bt,["class"],$l,"edge",["dashed","dashPattern","fixDash"]);function Kl(ni){b+=Ar(he("clssep"),"",Bt,0,ni,Hl,mt,zo),Lo.title&&(b+=Ar(he("clssep"),"",Bt,ue._w-Hl,ni,Hl,mt,zo))}La==="="?(Kl(Pe-1),Kl(Pe+1)):Kl(Pe),Lo.title&&(b+=Ar(he("septitle"),Lo.title,"text;html=1;align=center;verticalAlign=middle;fillColor=none;strokeColor=none;fontSize="+pl+";fontColor=#000000;movable=0;connectable=0;",(ue._w-Qa)/2,Pe+mt/2-Ea/2,Qa,Ea,zo))};var ue=e[te],Xo=ue._h,zo=he("cls");oo[ue.id]=zo;var nn=ha(ue.id),Fa=ue._x,Kn=ue._y;if(pt[ue.id]={x:Fa,y:Kn,w:ue._w,h:Xo},ue.kind==="circle"){var bn=16,Ve=Fa+(ue._w-bn)/2,Yo=Kn+(Xo-bn)/2;b+=Ar(zo,ue.name,"ellipse;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=1;verticalLabelPosition=bottom;verticalAlign=top;fontSize="+pl+";fontColor=#000000;",Ve-nn.x,Yo-nn.y,bn,bn,nn.id),pt[ue.id]={x:Ve,y:Yo,w:bn,h:bn};continue}if(ue.kind==="diamond"){b+=Ar(zo,"","rhombus;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;",Fa-nn.x,Kn-nn.y,_l,_l,nn.id),pt[ue.id]={x:Fa,y:Kn,w:_l,h:_l};continue}var st="",Ca=Io(ue);Ca&&(st+="\xAB"+Ca+`\xBB
167
+ `);var Mt=Wo(ue);st+=ue.name;var Ra="0",Xn=Fr(ue,"circle"),_a=Xn?25:0,Ka="#F1F1F1",yn="#181818",ua="#000000",Ya="";if(ue.color){var fa=ue.color.match(/##(?:\[(\w+)\])?(\S+)/);if(fa){var xt=Y(fa[2]);xt&&(yn=xt),fa[1]&&/bold/i.test(fa[1])&&(Ya="strokeWidth=2;")}var Ja=ue.color.replace(/^#/,"").split(";"),uo=Ja[0].replace(/\s*##.*$/,"");if(uo){var Jn=Y("#"+uo);Jn&&(Ka=Jn)}for(var Sa=1;Sa<Ja.length;Sa++){var da=Ja[Sa].match(/^(line|text)\s*:\s*(\S+)/i);if(da&&da[1].toLowerCase()==="line"){var ma=Y(da[2]);ma&&(yn=ma)}else if(da){var Ha=Y(da[2]);Ha&&(ua=Ha)}}}var Sl="swimlane;collapsible=0;fontStyle="+Ra+";align=center;fontSize="+pl+";fontColor="+ua+";startSize="+Mt+";spacingLeft="+_a+";fillColor="+Ka+";strokeColor="+yn+";"+Ya+"childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;marginBottom=0;stackSpacing=0;marginTop="+(Al-Ea/2)+";",$l=ue.stereotype?[ue.stereotype]:[],ml=H(V,["root","element","classDiagram","class"],$l,"vertex"),Pl=H(V,["root","element","classDiagram","class","header"],$l,"vertex");ue.color?(delete ml.fillColor,delete ml.gradientColor,delete Pl.fillColor,delete Pl.gradientColor):ml.fillColor!=null&&(ml.swimlaneFillColor=ml.fillColor);for(var Yl in Pl)Pl.hasOwnProperty(Yl)&&!/^(strokeColor|strokeWidth|dashed|dashPattern|fixDash|rounded|arcSize|absoluteArcSize|shadow)$/.test(Yl)&&(ml[Yl]=Pl[Yl]);if(Sl=M(Sl,ml),b+=Ar(zo,st,Sl,Fa-nn.x,Kn-nn.y,ue._w,Xo,nn.id),ue.generics){var ri=ue.generics,wi=Math.max(20,ue.generics.length*7+8),mi=18;b+=Ar(he("gen"),ri,"rounded=0;fillColor=#FFFFFF;strokeColor=#181818;dashed=1;dashPattern=2 2;fontSize=10;align=center;verticalAlign=middle;movable=0;connectable=0;",ue._w-wi-6,-3,wi,mi,zo)}var Cl=r.monochrome?"#C2C2C2":"#ADD1B2",ll="C";if(ue.kind==="interface"?(r.monochrome||(Cl="#B4A7E5"),ll="I"):ue.kind==="enum"?(r.monochrome||(Cl="#EB937F"),ll="E"):ue.kind==="abstract"?(r.monochrome||(Cl="#A9DCDF"),ll="A"):ue.kind==="annotation"?(r.monochrome||(Cl="#E3C6AA"),ll="@"):ue.kind==="struct"?(r.monochrome||(Cl="#FFFFFF"),ll="S"):ue.kind==="protocol"?(r.monochrome||(Cl="#FFFFFF"),ll="P"):ue.kind==="exception"?(r.monochrome||(Cl="#E5574F"),ll="X"):ue.kind==="metaclass"?(r.monochrome||(Cl="#B3B3B3"),ll="M"):ue.kind==="stereotype"?(r.monochrome||(Cl="#EE7EEE"),ll="S"):ue.kind==="entity"&&(r.monochrome||(Cl="#ADD1B2"),ll="E"),ue.stereotype){var yi=ue.stereotype.match(/\(\s*([A-Za-z@])\s*,\s*(#[0-9A-Fa-f]{3,8}|[A-Za-z]+)\s*\)/);yi&&(ll=yi[1],Cl=Y(yi[2])||Cl)}if(Xn){for(var rs=(ue.name||"").split(`
168
+ `),Xl=0,ql=0;ql<rs.length;ql++)xa(rs[ql])>Xl&&(Xl=xa(rs[ql]));var hi=Io(ue);hi&&xa("\xAB"+hi+"\xBB")>Xl&&(Xl=xa("\xAB"+hi+"\xBB"));var ei=25+Xl,Pi=(ue._w-ei)/2;b+=Ar(he("ico"),ll,"ellipse;fillColor="+Cl+";strokeColor=#181818;fontSize=13;fontStyle=1;fontColor=#000000;movable=0;connectable=0;",Pi,Math.round((Mt-22)/2),22,22,zo)}var pa=rt(ue),kn=Fr(ue,"field"),Na=Fr(ue,"method"),ol=kn?pa.fields:[],il=Na?pa.methods:[],tl=kn?Me(ol.length):0,ba=Mt+tl,dl={"+":"#84BE84","-":"#F24D5C","#":"#FFFF44","~":"#4177AF","*":"#000000"},Ml={"+":"#038048","-":"#C82930","#":"#B38D22","~":"#1963A0","*":"#000000"},Bl={"+":"ellipse","-":"rounded=0","#":"rhombus","~":"triangle;direction=north","*":"ellipse"},Ei={"+":[6,6],"-":[6,6],"#":[8,8],"~":[8,6],"*":[6,6]},ta=kn||Na?jo(ue):null;if(ta)for(var ii=Mt,Yi=Al-Ea/2,Tl=Mt+Yi,oi=0;oi<ta.length;oi++){var xl=ta[oi],nl=ii+Yi+(xl.title?Wa:0);oi>0&&Bo(xl,Tl,Math.max(2,nl-Tl));for(var Gl=0;Gl<xl.rows.length;Gl++)Ue(xl.rows[Gl],nl-Yi,Gl);Tl=nl+xl.rows.length*Ea,ii+=Qt(xl,oi)}else if(kn||Na){for(var Zl=0;Zl<ol.length;Zl++)Ue(ol[Zl],Mt,Zl);var Ci=Al-Ea/2,As=Mt+Ci+ol.length*Ea,za=Math.max(2,ba+Ci-As);kn&&Na&&(b+=Ar(he("clssep"),"",yr("line;strokeWidth=0.5;strokeColor=#181818;fillColor=none;align=left;verticalAlign=middle;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;connectable=0;",["class"],$l,"edge",["dashed","dashPattern","fixDash"]),0,As,ue._w,za,zo));for(var vl=0;vl<il.length;vl++)Ue(il[vl],ba,vl)}}var Va={},Ol={};function Fl(cr){return cr.from<cr.to?cr.from+"\0"+cr.to:cr.to+"\0"+cr.from}for(var cl=0;cl<h.length;cl++){var al=Fl(h[cl]);Va[al]=(Va[al]||0)+1}for(var ki={},Gl=0;Gl<h.length;Gl++){let Ue=function(Bo){return Bo==="cross"||Bo==="circlePlus"||Bo&&Bo.indexOf("ER")===0?Bo:null};var Ln=h[Gl],Mi=oo[Ln.from],vi=oo[Ln.to];if(Ln.type==="lollipop"){var Di=pt[Ln.to];if(Di){var Wi=ki[Ln.to]=(ki[Ln.to]||0)+1,si=Di.y+Di.h/2-8+(Wi-1)*32,Il=Di.x-52,Ht=ro(Il,si,16,16);b+=Ar(he("lolli"),"","ellipse;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=1;",Il-Ht.x,si-Ht.y,16,16,Ht.id);var ya=xa(Ln.from)+8;b+=Ar(he("lollilbl"),Ln.from,"text;html=1;fillColor=none;strokeColor=none;fontSize="+pl+";fontColor=#000000;align=center;verticalAlign=middle;",Il+8-ya/2-Ht.x,si+18-Ht.y,ya,18,Ht.id),b+=jr(he("lolliln"),"","endArrow=none;strokeColor=#181818;html=1;",Il+16,si+8,Di.x,si+8,"1")}continue}if(!(!Mi||!vi)){var Oa=Wr(Ln.from,Ln.to);if(!Ln.hidden){var St="endArrow=open;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";switch(Ln.type){case"extends":St="endArrow=block;endFill=0;endSize=12;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break;case"implements":St="endArrow=block;endFill=0;endSize=12;dashed=1;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break;case"composition":St="startArrow=diamond;startFill=1;startSize=12;endArrow=none;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break;case"aggregation":St="startArrow=diamond;startFill=0;startSize=12;endArrow=none;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break;case"association":St="endArrow=open;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break;case"dependency":St="dashed=1;endArrow=open;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break;case"link":St="endArrow=none;html=1;strokeColor=#181818;fontColor=#000000;fontSize=11;";break}if((Ln.lineStyle==="dotted"||Ln.lineStyle==="dashed")&&St.indexOf("dashed=1")<0&&(St+="dashed=1;"),Ln.color){var kl=Y(Ln.color);kl&&(St=St.replace(/strokeColor=[^;]*;/,""),St+="strokeColor="+kl+";")}Ln.bold&&(St+="strokeWidth=2;");var bl=[];Ln.color&&bl.push("strokeColor"),Ln.bold&&bl.push("strokeWidth"),Ln.lineStyle&&bl.push("dashed","dashPattern","fixDash"),St=yr(St,["arrow"],null,"edge",bl);var ms=Ue(Ln.fromArrow),gu=Ue(Ln.toArrow);ms&&(St=St.replace(/startArrow=[^;]*;/,""),St+="startArrow="+ms+";"),gu&&(St=St.replace(/endArrow=[^;]*/,"endArrow="+gu)),St.indexOf("startArrow=")<0&&(Ln.fromArrow==="diamond_filled"?St+="startArrow=diamond;startFill=1;":Ln.fromArrow==="diamond_open"&&(St+="startArrow=diamond;startFill=0;"));var _n=pt[Ln.from],En=pt[Ln.to],Xi=_n&&En&&Math.abs(_n.y-En.y)>=Math.abs(_n.x-En.x),ss=Ln.label||"";if(_n&&En){var Cs=_n.x+_n.w/2,es=_n.y+_n.h/2,os=En.x+En.w/2,qi=En.y+En.h/2,Ms=(Cs+os)/2,Ru=(es+qi)/2;if(Xi&&es!==qi){var Ef=es<qi?_n:En,vs=Ef===_n?En:_n,Js=(Ef.y+Ef.h+vs.y)/2,Au=(Js-es)/(qi-es);Au>=0&&Au<=1&&(Ru=Js,Ms=Cs+Au*(os-Cs))}else if(!Xi&&Cs!==os){var mu=Cs<os?_n:En,Df=mu===_n?En:_n,Sf=(mu.x+mu.w+Df.x)/2,Xu=(Sf-Cs)/(os-Cs);Xu>=0&&Xu<=1&&(Ms=Sf,Ru=es+Xu*(qi-es))}Ln._midX=Ms,Ln._midY=Ru,Ln._midVertical=!!Xi}if((Ln.fromCardinality||Ln.toCardinality)&&!Xi){var Ss=[];Ln.fromCardinality&&Ss.push(Ln.fromCardinality),ss&&Ss.push(ss),Ln.toCardinality&&Ss.push(Ln.toCardinality),ss=Ss.join(" ")}var ul=Fl(Ln);if(Va[ul]>1&&Xi&&_n&&En&&r.linetype!=="ortho"){var ti=Ol[ul]=(Ol[ul]||0)+1,fl=(ti-(Va[ul]+1)/2)*.22,jl=_n.y>En.y,Si=(_n.x+_n.w/2-(En.x+En.w/2))/En.w*.55;Si>.3&&(Si=.3),Si<-.3&&(Si=-.3);var Zi=(En.x+En.w/2-(_n.x+_n.w/2))/_n.w*.4;Zi>.28&&(Zi=.28),Zi<-.28&&(Zi=-.28),St+="exitX="+Math.round((.5+Zi+fl)*100)/100+";exitY="+(jl?0:1)+";exitDx=0;exitDy=0;entryX="+Math.round((.5+Si+fl*.6)*100)/100+";entryY="+(jl?1:0)+";entryDx=0;entryDy=0;"}else if(Va[ul]>1&&!Xi&&_n&&En&&r.linetype!=="ortho"){var ku=Ol[ul]=(Ol[ul]||0)+1,iu=(ku-(Va[ul]+1)/2)*.3,Bs=_n.x+_n.w/2>En.x+En.w/2;St+="exitX="+(Bs?0:1)+";exitY="+Math.round((.5+iu)*100)/100+";exitDx=0;exitDy=0;entryX="+(Bs?1:0)+";entryY="+Math.round((.5+iu)*100)/100+";entryDx=0;entryDy=0;"}if(Va[ul]===1&&Xi&&_n&&En&&r.linetype!=="ortho"&&St.indexOf("exitX=")<0){var uh=_n.y>En.y,fh=_n.x+_n.w/2,dh=En.x+En.w/2,rv=.5+Math.max(-.25,Math.min(.25,(dh-fh)/_n.w*.35)),ev=.5+Math.max(-.25,Math.min(.25,(fh-dh)/En.w*.35));St+="exitX="+Math.round(rv*100)/100+";exitY="+(uh?0:1)+";exitDx=0;exitDy=0;entryX="+Math.round(ev*100)/100+";entryY="+(uh?1:0)+";entryDx=0;entryDy=0;"}if(r.linetype==="ortho"&&Xi&&_n&&En){var ch=_n.y<En.y,ov=En.x+En.w/2,su=(ov-_n.x)/_n.w;su<.05&&(su=.05),su>.95&&(su=.95);var tv=_n.x+su*_n.w,_u=(tv-En.x)/En.w;_u<.05&&(_u=.05),_u>.95&&(_u=.95),su=Math.round(su*1e3)/1e3,_u=Math.round(_u*1e3)/1e3,St+="exitX="+su+";exitY="+(ch?1:0)+";exitDx=0;exitDy=0;entryX="+_u+";entryY="+(ch?0:1)+";entryDx=0;entryDy=0;"}var Vd="";if(_n&&En&&Ln.from!==Ln.to&&Ln.type!=="lollipop"&&St.indexOf("edgeStyle=")<0){var jf=_n.y+_n.h<=En.y,nv=En.y+En.h<=_n.y;if(jf||nv){for(var hh=_n.x+_n.w/2,av=jf?_n.y+_n.h:_n.y,Ch=En.x+En.w/2,lv=jf?En.y:En.y+En.h,Bi=[],Qd=0;Qd<e.length;Qd++){var rc=e[Qd].id;if(!(rc===Ln.from||rc===Ln.to)){var qu=pt[rc];qu&&fi(hh,av,Ch,lv,qu.x-3,qu.y-3,qu.w+6,qu.h+6)&&Bi.push(qu)}}if(Bi.length>0){for(var ec=1/0,oc=-1/0,tc=1/0,nc=-1/0,vh=0,ji=0;ji<Bi.length;ji++)Bi[ji].y<ec&&(ec=Bi[ji].y),Bi[ji].y+Bi[ji].h>oc&&(oc=Bi[ji].y+Bi[ji].h),Bi[ji].x<tc&&(tc=Bi[ji].x),Bi[ji].x+Bi[ji].w>nc&&(nc=Bi[ji].x+Bi[ji].w),vh+=Bi[ji].x+Bi[ji].w/2;var iv=vh/Bi.length>=(hh+Ch)/2,ph=iv?tc-14:nc+14,ac=ec-10,lc=oc+10;if(!jf){var sv=ac;ac=lc,lc=sv}Vd=` <Array as="points">
169
+ <mxPoint x="`+(Math.round(ph)-Oa.x)+'" y="'+(Math.round(ac)-Oa.y)+`"/>
170
+ <mxPoint x="`+(Math.round(ph)-Oa.x)+'" y="'+(Math.round(lc)-Oa.y)+`"/>
171
+ </Array>
172
+ `,St=St.replace(/(exit|entry)(X|Y|Dx|Dy)=[-0-9.]+;/g,"")}}}var $h=P(ss,St);if(b+=' <mxCell id="'+d(he("rel"))+'" value="'+$h.value+'" style="'+d($h.style)+'" edge="1" parent="'+d(Oa.id)+'" source="'+d(Mi)+'" target="'+d(vi)+`">
173
+ `+(Vd?` <mxGeometry relative="1" as="geometry">
174
+ `+Vd+` </mxGeometry>
175
+ `:` <mxGeometry relative="1" as="geometry"/>
176
+ `)+` </mxCell>
177
+ `,Xi&&(Ln.fromCardinality||Ln.toCardinality)){var gh="text;html=1;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontSize=13;fontColor=#000000;";if(Ln.fromCardinality){var ic=xa(Ln.fromCardinality)*13/pl,Rh=_n.x+_n.w/2-ic-4,Ah=_n.y<En.y?_n.y+_n.h+4:_n.y-20,sc=ro(Rh,Ah,ic+4,16);b+=Ar(he("card"),Ln.fromCardinality,gh,Rh-sc.x,Ah-sc.y,ic+4,16,sc.id)}if(Ln.toCardinality){var uc=xa(Ln.toCardinality)*13/pl,mh=En.x+En.w/2-uc-4,kh=En.y>_n.y?En.y-20:En.y+En.h+4,fc=ro(mh,kh,uc+4,16);b+=Ar(he("card"),Ln.toCardinality,gh,mh-fc.x,kh-fc.y,uc+4,16,fc.id)}}}}}for(var dc=0;dc<Vt.length;dc++){var Vs=Vt[dc];if(Vs._midX!=null){var _h=pt[Vs.cls];if(_h){var cc=ro(Vs._midX-4,Vs._midY-4,8,8);b+=Ar(he("acdot"),"","ellipse;fillColor=#181818;strokeColor=#181818;",Vs._midX-4-cc.x,Vs._midY-4-cc.y,8,8,cc.id),b+=jr(he("aclink"),"","endArrow=none;dashed=1;dashPattern=5 5;strokeColor=#181818;html=1;",Vs._midX+4,Vs._midY,_h.x,Vs._midY,"1")}}}for(var Jf={},Vf=0;Vf<e.length;Vf++)Jf[e[Vf].id]=e[Vf];var Zu=tt,Qf=tt,ks;for(ks in pt)pt.hasOwnProperty(ks)&&pt[ks].y+pt[ks].h>Zu&&(Zu=pt[ks].y+pt[ks].h);for(ks in Pt)Pt.hasOwnProperty(ks)&&Pt[ks].y+Pt[ks].h>Zu&&(Zu=Pt[ks].y+Pt[ks].h);for(var ps=[],Ts=0;Ts<C.length;Ts++){var yl=C[Ts],Pa=yl.target?pt[yl.target]:null;if(yl.method&&Jf[yl.target]){for(var Oh=Jf[yl.target],rd=Oh.members||[],Fh=!1,Bf=0;Bf<rd.length;Bf++)if(rd[Bf].kind!=="separator"&&rd[Bf].name===yl.method){Fh=!Fr(Oh,rd[Bf].kind==="method"?"method":"field");break}if(Fh)continue}if(yl.legend){var ju=We(yl.lines||[]),hc=fo[Ts]?fo[Ts].x:Qf,Cc=fo[Ts]?fo[Ts].y:Zu+40;fo[Ts]||(Qf+=ju.w+30);var vc=ro(hc,Cc,ju.w,ju.h);b+=Tt(ju,hc-vc.x,Cc-vc.y,he,null,vc.id),ps.push({x:hc,y:Cc,w:ju.w,h:ju.h});continue}var bh=yo(yl),_s=bh.w,$s=bh.h,Ti=tt,Ii=tt,yh=yl.color?Y(yl.color.split(";")[0].split(/[\/\\|]/)[0]):null,Eh=function(cr){return yh?cr.replace(/fillColor=[^;]*;?/g,"")+"fillColor="+yh+";":cr},Dh=yl.stereotypes||[];if(yl.position==="link"){var Ou=yl._rel;if(!Ou||Ou._midX==null)continue;Ou._midVertical?(Ti=Math.round(Ou._midX+5),Ii=Math.round(Ou._midY-$s/2)):(Ti=Math.round(Ou._midX-_s/2),Ii=Math.round(Ou._midY-8-$s))}else Pa||(fo[Ts]?(Ti=fo[Ts].x,Ii=fo[Ts].y):(Ti=Qf,Ii=Zu+40,Qf+=_s+30));if(Pa&&yl.method){for(var Sh=Jf[yl.target],pc=Sh?rt(Sh):{fields:[],methods:[]},Bh=0,ed=0;ed<pc.methods.length;ed++)if(pc.methods[ed].name===yl.method){Bh=ed;break}var uv=oa+Me(pc.fields.length),fv=Pa.y+uv+Al+Bh*Ea;Ti=Pa.x+Pa.w+36,Ii=fv-$s/2}else if(Pa)switch(yl.position){case"left":Ti=Pa.x-_s-36,Ii=Pa.y+Pa.h/2-$s/2;break;case"right":Ti=Pa.x+Pa.w+36,Ii=Pa.y+Pa.h/2-$s/2;break;case"top":Ti=Pa.x+Pa.w/2-_s/2,Ii=Pa.y-$s-40;break;case"bottom":Ti=Pa.x+Pa.w/2-_s/2,Ii=Pa.y+Pa.h+40;break}var $c=he("note"),gc=ro(Ti,Ii,_s,$s),Th=P(yl.text||"",Eh(yr("shape=note;size=10;fillColor=#FEFFDD;strokeColor=#181818;fontSize=13;fontColor=#000000;whiteSpace=wrap;align=left;verticalAlign=middle;spacingLeft=4;",["note"],Dh)));b+=' <mxCell id="'+$c+'" value="'+Th.value+'" style="'+d(Th.style)+'" vertex="1" parent="'+d(gc.id)+`">
178
+ <mxGeometry x="`+(Ti-gc.x)+'" y="'+(Ii-gc.y)+'" width="'+_s+'" height="'+$s+`" as="geometry"/>
179
+ </mxCell>
180
+ `,ps.push({x:Ti,y:Ii,w:_s,h:$s});var Rc=yl.targets&&yl.targets.length?yl.targets:[yl.target];if(yl.id)for(var od=0;od<Rc.length;od++)oo[Rc[od]]&&(b+=vr(he("noteln"),"","endArrow=none;dashed=1;html=1;strokeColor=#181818;",$c,oo[Rc[od]],"1"));else if(Pa&&oo[yl.target]){var td=Eh(yr("shape=triangle;fillColor=#FEFFDD;strokeColor=#181818;strokeWidth=0.5;",["note"],Dh)),Ih=Math.round(Ii+$s/2),Nh=Math.round(Math.min(Math.max(Ti+_s/2,Pa.x+8),Pa.x+Pa.w-8)),Ac=yl.method?"right":yl.position,us=null;if(Ac==="left"&&Ti+_s<=Pa.x?us=[td+"direction=east;",Ti+_s-1,Ih-4,Math.max(6,Pa.x-(Ti+_s)+1),8]:Ac==="top"&&Ii+$s<=Pa.y?us=[td+"direction=south;",Nh-4,Ii+$s-1,8,Math.max(6,Pa.y-(Ii+$s)+1)]:Ac==="bottom"&&Ii>=Pa.y+Pa.h?us=[td+"direction=north;",Nh-4,Pa.y+Pa.h,8,Math.max(6,Ii-(Pa.y+Pa.h)+1)]:Ti>=Pa.x+Pa.w&&(us=[td+"direction=west;",Pa.x+Pa.w,Ih-4,Math.max(6,Ti-(Pa.x+Pa.w)+1),8]),us){var mc=ro(Math.round(us[1]),Math.round(us[2]),Math.round(us[3]),Math.round(us[4]));b+=Ar(he("noteptr"),"",us[0],Math.round(us[1])-mc.x,Math.round(us[2])-mc.y,Math.round(us[3]),Math.round(us[4]),mc.id)}else b+=vr(he("noteln"),"","endArrow=none;dashed=1;html=1;strokeColor=#181818;",$c,oo[yl.target],"1")}}if(r.legend&&r.legend.lines&&r.legend.lines.length){var nd=it||We(r.legend.lines),xs=1/0,Qs=-1/0,uu=-1/0,Fu;for(Fu in pt)if(pt.hasOwnProperty(Fu)){var Hs=pt[Fu];Hs.x<xs&&(xs=Hs.x),Hs.x+Hs.w>Qs&&(Qs=Hs.x+Hs.w),Hs.y+Hs.h>uu&&(uu=Hs.y+Hs.h)}for(Fu in Pt)if(!(!Pt.hasOwnProperty(Fu)||!Pt[Fu])){var Ks=Pt[Fu];Ks.x<xs&&(xs=Ks.x),Ks.x+Ks.w>Qs&&(Qs=Ks.x+Ks.w),Ks.y+Ks.h>uu&&(uu=Ks.y+Ks.h)}for(var Os=0;Os<ps.length;Os++)ps[Os].x<xs&&(xs=ps[Os].x),ps[Os].x+ps[Os].w>Qs&&(Qs=ps[Os].x+ps[Os].w),ps[Os].y+ps[Os].h>uu&&(uu=ps[Os].y+ps[Os].h);xs===1/0&&(xs=tt,Qs=tt+nd.w,uu=tt+Gt);var dv=r.legend.position==="left"?xs+5:r.legend.position==="right"?Qs-4-nd.w:(xs+Qs)/2-nd.w/2,cv=it?tt+ae+2:uu+21;b+=Tt(nd,Math.round(Math.max(tt,dv)),Math.round(cv),he)}var zs="",ad=[];function Lh(cr){for(var Ue=0,Bo=Vr[cr],Lo=l.length+1;Bo!==void 0&&Lo-- >0;)Ue++,Bo=Vr[Bo];return Ue}for(var ld=0;ld<l.length;ld++)Pt[ld]&&ad.push(ld);ad.sort(function(cr,Ue){return Lh(cr)-Lh(Ue)||cr-Ue});for(var kc=0;kc<ad.length;kc++){var id=ad[kc],Is=l[id],_i=Pt[id],Us=ra[id]||he("pkg"),fu=Xt(Vr[id]),Ju=_i.x-fu.x,Vu=_i.y-fu.y,Tf=(Is.stereotype||"").toLowerCase(),Qu="container=1;collapsible=0;";tr=Is.stereotype?[Is.stereotype]:[];var _c="text;html=1;fillColor=none;strokeColor=none;fontColor=#000000;fontSize=14;align=center;verticalAlign=middle;";if(Tf==="node"){zs+=Ar(Us,"","shape=cube;size=10;fillColor=none;strokeColor=#000000;"+Qu,Ju,Vu,_i.w,_i.h,fu.id),zs+=Ar(he("pkgl"),Is.name,_c,0,15,_i.w-10,20,Us);continue}if(Tf==="rectangle"){zs+=Ar(Us,Is.name,"rounded=0;fillColor=none;strokeColor=#000000;fontColor=#000000;fontSize=14;align=left;verticalAlign=top;spacingLeft=6;spacingTop=2;"+Qu,Ju,Vu,_i.w,_i.h,fu.id);continue}if(Tf==="cloud"){zs+=Ar(Us,"","shape=mxgraph.basic.cloud_rect;fillColor=none;strokeColor=#000000;"+Qu,Ju,Vu,_i.w,_i.h,fu.id),zs+=Ar(he("pkgl"),Is.name,_c,0,12,_i.w,20,Us);continue}if(Tf==="database"){zs+=Ar(Us,"","shape=cylinder3;size=10;boundedLbl=1;backgroundOutline=1;fillColor=none;strokeColor=#000000;"+Qu,Ju,Vu,_i.w,_i.h,fu.id),zs+=Ar(he("pkgl"),Is.name,_c,0,24,_i.w,20,Us);continue}if(Tf==="frame"){var Oc=Math.round(Math.min(_i.w,xa(Is.name)+22));Oc<30&&(Oc=30);var Gh=fr(Us,"shape=umlFrame;width="+Oc+";height="+rl+";html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontSize=14;align=left;verticalAlign=middle;spacingLeft=4;"+Qu),wh=/(?:^|;)fillColor=([^;]+);/.exec(Gh);zs+=$(Us,Is.name,Gh+"swimlaneFillColor="+(wh?wh[1]:"none")+";",Ju,Vu,_i.w,_i.h,fu.id);continue}var Fc=Math.round(Math.min(_i.w,xa(Is.name)+20));Fc<30&&(Fc=30),zs+=Ar(Us,Is.name,"shape=folder;tabWidth="+Fc+";tabHeight="+rl+";tabPosition=left;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontSize=14;align=left;verticalAlign=top;spacingLeft=6;spacingTop=1;"+Qu,Ju,Vu,_i.w,_i.h,fu.id)}return zs+b}function Oi(r,a){var e="";return r.visibility&&!a&&(e+=r.visibility+" "),r.text!=null?e+=r.text:(e+=r.name,r.kind==="method"?(r.params!==null&&r.params!==void 0&&(e+="("+r.params+")"),r.returnType&&(e+=": "+r.returnType)):r.type&&(e+=": "+r.type)),e.replace(/<<\s*([^<>]*?)\s*>>/g,"\xAB$1\xBB")}function Vl(r){return is(r,14,!1)}var gi=140,el=36,$a=20,li=40,wl=30,Xa=20,Ql=24,Ll=40,Dl=28,qa=24,pi=10,Fi=12,bi=80,Ki=6,ts=8,di=15,ns=18,Vi=10;function cu(r,a){var e=0;function h(we){return(we||"act")+"_"+e++}function l(we,Eo,Et){var Cr=H(ce,de(we),Eo||[],"text"),Lr=Cr.fontSize?parseInt(Cr.fontSize,10):0;return Lr>0?Lr:Et}function C(we,Eo){for(var Et=l(["activity"],Eo,12),Cr={size:Et,bold:!1,italic:!1,family:"sans",name:"SansSerif"},Lr=String(we??"").replace(/\\r\\n|\\n|\\r/g,`
181
+ `).replace(/(^|\n)\s*[*#]+\s+/g,"$1\u2022 ").split(`
182
+ `),He=0,Ie=0;Ie<Lr.length;Ie++){var Oe=Uf(Lr[Ie],Cr);Oe>He&&(He=Oe)}return Math.max(30,Math.round(He+20))}function b(we){var Eo=l(["activity","diamond"],[],11);return Math.max(Ll,Math.round(is(we||"",Eo,!1)+24))}var Z=13,v=15.3,er=20,X=10,V="stencil(jVHRDoIwDPyavZqNhvgBiE/+RHVVFmEj2wT9e7eUoJCQ8HZ3vbXXTkAVGuxJFNJiRwJOoiiCbi8OdUJJbliDkunIVCnJHENPt8jigN7gtSWuhOjdk0aj49TC2Ia8ibkKtYDq7jw9vHtZzbzH7Myoc0NO9OZ30+QPM557ZmNr7J9RLozqeCi3vcumsHAm8MvCa8y1rZBK7o45325X0HXj/VETWJ84SfzdUH8B)";function tr(we){for(var Eo=(we.text||"").split(`
183
+ `),Et=0,Cr=0;Cr<Eo.length;Cr++){var Lr=Vl(Eo[Cr])*(Z/14);Lr>Et&&(Et=Lr)}return{w:Math.max(30,Math.round(Et+21)),h:Math.round(Eo.length*v+10)}}function wr(we,Eo,Et){var Cr=we.length===1,Lr={left:[],right:[]},He=["left","right"],Ie={left:0,right:0},Oe={left:0,right:0},so,Xo;for(so=0;so<we.length;so++){var qo=tr(we[so]);Xo=we[so].position==="right"?"right":"left",Lr[Xo].push({node:we[so],w:qo.w,h:qo.h}),Ie[Xo]+=qo.h+(Cr?0:2*X),qo.w>Oe[Xo]&&(Oe[Xo]=qo.w)}var Yn=Math.max(Et,Ie.left,Ie.right),Nt=[];for(so=0;so<2;so++){Xo=He[so];for(var Da=(Yn-Ie[Xo])/2,je=Cr?0:X,_r=Cr?er:X,Ho=0;Ho<Lr[Xo].length;Ho++){var Ce=Lr[Xo][Ho],ln=Xo==="left"?-_r-Ce.w-(Oe.left-Ce.w)/2:Eo+_r+(Oe.right-Ce.w)/2;Nt.push({node:Ce.node,side:Xo,w:Ce.w,h:Ce.h,dx:Math.round(ln),dy:Math.round(Da+je),pointer:Cr&&!Ce.node.floating}),Da+=Ce.h+2*je}}return{totalH:Yn,actDy:Math.round((Yn-Et)/2),notes:Nt}}function yr(we){return Fr("shape=note;size=10;fillColor="+(Y(we.color)||"#FEFFDD")+";strokeColor=#181818;strokeWidth=0.5;fontSize="+Z+";fontColor=#000000;whiteSpace=wrap;align=left;verticalAlign=middle;spacingLeft=4;",["note"],Ir(we),"vertex",we.color?Nr:null)}function fr(we){if(!we||!we.length)return Ll;for(var Eo=Ll,Et=0;Et<we.length;Et++){var Cr=we[Et],Lr=Ll;if(Cr.type==="action")Lr=C(Cr.label||"",Ir(Cr))+(Cr.shape==="input"||Cr.shape==="output"?10:0);else if(Cr.type==="if"){var He=fr(Cr.elseBranch);if(Cr.elseIfBranches)for(var Ie=0;Ie<Cr.elseIfBranches.length;Ie++){var Oe=fr(Cr.elseIfBranches[Ie].body);Oe>He&&(He=Oe)}Lr=fr(Cr.thenBranch)+32+He}else if(Cr.type==="while"||Cr.type==="repeat"){if(Lr=fr(Cr.body)+gi/2,Cr.type==="repeat"){if(Cr.label){var so=C(Cr.label)+gi/2;so>Lr&&(Lr=so)}Cr.backward&&(Lr+=C(Cr.backward.label||""))}}else Cr.type==="switch"?Lr=(Cr.cases?Cr.cases.length:1)*(gi+li):(Cr.type==="fork"||Cr.type==="split")&&(Lr=(Cr.branches?Cr.branches.length:1)*(gi+li));Lr>Eo&&(Eo=Lr)}return Eo}var Ar="#F1F1F1",jr=r.arrowHeadColor==="none"||r.arrowHeadColor==="transparent"?"endArrow=none;":"endArrow=classic;endSize=8;",ce=r.styleSheet||null,Nr=["fillColor","gradientColor"];function de(we){return["root","element","activityDiagram"].concat(we)}function Fr(we,Eo,Et,Cr,Lr){return W(we,ce,de(Eo),Et||[],Cr||"vertex",Lr)}function Ir(we){return we.stereotypes||(we.stereotype?[we.stereotype]:[])}function qe(){var we=H(ce,de(["activityBar"]),[],"vertex");return we.fillColor!=null&&we.strokeColor==null&&(we.strokeColor=we.fillColor),M("shape=rectangle;fillColor=#555555;strokeColor=#555555;",we)}var To=H(ce,de(["arrow"]),[],"edge"),ne=function(we,Eo,Et,Cr,Lr,He,Ie,Oe){return B(we,Eo,M(Et,To),Cr,Lr,He,Ie,Oe)},po="endArrow=none;startArrow=none;strokeColor=none;",ao=function(we,Eo,Et,Cr,Lr,He,Ie,Oe){return B(we,Eo,M(Et,To)+po,Cr,Lr,He,Ie,Oe)},A="",J=wl+gi/2,ur=wl,Sr=[];function Er(){return Sr.push([]),Sr[Sr.length-1]}function qr(){return Sr.pop()}function z(we,Eo,Et,Cr){for(var Lr="",He=0;He<we.length;He++){var Ie=Math.min(we[He].y+10,Et),Oe="endArrow=none;strokeColor=#181818;";Lr+=ne(h("e"),"",Oe,we[He].x,we[He].y,we[He].x,Ie,Cr),Lr+=ne(h("e"),"",Oe,we[He].x,Ie,Eo,Ie,Cr)}return Lr}function Mr(we){if(we==null)return"";var Eo="",Et=we.color?Y(we.color):null;return Et&&(Eo+="strokeColor="+Et+";"),we.dashed?Eo+="dashed=1;dashPattern=7 7;strokeWidth=1.5;":we.dotted&&(Eo+="dashed=1;dashPattern=1 3;strokeWidth=1.5;"),we.bold?Eo+="strokeWidth=2;":we.thickness>0&&(Eo+="strokeWidth="+we.thickness+";"),Eo}function Be(we,Eo,Et){var Cr=Eo,Lr=Et,He=null,Ie=Lr,Oe=Cr,so=Cr+gi/2,Xo=null;function qo(ul,ti,fl,jl,Si){var Zi="endArrow=none;strokeColor=#181818;",ku=!1;if(ul===null){var iu=Mr(Xo);ku=!!(Xo&&Xo.hidden),ul=Xo?Xo.label:"",ti+=iu,Zi+=iu,Xo=null}if(ku)return ul?ao(h("e"),ul,ti,Oe,Ie,fl,jl,Si):"";if(Oe===fl)return ne(h("e"),ul,ti,fl,Ie,fl,jl,Si);var Bs=jl-di>=Ie+5?jl-di:Math.round((Ie+jl)/2);return ne(h("e"),"",Zi,Oe,Ie,Oe,Bs,Si)+ne(h("e"),"",Zi,Oe,Bs,fl,Bs,Si)+ne(h("e"),ul,ti,fl,Bs,fl,jl,Si)}function Yn(ul,ti,fl,jl,Si,Zi,ku,iu){var Bs=ul&&ul.length>0?ul[0]:null;return Bs&&Bs.type==="arrowLabel"&&Bs.hidden?ti?ao(h("e"),ti,fl,jl,Si,Zi,ku,iu):"":ne(h("e"),ti,fl,jl,Si,Zi,ku,iu)}function Nt(ul,ti,fl){var jl=h("rail");return A+=s(jl,"",M("shape=line;strokeColor=#181818;strokeWidth=1;fillColor=none;",To),ul,fl-ts/2,ti-ul,ts,"1"),jl}function Da(ul,ti,fl,jl){var Si=qa/2,Zi=jl+Si;return Math.abs(ul-fl)<=1?ne(h("e"),"",jr+"strokeColor=#181818;",ul,ti,fl,jl,"1"):ne(h("e"),"","endArrow=none;strokeColor=#181818;",ul,ti,ul,Zi,"1")+ne(h("e"),"",jr+"strokeColor=#181818;",ul,Zi,ul<fl?fl-Si:fl+Si,Zi,"1")}for(var je=0;je<we.length;je++){var _r=we[je],Ho=h(_r.type);switch(_r.type){case"start":{var Ce=Y(_r.color)||"#222222",ln=Y(_r.lineColor)||Ce;A+=s(Ho,"",Fr("ellipse;fillColor="+Ce+";strokeColor="+ln+";",["circle","start"],null,"vertex",_r.color?Nr:null),Cr-Xa/2,Lr,Xa,Xa,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1")),He=Ho,Oe=Cr,Ie=Lr+Xa,Lr+=Xa+$a;break}case"stop":{A+=s(Ho,"",Fr("ellipse;shape=endState;fillColor=#222222;strokeColor=#222222;",["circle","stop"]),Cr-Ql/2,Lr,Ql,Ql,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1")),He=Ho,Oe=Cr,Ie=Lr+Ql,Lr+=Ql+$a;break}case"end":{A+=s(Ho,"",Fr("ellipse;fillColor=#222222;strokeColor=#222222;",["circle","end"]),Cr-Xa/2,Lr,Xa,Xa,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1")),He=Ho,Oe=Cr,Ie=Lr+Xa,Lr+=Xa+$a;break}case"action":{for(var nt=Y(_r.color)||"#F1F1F1",wo=_r.label||"",xn=wo.split(`
184
+ `),Lt=C(wo,Ir(_r)),Ft=Math.max(el,Math.round(20+xn.length*16.3)),fe=_r.shape||null,ge=Lt+(fe==="input"||fe==="output"?10:0),qt=[];je+1<we.length&&we[je+1].type==="note";)qt.push(we[++je]);var et=qt.length?wr(qt,ge,Ft):null,en=Lr+(et?et.actDy:0),Zt=Cr-Lt/2,qn="fillColor="+nt+";strokeColor=#181818;strokeWidth=0.5;whiteSpace=wrap;fontSize=12;align=left;spacingLeft=6;",Ko;if(fe==="input"||fe==="output"){var Hn=Math.round(1e4*(1-10/ge))/1e4;Ko="shape=mxgraph.basic.polygon;polyline=0;polyCoords="+(fe==="input"?"[[0,0],[1,0],["+Hn+",0.5],[1,1],[0,1]]":"[[0,0],["+Hn+",0],[1,0.5],["+Hn+",1],[0,1]]")+";"+qn}else fe==="procedure"?Ko="shape=process;size=5;fixedSize=1;"+qn:fe==="save"?Ko="shape=parallelogram;size=10;fixedSize=1;"+qn:fe==="load"?Ko="shape=parallelogram;size=10;fixedSize=1;flipH=1;"+qn:fe==="task"?Ko="rounded=0;"+qn:fe==="continuous"?Ko="shape="+V+";"+qn:Ko="rounded=1;absoluteArcSize=1;arcSize=25;"+qn;if(Ko=Fr(Ko,["activity"],Ir(_r),"vertex",_r.color?Nr:null),f(wo)?A+=K(Ho,O(wo),Ko+"html=1;",Zt,en,ge,Ft,"1"):A+=s(Ho,wo,Ko,Zt,en,ge,Ft,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,en,"1")),et)for(var aa=0;aa<et.notes.length;aa++){var Je=et.notes[aa],sn=h("note");if(Je.pointer){var Bn=Je.side==="left"?Zt+Je.dx+Je.w-1:Zt+ge;A+=s(h("noteptr"),"",Fr("triangle;direction="+(Je.side==="left"?"east":"west")+";fillColor="+(Y(Je.node.color)||"#FEFFDD")+";strokeColor=#181818;strokeWidth=0.5;",["note"],Ir(Je.node),"vertex",Je.node.color?Nr:null),Bn,Math.round(Lr+Je.dy+Je.h/2-4),er+1,8,"1")}A+=s(sn,Je.node.text||"",yr(Je.node),Zt+Je.dx,Lr+Je.dy,Je.w,Je.h,"1"),Zt+Je.dx+Je.w>so&&(so=Zt+Je.dx+Je.w)}He=Ho,Oe=Cr,Ie=en+Ft,Lr+=(et?et.totalH:Ft)+$a;break}case"if":{let ul=function(ti){if(!ti||ti.length===0)return!1;var fl=ti[ti.length-1];return fl.type==="break"?Sr.length>0:fl.type==="stop"||fl.type==="end"||fl.type==="kill"||fl.type==="detach"||fl.type==="goto"};if(_r.elseIfBranches&&_r.elseIfBranches.length>0){let ti=function(fl){if(!fl||fl.length===0)return!1;var jl=fl[fl.length-1];return jl.type==="stop"||jl.type==="end"||jl.type==="kill"||jl.type==="detach"||jl.type==="goto"};for(var $t=[{condition:_r.condition,thenLabel:_r.thenLabel,body:_r.thenBranch||[]}],mo=0;mo<_r.elseIfBranches.length;mo++)$t.push(_r.elseIfBranches[mo]);var Pt=Lr,ra=Pt+Dl/2,Ut=Pt+Dl+$a,Wn=42,yt=[],Zn=[];for(mo=0;mo<$t.length;mo++){var on=b($t[mo].condition);yt.push(on),Zn.push(Math.max(on,fr($t[mo].body)))}var va=[],ga=Cr;for(mo=0;mo<$t.length;mo++)mo>0&&(ga+=Zn[mo-1]/2+Wn+Zn[mo]/2),va.push(ga);var jn=_r.elseBranch&&_r.elseBranch.length>0,Fn=jn?Math.max(fr(_r.elseBranch),60):0,Mn=ga+Zn[$t.length-1]/2+Wn+Fn/2;He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Pt,"1"));var la=[],Tn=[],gt=[],Rt=[],Jt=Ut;for(mo=0;mo<$t.length;mo++){var ct=$t[mo],wn=va[mo];A+=s(h("diamond"),ct.condition||"",Fr("shape=hexagon;perimeter=hexagonPerimeter2;fillColor="+Ar+";strokeColor=#181818;whiteSpace=wrap;fontSize=11;",["activity","diamond"]),wn-yt[mo]/2,Pt,yt[mo],Dl,"1"),mo>0&&(A+=ne(h("e"),"",jr+"strokeColor=#181818;",va[mo-1]+yt[mo-1]/2,ra,wn-yt[mo]/2,ra,"1")),A+=ne(h("e"),ct.thenLabel||"",jr+"strokeColor=#181818;fontSize=11;",wn,Pt+Dl,wn,Ut,"1");var In=Ut,ko=null;ct.body&&ct.body.length>0&&(ko=Be(ct.body,wn,Ut),In=ko.prevY||ko.y,ko.maxX>so&&(so=ko.maxX)),la.push(ko!=null?ko.prevX:wn),Tn.push(In),gt.push(ko!=null?ko.lastId:null),Rt.push(!ti(ct.body)),In>Jt&&(Jt=In),wn+Zn[mo]/2>so&&(so=wn+Zn[mo]/2)}if(jn){A+=ne(h("e"),_r.elseLabel||"","endArrow=none;strokeColor=#181818;fontSize=11;",va[$t.length-1]+yt[$t.length-1]/2,ra,Mn,ra,"1"),A+=ne(h("e"),"",jr+"strokeColor=#181818;",Mn,ra,Mn,Ut,"1");var Do=Be(_r.elseBranch,Mn,Ut),Rr=Do.prevY||Do.y;Do.maxX>so&&(so=Do.maxX),Mn+Fn/2>so&&(so=Mn+Fn/2),la.push(Do.prevX),Tn.push(Rr),gt.push(Do.lastId),Rt.push(!ti(_r.elseBranch)),Rr>Jt&&(Jt=Rr)}var xr=Jt+$a,br=1/0,Br=-1/0,Pr=0,Xe=-1;for(mo=0;mo<la.length;mo++)Rt[mo]&&(Pr++,Xe=mo,la[mo]<br&&(br=la[mo]),la[mo]>Br&&(Br=la[mo]));if(Pr>1){var zr=Nt(br,Br,xr);for(mo=0;mo<la.length;mo++)Rt[mo]&&(A+=ne(h("e"),"",jr+"strokeColor=#181818;",la[mo],Tn[mo],la[mo],xr,"1"));Cr=Math.round((br+Br)/2),He=zr,Oe=Cr,Ie=xr,Lr=xr+$a}else Pr===1?(Cr=la[Xe],He=gt[Xe]||He,Oe=la[Xe],Ie=Tn[Xe],Lr=Jt+$a):(He=null,Lr=Jt+$a);break}var Ke=h("diamond"),De=b(_r.condition);A+=s(Ke,_r.condition||"",Fr("shape=hexagon;perimeter=hexagonPerimeter2;fillColor="+Ar+";strokeColor=#181818;whiteSpace=wrap;fontSize=11;",["activity","diamond"]),Cr-De/2,Lr,De,Dl,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1"));var ze=Lr+Dl/2,So=Lr+Dl+$a,ot=[];if(_r.elseIfBranches&&_r.elseIfBranches.length>0)for(var ve=0;ve<_r.elseIfBranches.length;ve++)for(var Yt=0;Yt<_r.elseIfBranches[ve].body.length;Yt++)ot.push(_r.elseIfBranches[ve].body[Yt]);if(_r.elseBranch)for(var At=0;At<_r.elseBranch.length;At++)ot.push(_r.elseBranch[At]);var ht=ot.length>0,Vt=fr(_r.thenBranch),Pn=fr(ot),Ae=32,Fe=ht?Math.round(Cr-(Ae/2+Vt/2)):Cr,le=Math.round(Cr+(Ae/2+Pn/2)),Ne=So,Qe=So,tn=Fe,Vo=!1;if(A+=Yn(_r.thenBranch,_r.thenLabel||"","endArrow=none;strokeColor=#181818;fontSize=11;",Cr-De/2,ze,Fe,ze,"1"),A+=Yn(_r.thenBranch,"",jr+"strokeColor=#181818;",Fe,ze,Fe,So,"1"),_r.thenBranch&&_r.thenBranch.length>0){var xo=Be(_r.thenBranch,Fe,So);Ne=xo.prevY||xo.y,tn=xo.prevX,Qe=Math.max(Ne,xo.y-$a),Vo=!0,xo.maxX>so&&(so=xo.maxX)}var Co=So,mn=So,pn=le,hn=!1;if(ht){A+=Yn(ot,_r.elseLabel||"","endArrow=none;strokeColor=#181818;fontSize=11;",Cr+De/2,ze,le,ze,"1"),A+=Yn(ot,"",jr+"strokeColor=#181818;",le,ze,le,So,"1");var Dt=Be(ot,le,So);Co=Dt.prevY||Dt.y,pn=Dt.prevX,mn=Math.max(Co,Dt.y-$a),hn=!0,Dt.maxX>so&&(so=Dt.maxX),le+Pn/2>so&&(so=le+Pn/2)}var ca=!Vo||!ul(_r.thenBranch),ea=!hn||!ul(ot),me=(ca?1:0)+(ea?1:0);if(me===1&&(Vo||hn)){He=(ca?Vo?xo.lastId:null:hn?Dt.lastId:null)||Ke,Oe=ca?tn:pn,Ie=ca?Ne:Co,Lr=Math.max(Qe,mn)+$a;break}Lr=Math.max(Qe,mn)+$a;var ie=h("merge"),pe=qa/2;A+=s(ie,"",Fr("rhombus;fillColor="+Ar+";strokeColor=#181818;",["activity","diamond"]),Cr-pe,Lr,qa,qa,"1"),Vo&&ca&&(A+=Da(tn,Ne,Cr,Lr)),hn&&ea&&(A+=Da(pn,Co,Cr,Lr)),He=ie,Oe=Cr,Ie=Lr+qa,Lr+=qa+$a;break}case"while":{var ke=h("wdiamond"),Re=b(_r.condition),$o=Lr,Jo=Lr+Dl/2;A+=s(ke,_r.condition||"",Fr("shape=hexagon;perimeter=hexagonPerimeter2;fillColor="+Ar+";strokeColor=#181818;whiteSpace=wrap;fontSize=11;",["activity","diamond"]),Cr-Re/2,Lr,Re,Dl,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1"));var Wt=Lr+Dl+$a+14;A+=Yn(_r.body,_r.isLabel||"",jr+"strokeColor=#181818;fontSize=11;",Cr,Lr+Dl,Cr,Wt,"1");var at=Wt,Nn=Wt,ia=Cr,sa=Er();if(_r.body&&_r.body.length>0){var ka=Be(_r.body,Cr,Wt);at=ka.y,Nn=ka.prevY||at,ia=ka.prevX,ka.maxX>so&&(so=ka.maxX)}qr();var Po=Cr+(_r.body&&_r.body.length>0?fr(_r.body)/2:0),Ct=Math.round(Math.max(Cr+Re/2,Po)+15),bt=Nn+10;A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",ia,Nn,ia,bt,"1"),A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",ia,bt,Ct,bt,"1"),A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",Ct,bt,Ct,Jo,"1"),A+=ne(h("e"),"",jr+"strokeColor=#181818;",Ct,Jo,Cr+Re/2,Jo,"1");var Vr=_r.body&&_r.body.length>0?fr(_r.body)/2:0,to=Math.round(Cr-Math.max(Re/2+18,Vr+24)),Xt=Nn+26;A+=ne(h("e"),_r.endLabel||"","endArrow=none;strokeColor=#181818;fontSize=11;",Cr-Re/2,Jo,to,Jo,"1"),A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",to,Jo,to,Xt,"1"),A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",to,Xt,Cr,Xt,"1"),A+=z(sa,to,Xt,"1"),He=ke,Oe=Cr,Ie=Xt,Lr=Xt+$a;break}case"repeat":{He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1"));var ha=h("rstart"),Wr=Lr,ro=24,te=24;if(_r.label){var ue=Y(_r.color)||"#F1F1F1";ro=C(_r.label),te=Math.max(el,Math.round(20+_r.label.split(`
185
+ `).length*16.3)),A+=s(ha,_r.label,Fr("rounded=1;absoluteArcSize=1;arcSize=25;fillColor="+ue+";strokeColor=#181818;strokeWidth=0.5;whiteSpace=wrap;fontSize=12;align=left;spacingLeft=6;",["activity"],null,"vertex",_r.color?Nr:null),Cr-ro/2,Lr,ro,te,"1")}else A+=s(ha,"",Fr("rhombus;fillColor="+Ar+";strokeColor=#181818;",["activity","diamond"]),Cr-12,Lr,24,24,"1");var zo=Math.round(Wr+te/2),nn=Cr+ro/2,Fa=Wr+te+$a;A+=ne(h("e"),"",jr+"strokeColor=#181818;",Cr,Wr+te,Cr,Fa,"1"),Lr=Fa;var Kn=Lr,bn=Lr,Ve=Cr+Ll/2,Yo=Er();if(_r.body&&_r.body.length>0){var st=Be(_r.body,Cr,Lr);Kn=st.prevY||st.y,st.maxX>so&&(so=st.maxX),st.maxX>Ve&&(Ve=st.maxX),bn=Kn+$a,He=st.lastId,Oe=st.prevX,Ie=Kn,He&&(A+=qo("",jr+"strokeColor=#181818;",Cr,bn,"1"))}qr();var Ca=h("rdiamond"),Mt=!_r.condition,Re=Mt?qa:b(_r.condition),Ra=Mt?qa:Dl,Xn=bn+Ra/2;A+=s(Ca,_r.condition||"",Fr(Mt?"rhombus;fillColor="+Ar+";strokeColor=#181818;":"shape=hexagon;perimeter=hexagonPerimeter2;fillColor="+Ar+";strokeColor=#181818;whiteSpace=wrap;fontSize=11;",["activity","diamond"]),Cr-Re/2,bn,Re,Ra,"1");var _a=0,Ka=0;_r.backward&&(_a=C(_r.backward.label||""),Ka=Math.max(el,Math.round(20+(_r.backward.label||"").split(`
186
+ `).length*16.3)));var yn=Math.round(Math.max(Cr+Re/2,Ve,nn)+12+_a/2);if(A+=ne(h("e"),_r.isLabel||"","endArrow=none;strokeColor=#181818;fontSize=11;",Cr+Re/2,Xn,yn,Xn,"1"),_r.backward){var ua=Math.round((Wr+te+Xn)/2-Ka/2);A+=ne(h("e"),_r.backward.incomingLabel||"",jr+"strokeColor=#181818;fontSize=11;",yn,Xn,yn,ua+Ka,"1"),A+=s(h("backward"),_r.backward.label||"",Fr("rounded=1;absoluteArcSize=1;arcSize=25;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;whiteSpace=wrap;fontSize=12;align=left;spacingLeft=6;",["activity"]),yn-_a/2,ua,_a,Ka,"1"),A+=ne(h("e"),_r.backward.outgoingLabel||"","endArrow=none;strokeColor=#181818;fontSize=11;",yn,ua,yn,zo,"1")}else A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",yn,Xn,yn,zo,"1");if(A+=ne(h("e"),"",jr+"strokeColor=#181818;",yn,zo,nn,zo,"1"),yn+_a/2>so&&(so=yn+_a/2),He=Ca,Oe=Cr,Ie=bn+Ra,Yo.length>0){var Ya=bn+Ra+$a,fa=Ya+qa/2,xt=Math.round(Cr-Math.max(Re/2+18,Ve-Cr+24)),Ja=h("rmerge");A+=ne(h("e"),"",jr+"strokeColor=#181818;",Cr,Ie,Cr,Ya,"1"),A+=s(Ja,"",Fr("rhombus;fillColor="+Ar+";strokeColor=#181818;",["activity","diamond"]),Cr-qa/2,Ya,qa,qa,"1"),A+=z(Yo,xt,fa,"1"),A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",xt,Math.min(Yo[0].y+10,fa),xt,fa,"1"),A+=ne(h("e"),"",jr+"strokeColor=#181818;",xt,fa,Cr-qa/2,fa,"1"),He=Ja,Ie=Ya+qa}Xo=_r.exitArrow||(_r.notLabel?{label:_r.notLabel}:null),Xo&&!Xo.label&&(Xo.label=_r.notLabel||""),Lr=Ie+$a+14;break}case"fork":{for(var uo=_r.branches?_r.branches.length:0,Jn=[],Sa=0,da=0;da<uo;da++){var ma=fr(_r.branches[da]);Jn.push(ma),Sa+=ma}uo>1&&(Sa+=pi*(uo-1));for(var Ha=Cr-Sa/2,Sl=[],$l=0,ml=0;ml<uo;ml++)Sl.push(Math.round(Ha+$l+Jn[ml]/2)),$l+=Jn[ml]+pi;var Pl=Math.round(Ha-Fi),Yl=Math.round(Sa+2*Fi);Yl<bi&&(Pl=Math.round(Cr-bi/2),Yl=bi);var ri=h("forkbar");A+=s(ri,"",qe(),Pl,Lr,Yl,Ki,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1"));for(var wi=Lr+Ki,mi=wi+$a,Cl=mi,ll=[],yi=0;yi<uo;yi++){var rs=Sl[yi];A+=Yn(_r.branches[yi],"",jr+"strokeColor=#181818;",rs,wi,rs,mi,"1");var Xl=Be(_r.branches[yi],rs,mi);ll.push({bx:Xl.prevX,by:Xl.prevY||Xl.y,alive:Xl.lastId!=null||!(_r.branches[yi]||[]).length}),Xl.y>Cl&&(Cl=Xl.y),Xl.maxX>so&&(so=Xl.maxX)}Lr=Cl;for(var ql=0;ql<ll.length;ql++)ll[ql].alive&&(A+=ne(h("e"),"",jr+"strokeColor=#181818;",ll[ql].bx,ll[ql].by,ll[ql].bx,Lr,"1"));var hi=h("joinbar");A+=s(hi,"",qe(),Pl,Lr,Yl,Ki,"1"),Pl+Yl>so&&(so=Pl+Yl),He=hi,Oe=Cr,Ie=Lr+Ki,Lr+=Ki+$a;break}case"split":{for(var ei=_r.branches?_r.branches.length:0,Pi=[],pa=0,kn=0;kn<ei;kn++){var Na=fr(_r.branches[kn]);Pi.push(Na),pa+=Na}ei>1&&(pa+=pi*(ei-1));for(var ol=Cr-pa/2,il=[],tl=0,ba=0;ba<ei;ba++)il.push(Math.round(ol+tl+Pi[ba]/2)),tl+=Pi[ba]+pi;var dl=Lr,Ml=ei>1,Bl=dl+$a;Ml&&(He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,dl,"1")),Nt(il[0],il[ei-1],dl));for(var Ei=Bl,ta=[],ii=0;ii<ei;ii++){var Yi=il[ii];Ml?A+=Yn(_r.branches[ii],"",jr+"strokeColor=#181818;",Yi,dl,Yi,Bl,"1"):He&&(A+=qo(null,jr+"strokeColor=#181818;",Yi,Bl,"1"));var Tl=Be(_r.branches[ii],Yi,Bl);ta.push({bx:Tl.prevX,by:Tl.prevY||Tl.y,id:Tl.lastId,alive:Tl.lastId!=null||!(_r.branches[ii]||[]).length}),Tl.y>Ei&&(Ei=Tl.y),Tl.maxX>so&&(so=Tl.maxX)}var oi=Ei;if(Ml){for(var xl=Nt(il[0],il[ei-1],oi),nl=0;nl<ta.length;nl++)ta[nl].alive&&(A+=ne(h("e"),"",jr+"strokeColor=#181818;",ta[nl].bx,ta[nl].by,ta[nl].bx,oi,"1"));He=xl,Oe=Cr,Ie=oi,Lr=oi+$a}else ei===1&&(He=ta[0].alive?ta[0].id||He:null,Oe=ta[0].bx,Ie=ta[0].by,Lr=Ei);break}case"switch":{var Gl=h("swdiamond"),Re=b(_r.condition),Zl=Lr+Dl/2,Ci=Lr+Dl,As=Y(_r.color)||Ar;A+=s(Gl,_r.condition||"",Fr("shape=hexagon;perimeter=hexagonPerimeter2;fillColor="+As+";strokeColor=#181818;whiteSpace=wrap;fontSize=11;",["activity","diamond"],null,"vertex",_r.color?Nr:null),Cr-Re/2,Lr,Re,Dl,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1"));for(var za=Lr+Dl+$a+14,vl=za,Va=_r.cases?_r.cases.length:0,Ol=[],Fl=0,cl=0;cl<Va;cl++){var al=(_r.cases[cl].label||"").length*5.5+20,ki=Math.max(fr(_r.cases[cl].body),al);Ol.push(ki),Fl+=ki}Va>1&&(Fl+=li*(Va-1));for(var Ln=Cr-Fl/2,Mi=[],vi=0,Di=0;Di<Va;Di++)Mi.push(Math.round(Ln+vi+Ol[Di]/2)),vi+=Ol[Di]+li;for(var Wi=[],si=0;si<Va;si++){var Il=Mi[si];if(Il<Cr-1?(A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",Cr-Re/2,Zl,Il,Zl,"1"),A+=ne(h("e"),_r.cases[si].label||"",jr+"strokeColor=#181818;fontSize=11;",Il,Zl,Il,za,"1")):Il>Cr+1?(A+=ne(h("e"),"","endArrow=none;strokeColor=#181818;",Cr+Re/2,Zl,Il,Zl,"1"),A+=ne(h("e"),_r.cases[si].label||"",jr+"strokeColor=#181818;fontSize=11;",Il,Zl,Il,za,"1")):A+=ne(h("e"),_r.cases[si].label||"",jr+"strokeColor=#181818;fontSize=11;",Cr,Ci,Il,za,"1"),_r.cases[si].body&&_r.cases[si].body.length>0){var Ht=Be(_r.cases[si].body,Il,za);Ht.y>vl&&(vl=Ht.y),Ht.maxX>so&&(so=Ht.maxX),Wi.push({x:Ht.prevX,y:Ht.prevY||za})}else Wi.push({x:Il,y:za})}var ya=vl+$a,Oa=qa/2,ie=h("swmerge");A+=s(ie,"",Fr("rhombus;fillColor="+As+";strokeColor=#181818;",["activity","diamond"],null,"vertex",_r.color?Nr:null),Cr-Oa,ya,qa,qa,"1");for(var St=0;St<Wi.length;St++)A+=Da(Wi[St].x,Wi[St].y,Cr,ya);He=ie,Oe=Cr,Ie=ya+qa,Lr=ya+qa+$a;break}case"note":{var kl=tr(_r),bl=_r.position==="left"?Cr-gi/2-kl.w-X:Cr+gi/2+X;A+=s(Ho,_r.text||"",yr(_r),bl,Math.round(Ie-el/2-kl.h/2),kl.w,kl.h,"1"),He&&(A+=vr(h("noteln"),"","endArrow=none;dashed=1;html=1;strokeColor=#181818;",Ho,He,"1")),bl+kl.w>so&&(so=bl+kl.w);break}case"partition":{if(!_r.body||_r.body.length===0)break;var ms=_r.name||_r.label||"",gu=Math.round(Vl(ms))+10,_n=20,En=Lr,Xi=En+_n+16,ss="";He&&(ss=qo(null,jr+"strokeColor=#181818;",Cr,Xi,"1"));var Cs=A;A="";for(var es=Be(_r.body,Cr,Xi),os=A,qi=Cr,Ms=Cr,Ru=Xi,Ef=/<mxGeometry x="([-\d.]+)" y="([-\d.]+)" width="([-\d.]+)" height="([-\d.]+)"/g,vs;(vs=Ef.exec(os))!=null;)+vs[1]<qi&&(qi=+vs[1]),+vs[1]+ +vs[3]>Ms&&(Ms=+vs[1]+ +vs[3]),+vs[2]+ +vs[4]>Ru&&(Ru=+vs[2]+ +vs[4]);var Js=qi-10,Au=Ms+10,mu=gu+10-(Au-Js);mu>0&&(Js-=mu/2,Au+=mu/2);var Df=Au-Js,Sf=Ru+12,Xu=Y(_r.color)||"none",Ss=H(ce,de(["partition"]),[],"vertex");_r.color?(delete Ss.fillColor,delete Ss.gradientColor):Ss.fillColor!=null&&(Ss.swimlaneFillColor=Ss.fillColor),A=Cs+s(Ho,ms,M("shape=umlFrame;width="+gu+";height="+_n+";fillColor="+Xu+";swimlaneFillColor="+Xu+";strokeColor=#181818;strokeWidth=1;fontSize=14;fontColor=#000000;align=left;verticalAlign=middle;spacingLeft=1;whiteSpace=wrap;",Ss),Js,En,Df,Sf-En,"1")+ss+os,Js+Df>so&&(so=Js+Df),He=es.lastId,Oe=es.prevX,Ie=es.prevY||es.y,Lr=Sf+$a/2;break}case"detach":{He=null,Lr-=$a/2;break}case"break":{Sr.length>0&&(Sr[Sr.length-1].push({x:Oe,y:Ie}),He=null);break}case"goto":{He=null;break}case"label":break;case"spot":{A+=s(Ho,_r.letter||"","ellipse;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;fontSize=12;fontColor=#000000;align=center;verticalAlign=middle;",Cr-Xa/2,Lr,Xa,Xa,"1"),He&&(A+=qo(null,jr+"strokeColor=#181818;",Cr,Lr,"1")),He=Ho,Oe=Cr,Ie=Lr+Xa,Lr+=Xa+$a;break}case"swimlane":break;case"arrowLabel":{Xo=_r,_r.label&&(Lr+=16);break}default:break}}return{y:Lr,maxX:so,lastId:He,prevY:Ie,prevX:Oe}}var ye=r.swimlanes||[];if(ye.length>0){let we=function(Eo){var Et=_e[Eo]!=null?_e[Eo]:0;return wl+Et*(ae+it)+ae/2};for(var Le=r.nodes||[],_e={},Ur=0;Ur<ye.length;Ur++)_e[ye[Ur].name]=Ur;for(var yo=30,fo=40,he=0;he<Le.length;he++)if(Le[he].type==="action"){var Te=C(Le[he].label||"",Ir(Le[he]));Te>fo&&(fo=Te)}for(var ae=Math.max(90,fo+56),it=0,Gt=ye[0].name,oo=wl+yo,pt=null,rt=null,jo=null,Qt=null,Me=null,Io=0;Io<Le.length;Io++){var Wo=Le[Io];if(Wo.type==="swimlane"){Gt=Wo.name;continue}if(Wo.type==="arrowLabel"){Me=Wo,Wo.label&&(oo+=ns+(String(Wo.label).split(/\\n|\n/).length-1)*Vi);continue}var Ro=we(Gt);if(Wo.type==="note"){Be([Wo],Ro,oo);continue}if(pt!=null){var An=Me&&Me.label||"",dn=Mr(Me),rn=!!(Me&&Me.hidden),Ao=jr+"strokeColor=#181818;"+dn,_t="endArrow=none;strokeColor=#181818;"+dn,ft=jo??oo-$a;if(Me=null,rn)An&&(A+=ao(h("e"),An,Ao,rt,ft,Ro,oo,"1"));else if(Qt===Gt&&rt===Ro)A+=ne(h("e"),An,Ao,rt,ft,Ro,oo,"1");else{var Se=oo-di>=ft+5?oo-di:Math.round((ft+oo)/2);A+=ne(h("e"),An,_t,rt,ft,rt,Se,"1"),A+=ne(h("e"),"",_t,rt,Se,Ro,Se,"1"),A+=ne(h("e"),"",Ao,Ro,Se,Ro,oo,"1")}}var Go=oo,wt=Be([Wo],Ro,oo);pt="tracker",rt=wt.prevX,jo=wt.prevY>Go?wt.prevY:null,Qt=Gt,oo=wt.y}for(var cn=A,No="",oe=oo,Uo=oe-$a-wl+6,Ot=wl,ho=0;ho<ye.length;ho++){var dt=ye[ho],Aa=Y(dt.color)||"none",Sn=h("lane"),an=H(ce,de(["swimlane"]),[],"vertex");dt.color?(delete an.fillColor,delete an.gradientColor):an.fillColor!=null&&(an.swimlaneFillColor=an.fillColor),No+=s(Sn,dt.name,M("swimlane;collapsible=0;startSize="+yo+";fillColor="+Aa+";swimlaneFillColor="+Aa+";strokeColor=#181818;strokeWidth=1.5;fontColor=#000000;fontSize=18;fontStyle=0;html=1;",an),Ot,wl,ae,Uo,"1"),Ot+=ae+it}return No+cn}return Be(r.nodes,J,ur),A}var Ns=41,ds=13,gs=20,Ws=7,Dd=14.13,nf=20,af=22,Ls=24,lf=80,ou=8,bs=16,tu=22,sf=12;function Du(r,a){var e=r.nodes||[],h=r.edges||[],l=r.partitions||[],C=r.skin||{},b="",Z=0,v,er,X,V,tr;if(e.length===0)return"";function wr(me){return"lg"+me+"_"+Z++}function yr(me,ie){if(ie){var pe=C[(me+"<<"+ie+">>").toLowerCase()];if(pe!=null)return pe}return C[me.toLowerCase()]}function fr(me,ie,pe){return Y(yr(me,ie))||pe}function Ar(me){return u(me||"").split(`
187
+ `)}function jr(me,ie){for(var pe=0,ke=0;ke<me.length;ke++){var Re=Gr(me[ke],ie);Re>pe&&(pe=Re)}return pe}var ce={},Nr={};for(v=0;v<e.length;v++){V=e[v],ce[V.id]=V;var de={w:0,h:0,cellId:wr(V.type),x:0,y:0};if(V.type==="start")de.w=nf,de.h=nf;else if(V.type==="end")de.w=af,de.h=af;else if(V.type==="branch")de.w=Ls,de.h=Ls;else if(V.type==="bar")de.w=lf,de.h=ou;else if(V.type==="note"){var Fr=Ar(V.label);de.w=Math.max(40,Math.round(jr(Fr,13)+22)),de.h=Math.max(24,Math.round(Fr.length*15.3+10))}else{var Ir=Ar(V.label),qe=parseFloat(yr("activityFontSize",V.stereotype))||12;de.w=Math.max(30,Math.round(jr(Ir,qe)+20)),de.h=Math.round(20+Ir.length*Dd*qe/12)}Nr[V.id]=de}var To={};function ne(me){for(;To[me]!==me;)To[me]=To[To[me]],me=To[me];return me}function po(me,ie){me=ne(me),ie=ne(ie),me!==ie&&(To[ie]=me)}for(v=0;v<e.length;v++)To[e[v].id]=e[v].id;var ao=[],A=[];for(v=0;v<h.length;v++)tr=h[v],!(!ce[tr.from]||!ce[tr.to]||tr.from===tr.to||tr.constraint===!1)&&(tr.direction==="left"?(po(tr.from,tr.to),A.push({before:tr.to,after:tr.from})):tr.direction==="right"||tr.direction==null&&tr.length<=1?(po(tr.from,tr.to),A.push({before:tr.from,after:tr.to})):tr.direction==="up"?ao.push({from:tr.to,to:tr.from,minlen:Math.max(1,tr.length-1)}):ao.push({from:tr.from,to:tr.to,minlen:Math.max(1,tr.length-1)}));for(v=0;v<e.length;v++)V=e[v],!(V.type!=="note"||V.target==null||!ce[V.target])&&(V.position==="top"?ao.push({from:V.id,to:V.target,minlen:1}):V.position==="bottom"?ao.push({from:V.target,to:V.id,minlen:1}):(po(V.id,V.target),V.position==="left"?A.push({before:V.id,after:V.target}):A.push({before:V.target,after:V.id})));var J=[],ur={};for(v=0;v<e.length;v++){var Sr=ne(e[v].id);ur[Sr]==null&&(ur[Sr]=[],J.push(Sr))}var Er=[];for(v=0;v<ao.length;v++){var qr=ne(ao[v].from),z=ne(ao[v].to);qr!==z&&(Er.push({from:qr,to:z,minlen:ao[v].minlen,back:!1}),ur[qr].push(Er.length-1))}var Mr={};for(v=0;v<J.length;v++)Mr[J[v]]=0;function Be(me){var ie=[{node:me,idx:0}];for(Mr[me]=1;ie.length>0;){var pe=ie[ie.length-1],ke=ur[pe.node];if(pe.idx<ke.length){var Re=Er[ke[pe.idx++]];Mr[Re.to]===1?Re.back=!0:Mr[Re.to]===0&&(Mr[Re.to]=1,ie.push({node:Re.to,idx:0}))}else Mr[pe.node]=2,ie.pop()}}for(v=0;v<J.length;v++)Mr[J[v]]===0&&Be(J[v]);var ye={},Le={};for(v=0;v<J.length;v++)ye[J[v]]=0,Le[J[v]]=0;for(v=0;v<Er.length;v++)Er[v].back||ye[Er[v].to]++;var _e=[];for(v=0;v<J.length;v++)ye[J[v]]===0&&_e.push(J[v]);for(var Ur=J.length*J.length+16;_e.length>0&&Ur-- >0;){var yo=_e.shift(),fo=ur[yo];for(er=0;er<fo.length;er++){var he=Er[fo[er]];he.back||(Le[he.to]<Le[yo]+he.minlen&&(Le[he.to]=Le[yo]+he.minlen),--ye[he.to]===0&&_e.push(he.to))}}var Te={},ae=[];for(v=0;v<e.length;v++){var it=Le[ne(e[v].id)]||0;for(Te[e[v].id]=it;ae.length<=it;)ae.push([]);ae[it].push(e[v].id)}var Gt=0,oo=[];for(v=0;v<h.length;v++)if(tr=h[v],oo[v]=null,!(!ce[tr.from]||!ce[tr.to]||tr.from===tr.to)){var pt=Math.min(Te[tr.from],Te[tr.to]),rt=Math.max(Te[tr.from],Te[tr.to]);if(!(rt-pt<=1)){var jo=[];for(X=pt+1;X<rt;X++){var Qt="dummy#"+ ++Gt;ce[Qt]={id:Qt,type:"dummy",label:"",partition:null},Nr[Qt]={w:8,h:0,cellId:null,x:0,y:0},Te[Qt]=X,ae[X].push(Qt),jo.push(Qt)}oo[v]=jo}}var Me={},Io={},Wo=[];for(X=0;X<ae.length;X++)for(er=0;er<ae[X].length;er++)Me[ae[X][er]]=[],Io[ae[X][er]]=[],Wo.push(ae[X][er]);function Ro(me,ie){!ce[me]||!ce[ie]||me===ie||Te[me]===Te[ie]||(Te[me]<Te[ie]?(Io[me].push(ie),Me[ie].push(me)):(Io[ie].push(me),Me[me].push(ie)))}for(v=0;v<h.length;v++){if(tr=h[v],oo[v]==null){Ro(tr.from,tr.to);continue}var An=Te[tr.from]<Te[tr.to]?tr.from:tr.to,dn=An===tr.from?tr.to:tr.from,rn=An;for(er=0;er<oo[v].length;er++)Ro(rn,oo[v][er]),rn=oo[v][er];Ro(rn,dn)}for(v=0;v<e.length;v++)e[v].type==="note"&&e[v].target!=null&&Ro(e[v].id,e[v].target);var Ao={};function _t(me){for(var ie=0;ie<me.length;ie++)Ao[me[ie]]=ie}for(X=0;X<ae.length;X++)_t(ae[X]);function ft(me,ie){for(var pe=[],ke=0;ke<me.length;ke++){var Re=ie[me[ke]],$o=ke;if(Re.length>0){for(var Jo=0,Wt=0;Wt<Re.length;Wt++)Jo+=Ao[Re[Wt]];$o=Jo/Re.length}pe.push({id:me[ke],bary:$o,idx:ke})}for(pe.sort(function(at,Nn){return at.bary!==Nn.bary?at.bary-Nn.bary:at.idx-Nn.idx}),ke=0;ke<pe.length;ke++)me[ke]=pe[ke].id;_t(me)}for(var Se=0;Se<4;Se++){for(X=1;X<ae.length;X++)ft(ae[X],Me);for(X=ae.length-2;X>=0;X--)ft(ae[X],Io)}for(v=0;v<A.length;v++){var Go=A[v].before,wt=A[v].after;if(!(Te[Go]==null||Te[Go]!==Te[wt]||Ao[Go]<Ao[wt])){var cn=ae[Te[Go]];cn.splice(Ao[Go],1),cn.splice(Ao[wt],0,Go),_t(cn)}}if(l.length>0)for(X=0;X<ae.length;X++){for(var No=ae[X],oe={},Uo=0;Uo<No.length;){var Ot=ce[No[Uo]].partition||"",ho=oe[Ot];if(ho!=null&&ho<Uo-1){var dt=No.splice(Uo,1)[0];No.splice(ho+1,0,dt);for(var Aa in oe)oe.hasOwnProperty(Aa)&&oe[Aa]>ho&&oe[Aa]++;oe[Ot]=ho+1}else oe[Ot]=Uo;Uo++}_t(No)}function Sn(me){return ce[me].partition||null}function an(me,ie){if(ce[me].type==="dummy"||ce[ie].type==="dummy")return gs;var pe=Sn(me),ke=Sn(ie);return pe===ke?gs:gs+(pe?bs:0)+(ke?bs:0)+4}var we=[],Eo=0;for(X=0;X<ae.length;X++){var Et=0;for(er=0;er<ae[X].length;er++)Et+=Nr[ae[X][er]].w,er>0&&(Et+=an(ae[X][er-1],ae[X][er]));we[X]=Et,Et>Eo&&(Eo=Et)}var Cr={};for(X=0;X<ae.length;X++){var Lr=(Eo-we[X])/2;for(er=0;er<ae[X].length;er++){var He=ae[X][er];er>0&&(Lr+=an(ae[X][er-1],He)),Cr[He]=Lr+Nr[He].w/2,Lr+=Nr[He].w}}function Ie(me,ie){for(var pe=[0],ke=1;ke<me.length;ke++)pe[ke]=pe[ke-1]+Nr[me[ke-1]].w/2+an(me[ke-1],me[ke])+Nr[me[ke]].w/2;var Re=[];for(ke=0;ke<me.length;ke++){for(var $o={sum:ie[ke]-pe[ke],count:1,end:ke};Re.length>0&&Re[Re.length-1].sum/Re[Re.length-1].count>$o.sum/$o.count;){var Jo=Re.pop();$o.sum+=Jo.sum,$o.count+=Jo.count}Re.push($o)}for(var Wt=0,at=0;at<Re.length;at++)for(var Nn=Re[at].sum/Re[at].count,ia=0;ia<Re[at].count;ia++,Wt++)Cr[me[Wt]]=Nn+pe[Wt]}function Oe(me){var ie=me?1:ae.length-2,pe=me?ae.length:-1,ke=me?1:-1;for(X=ie;X!==pe;X+=ke){var Re=ae[X],$o=[];for(er=0;er<Re.length;er++){var Jo=me?Me[Re[er]]:Io[Re[er]];if(Jo.length===0){$o.push(Cr[Re[er]]);continue}for(var Wt=0,at=0;at<Jo.length;at++)Wt+=Cr[Jo[at]];$o.push(Wt/Jo.length)}Ie(Re,$o)}}for(Oe(!0),Oe(!1),Oe(!0),Oe(!1),Oe(!0),v=0;v<h.length;v++)if(!(oo[v]==null||oo[v].length<2)){var so=0;for(er=0;er<oo[v].length;er++)so+=Cr[oo[v][er]];for(er=0;er<oo[v].length;er++)Cr[oo[v][er]]=so/oo[v].length}function Xo(){for(var me=0;me<ae.length;me++)for(var ie=1;ie<ae[me].length;ie++){var pe=ae[me][ie-1],ke=ae[me][ie],Re=Cr[pe]+Nr[pe].w/2+an(pe,ke)+Nr[ke].w/2;Cr[ke]<Re&&(Cr[ke]=Re)}}if(Xo(),l.length>1){let me=function(ke,Re){for(var $o=0;Re!=null&&$o++<32;){if(qo[Re]===ke)return!0;Re=qo[Re]}return!1},ie=function(ke){for(var Re=[],$o=0;$o<e.length;$o++)for(var Jo=e[$o].partition,Wt=0;Jo!=null&&Wt++<32;){if(Jo===ke){Re.push(e[$o].id);break}Jo=qo[Jo]}return Re},pe=function(ke){for(var Re={x0:1/0,x1:-1/0,r0:1/0,r1:-1/0,sum:0},$o=0;$o<ke.length;$o++){var Jo=Nr[ke[$o]],Wt=Cr[ke[$o]];Wt-Jo.w/2<Re.x0&&(Re.x0=Wt-Jo.w/2),Wt+Jo.w/2>Re.x1&&(Re.x1=Wt+Jo.w/2),Te[ke[$o]]<Re.r0&&(Re.r0=Te[ke[$o]]),Te[ke[$o]]>Re.r1&&(Re.r1=Te[ke[$o]]),Re.sum+=Wt}return Re.mean=Re.sum/ke.length,Re};var qo={};for(v=0;v<l.length;v++)qo[l[v].id]=l[v].parent;for(var Yn=0;Yn<8;Yn++){var Nt=!1;for(v=0;v<l.length;v++)for(er=0;er<l.length;er++)if(!(v===er||me(l[v].id,l[er].id)||me(l[er].id,l[v].id))){var Da=ie(l[v].id),je=ie(l[er].id);if(!(Da.length===0||je.length===0)){var _r=pe(Da),Ho=pe(je);if(!(_r.r1<Ho.r0||Ho.r1<_r.r0)){var Ce=2*bs+4;if(!(_r.x1+Ce<=Ho.x0||Ho.x1+Ce<=_r.x0)){for(var ln=_r.mean<=Ho.mean?je:Da,nt=_r.mean<=Ho.mean?_r.x1+Ce-Ho.x0:Ho.x1+Ce-_r.x0,wo=0;wo<ln.length;wo++)Cr[ln[wo]]+=nt;Nt=!0}}}}if(!Nt)break}Xo()}var xn=[],Lt=[];for(X=0;X<ae.length;X++){var Ft=0;for(er=0;er<ae[X].length;er++)Nr[ae[X][er]].h>Ft&&(Ft=Nr[ae[X][er]].h);xn[X]=Ft,Lt[X]=Ns}for(v=0;v<h.length;v++)if(tr=h[v],!(!ce[tr.from]||!ce[tr.to]||!tr.label)){var fe=Math.min(Te[tr.from],Te[tr.to]);Math.abs(Te[tr.from]-Te[tr.to])===1&&Lt[fe]<Ns+ds&&(Lt[fe]=Ns+ds)}var ge={},qt={},et={};for(v=0;v<l.length;v++){et[l[v].id]=v;for(var en=0,Zt=l[v].parent;Zt!=null&&en<32;)en++,Zt=l[et[Zt]]?l[et[Zt]].parent:null;qt[l[v].id]=en}function qn(me,ie){var pe=ge[me];pe==null?ge[me]={min:ie,max:ie}:(ie<pe.min&&(pe.min=ie),ie>pe.max&&(pe.max=ie))}for(v=0;v<e.length;v++)for(var Ko=e[v].partition,Hn=0;Ko!=null&&et[Ko]!=null&&Hn++<32;)qn(Ko,Te[e[v].id]),Ko=l[et[Ko]].parent;var aa=[],Je=[];for(X=0;X<ae.length;X++)aa[X]=0,Je[X]=0;for(var sn in ge)if(ge.hasOwnProperty(sn)){var Bn=qt[sn]+1,$t=ge[sn],mo=Bn*(tu+sf),Pt=Bn*bs;mo>aa[$t.min]&&(aa[$t.min]=mo),Pt>Je[$t.max]&&(Je[$t.max]=Pt)}var ra=[],Ut=Ws;for(X=0;X<ae.length;X++)Ut+=aa[X],ra[X]=Ut,Ut+=xn[X]+Je[X]+Lt[X];var Wn=1/0;for(v=0;v<e.length;v++){var yt=Nr[e[v].id],Zn=e[v].partition?(qt[e[v].partition]+1)*bs:0;e[v].type==="branch"&&e[v].condition&&(Zn+=Gr(u(e[v].condition),11)+4),Cr[e[v].id]-yt.w/2-Zn<Wn&&(Wn=Cr[e[v].id]-yt.w/2-Zn)}var on=Ws-Wn;for(v=0;v<Wo.length;v++){var va=Nr[Wo[v]],ga=Te[Wo[v]];va.x=Math.round(Cr[Wo[v]]+on-va.w/2),va.y=Math.round(ra[ga]+(xn[ga]-va.h)/2)}for(v=0;v<e.length;v++)if(V=e[v],!(V.type!=="note"||V.edge==null||!h[V.edge])){var jn=h[V.edge];if(!(!ce[jn.from]||!ce[jn.to])){var Fn=Nr[jn.from],Mn=Nr[jn.to],la=(Fn.x+Fn.w/2+Mn.x+Mn.w/2)/2,Tn=(Fn.y+Fn.h/2+Mn.y+Mn.h/2)/2,gt=Nr[V.id];gt.x=Math.round(la+14),gt.y=Math.round(Tn-gt.h/2)}}var Rt={};for(v=l.length-1;v>=0;v--){var Jt=l[v],ct=1/0,wn=1/0,In=-1/0,ko=-1/0;for(er=0;er<e.length;er++)if(e[er].partition===Jt.id){var Do=Nr[e[er].id];Do.x<ct&&(ct=Do.x),Do.y<wn&&(wn=Do.y),Do.x+Do.w>In&&(In=Do.x+Do.w),Do.y+Do.h>ko&&(ko=Do.y+Do.h)}for(er=v+1;er<l.length;er++){var Rr=Rt[l[er].id];l[er].parent!==Jt.id||Rr==null||(Rr.x<ct&&(ct=Rr.x),Rr.y<wn&&(wn=Rr.y),Rr.x+Rr.w>In&&(In=Rr.x+Rr.w),Rr.y+Rr.h>ko&&(ko=Rr.y+Rr.h))}if(isFinite(ct)){if(Jt.inner){Rt[Jt.id]={x:ct-7,y:wn-7,w:In-ct+14,h:ko-wn+14,titleW:0};continue}var xr=Math.round(Gr(Jt.name,14,!0)+14);Rt[Jt.id]={x:ct-bs,y:wn-tu-sf,w:Math.max(In-ct+2*bs,xr+20),h:ko-wn+tu+sf+bs,titleW:xr}}}for(v=0;v<l.length;v++){var br=Rt[l[v].id];if(br!=null){if(l[v].inner){b+=s(wr("inner"),"","rounded=1;absoluteArcSize=1;arcSize=25;fillColor=#FFFFFF;strokeColor=#A80036;strokeWidth=1.5;",br.x,br.y,br.w,br.h,"1");continue}var Br=Y(l[v].color)||fr("partitionBackgroundColor",l[v].stereotype,"none"),Pr=fr("partitionBorderColor",l[v].stereotype,"#000000");b+=s(wr("part"),"","rounded=0;fillColor="+Br+";strokeColor="+Pr+";strokeWidth=1.5;",br.x,br.y,br.w,br.h,"1"),b+=s(wr("ptab"),l[v].name,"rounded=0;fillColor="+Br+";strokeColor="+Pr+";strokeWidth=1.5;fontStyle=1;fontSize=14;fontColor=#000000;align=left;verticalAlign=middle;spacingLeft=2;whiteSpace=wrap;",br.x,br.y,br.titleW,tu,"1")}}var Xe=fr("activityArrowColor",null,null)||fr("arrowColor",null,"#181818");for(v=0;v<e.length;v++){V=e[v];var zr=Nr[V.id],Ke,De="";if(V.type==="start"){var ze=fr("activityStartColor",null,"#222222");Ke="ellipse;fillColor="+ze+";strokeColor="+ze+";"}else if(V.type==="end"){var So=fr("activityEndColor",null,"#222222");Ke="ellipse;shape=endState;fillColor="+So+";strokeColor="+So+";"}else if(V.type==="branch"){De=V.condition||"";var ot=ae[Te[V.id]],ve=Ao[V.id]>0&&Ao[V.id]===ot.length-1;Ke="rhombus;fillColor="+fr("activityDiamondBackgroundColor",null,"#F1F1F1")+";strokeColor="+fr("activityDiamondBorderColor",null,"#181818")+";strokeWidth=0.5;fontSize=11;verticalLabelPosition=top;verticalAlign=bottom;"+(ve?"labelPosition=right;align=left;":"labelPosition=left;align=right;")}else if(V.type==="bar"){var Yt=fr("activityBarColor",null,"#555555");Ke="shape=rectangle;fillColor="+Yt+";strokeColor="+Yt+";"}else if(V.type==="note")De=V.label||"",Ke="shape=note;size=14;fillColor="+(Y(V.color)||fr("noteBackgroundColor",null,"#FEFFDD"))+";strokeColor="+fr("noteBorderColor",null,"#181818")+";strokeWidth=0.5;fontSize=13;whiteSpace=wrap;align=left;verticalAlign=middle;spacingLeft=2;";else{De=V.label||"";var At=Y(V.color)||fr("activityBackgroundColor",V.stereotype,"#F1F1F1"),ht=parseFloat(yr("activityFontSize",V.stereotype))||12;Ke="rounded=1;absoluteArcSize=1;arcSize=25;fillColor="+At+";strokeColor="+fr("activityBorderColor",V.stereotype,"#181818")+";strokeWidth=0.5;whiteSpace=wrap;fontSize="+ht+";fontColor="+fr("activityFontColor",V.stereotype,"#000000")+";align=left;spacingLeft=6;"}b+=s(zr.cellId,De,Ke,zr.x,zr.y,zr.w,zr.h,"1")}var Vt=0;for(v=0;v<e.length;v++)Nr[e[v].id].x+Nr[e[v].id].w>Vt&&(Vt=Nr[e[v].id].x+Nr[e[v].id].w);function Pn(me,ie,pe,ke,Re,$o){var Jo=' <mxGeometry relative="1" as="geometry"'+($o?`>
188
+ `:`/>
189
+ `);if($o){Jo+=` <Array as="points">
190
+ `;for(var Wt=0;Wt<$o.length;Wt++)Jo+=' <mxPoint x="'+$o[Wt].x+'" y="'+$o[Wt].y+`"/>
191
+ `;Jo+=` </Array>
192
+ </mxGeometry>
193
+ `}var at=P(ie,pe);return' <mxCell id="'+d(me)+'" value="'+at.value+'" style="'+d(at.style)+'" edge="1" source="'+d(ke)+'" target="'+d(Re)+`" parent="1">
194
+ `+Jo+` </mxCell>
195
+ `}var Ae={};for(v=0;v<h.length;v++)ce[h[v].from]&&ce[h[v].to]&&(Ae[h[v].from+""+h[v].to]=!0);for(v=0;v<h.length;v++)if(tr=h[v],!(!ce[tr.from]||!ce[tr.to]||tr.hidden)){var Fe=Nr[tr.from],le=Nr[tr.to],Ne="endArrow=classic;endSize=8;strokeColor="+(Y(tr.color)||Xe)+";fontSize=11;fontColor=#000000;";(tr.dashed||tr.dotted)&&(Ne+="dashed=1;"),tr.bold&&(Ne+="strokeWidth=2;");var Qe=null;if(tr.from===tr.to)Ne+="edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;";else if(oo[v]!=null&&oo[v].length>0){Qe=[];var tn=oo[v],Vo=Te[tr.from]<Te[tr.to];for(er=0;er<tn.length;er++){var xo=Nr[tn[Vo?er:tn.length-1-er]];Qe.push({x:Math.round(xo.x+xo.w/2),y:Math.round(xo.y+xo.h/2)})}}else if(Ae[tr.to+""+tr.from]&&Te[tr.from]!==Te[tr.to]){var Co=tr.from<tr.to?.3:.7,mn=Te[tr.from]<Te[tr.to];Ne+="exitX="+Co+";exitY="+(mn?1:0)+";exitDx=0;exitDy=0;entryX="+Co+";entryY="+(mn?0:1)+";entryDx=0;entryDy=0;"}b+=Pn(wr("e"),tr.label||"",Ne,Fe.cellId,le.cellId,Qe)}for(v=0;v<e.length;v++)if(V=e[v],V.type==="note"){var pn=Nr[V.id];if(V.target!=null&&ce[V.target]){var hn=Nr[V.target],Co=V.position||"right",Dt="endArrow=none;strokeColor=#181818;";Co==="left"?Dt+="exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;":Co==="right"?Dt+="exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;":Co==="top"?Dt+="exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;":Dt+="exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;",b+=vr(wr("noteln"),"",Dt,pn.cellId,hn.cellId,"1")}}if(r.title){var ca=Math.max(60,Math.round(Gr(r.title,14,!0)+20)),ea=String(r.title).split(`
196
+ `).length*20+4;b+=s(wr("title"),r.title,"text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",Math.round((Ws+Vt)/2-ca/2),Ws-ea-12,ca,ea,"1")}return b}var wf=160,as=49,uf=35,Su=24,Za=60,Gs=24,hl=16,Qo=6,hu=20,Xs=26,Sd=20,ff=16,nu=10,Bu=15,df=33;function zi(r,a){for(var e=String(r??""),h=0,l=0,C=0;C<e.length;C++){var b=e.charAt(C);b===`
197
+ `?(h>l&&(l=h),h=0):`iIljtf.,:;!|'"()[]{} `.indexOf(b)>=0?h+=4.2:"mwMW".indexOf(b)>=0?h+=11.7:h+=7.8}return h>l&&(l=h),l*(a?1.05:1)}function Tu(r){return typeof r=="string"&&/^\s*<[$&][A-Za-z0-9_-]+>\s*$/.test(r)}function cf(r){return typeof r=="string"&&/<size:\d|<[$&][A-Za-z0-9_-]+>/i.test(r)}function hf(r){var a=String(r??"");a=a.replace(/\\r\\n|\\n|\\r/g,`
198
+ `).replace(/\\t/g," "),a=a.replace(/<U\+([0-9A-Fa-f]{2,6})>/g,function(tr,wr){try{return String.fromCodePoint(parseInt(wr,16))}catch{return""}}),a=a.replace(/<[&$][A-Za-z0-9_-]+>/g,function(tr){return u(tr)}),a=a.replace(/\*\*([\s\S]+?)\*\*/g,"$1").replace(/\/\/([\s\S]+?)\/\//g,"$1").replace(/__([\s\S]+?)__/g,"$1").replace(/~~([\s\S]+?)~~/g,"$1").replace(/""([\s\S]+?)""/g,"$1");for(var e=a.split(`
199
+ `),h=0,l=0,C=[],b=0;b<e.length;b++){var Z=e[b],v=14,er=Z.match(/<size:(\d+(?:\.\d+)?)>/i);er&&(v=parseFloat(er[1]));var X=Z.replace(/<[^>]+>/g,"");X===""&&(X=" "),!er&&X.replace(/\s+/g,"").length===1&&X.charCodeAt(0)>8192&&(v=28);var V=zi(X,!1)*(v/14);V>h&&(h=V),l+=v>20&&X.replace(/\s+/g,"").length<=1?v*.95:v*1.33,v!==14?C.push('<font style="font-size:'+v+'px">'+X+"</font>"):C.push(X)}return{w:Math.ceil(h),h:Math.ceil(l),html:C.join("<br>")}}function Rs(r){var a=Y(r.color)||"#F1F1F1",e=Tu(r.name);switch(r.kind){case"actor":case"person":return"shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor="+a+";strokeColor=#181818;";case"interface":return"ellipse;fillColor="+a+";strokeColor=#181818;fontSize=12;";case"port":case"portin":case"portout":return"shape=mxgraph.sysml.port1;fillColor="+a+";strokeColor=#181818;fontSize=10;";case"database":return"shape=cylinder3;size=10;boundedLbl=1;backgroundOutline=1;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"queue":return"shape=queue;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"cloud":return"shape=cloud;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;";case"node":return"shape=cube;size=10;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;";case"folder":return"shape=folder;tabWidth=40;tabHeight=14;tabPosition=left;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;";case"frame":return"shape=mxgraph.uml25.frame;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;";case"file":return"shape=note;size=10;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"card":case"agent":return"rounded=1;absoluteArcSize=1;arcSize=5;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"storage":return"rounded=1;arcSize=50;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"usecase":return"ellipse;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"hexagon":return"shape=hexagon;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"circle":case"control":case"entity":return"ellipse;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;";case"label":return"text;html=1;fillColor=none;strokeColor=none;whiteSpace=wrap;";case"rectangle":var h="rounded=1;absoluteArcSize=1;arcSize=3;strokeWidth=1;fillColor="+a+";strokeColor=#181818;whiteSpace=wrap;";return e&&(h+="fontSize=48;fontColor=#000000;align=center;verticalAlign=middle;"),h;case"collections":case"stack":case"boundary":return"rounded=0;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;";case"component":default:return"rounded=1;absoluteArcSize=1;arcSize=6;fillColor="+a+";strokeColor=#181818;fontSize=14;whiteSpace=wrap;"}}function Bd(r){return Math.max(24,Math.round(zi(r.name||"",!1))+12)}function Cf(r){return String(r.name||"").split(`
200
+ `).length}function Td(r){var a=Y(r.color)||"none";switch(r.kind){case"package":case"folder":return"shape=folder;tabWidth="+Bd(r)+";tabHeight="+(23+16*(Cf(r)-1))+";tabPosition=left;html=1;whiteSpace=wrap;fillColor="+a+";strokeColor=#000000;strokeWidth=1.5;fontSize=14;fontStyle=0;fontColor=#000000;align=left;verticalAlign=top;spacingLeft=4;spacingTop=-2;";case"frame":return"shape=umlFrame;width="+(Math.round(zi(r.name||"",!1))+10)+";height="+(20+16*(Cf(r)-1))+";html=1;whiteSpace=wrap;fillColor="+a+";swimlaneFillColor="+a+";strokeColor=#181818;strokeWidth=1;fontSize=14;fontStyle=0;fontColor=#000000;align=left;verticalAlign=middle;spacingLeft=1;";case"node":return"shape=cube;size="+nu+";fillColor="+a+";strokeColor=#181818;verticalAlign=top;align=center;spacingTop=12;fontSize=14;fontStyle=1;whiteSpace=wrap;";case"database":return"shape=cylinder3;size=10;boundedLbl=1;backgroundOutline=1;fillColor="+a+";strokeColor=#181818;verticalAlign=top;align=center;spacingTop=0;fontSize=14;fontStyle=1;whiteSpace=wrap;";case"cloud":return"shape=mxgraph.basic.cloud_rect;html=1;fillColor="+a+";strokeColor=#181818;verticalAlign=top;align=center;spacingTop=8;fontSize=14;fontStyle=1;whiteSpace=wrap;";case"artifact":return"swimlane;collapsible=0;startSize="+Xs+";fillColor="+a+";strokeColor=#181818;fontStyle=1;";case"card":return"swimlane;collapsible=0;startSize="+Xs+";shape=card;fillColor="+a+";strokeColor=#181818;fontStyle=1;";case"storage":return"swimlane;collapsible=0;startSize="+Xs+";fillColor="+a+";strokeColor=#181818;fontStyle=1;";case"rectangle":return"rounded=1;absoluteArcSize=1;arcSize=5;fillColor="+a+";strokeColor=#181818;verticalAlign=top;align=center;spacingTop=2;fontSize=14;fontStyle=1;whiteSpace=wrap;";case"component":return"rounded=1;absoluteArcSize=1;arcSize=12;fillColor="+a+";strokeColor=#181818;verticalAlign=top;align=center;spacingTop=10;fontSize=14;whiteSpace=wrap;";default:return"swimlane;collapsible=0;startSize="+Xs+";fillColor="+a+";strokeColor=#181818;fontStyle=1;"}}var Pf=18,vf=4,pf={interface:!0,circle:!0,control:!0,entity:!0,boundary:!0,actor:!0};function Iu(r){switch(r.kind){case"interface":return{w:18,h:18};case"circle":return{w:34,h:34};case"control":return{w:34,h:34};case"entity":return{w:34,h:40};case"boundary":return{w:56,h:34};case"actor":return{w:40,h:54};default:return null}}var Cu=16.5;function Li(r){var a=r.substring(0,2);return r.length>=2&&r!=="..."&&(a==="--"||a==="=="||a===".."||a==="__")&&r.substring(r.length-2)===a}function Nu(r){var a=r.body||[],e={size:14,bold:!1},h={size:14,bold:!1,family:"mono"},l="",C=0,b=0,Z=!1,v=!1,er=!1;function X(Nr){return"border:none;border-top:"+(Nr==="="?"3px double":Nr==="."?"1px dotted":"1px solid")+" #181818;"}function V(Nr){return n(Nr.replace(/\\/g,"")).replace(/\u0003/g,"\\")}function tr(Nr){return String(Nr).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}if(r.stereotype){var wr="\xAB"+r.stereotype+"\xBB";l+='<div style="text-align:center;"><i>'+n(wr)+"</i></div>",C=Math.max(C,Ds(wr,e)),b+=Cu}for(var yr=0;yr<a.length;yr++){var fr=a[yr];if(/^<code>$/i.test(fr)){v=!0;continue}if(/^<\/code>$/i.test(fr)){v=!1;continue}if(!v&&Li(fr)){var Ar=fr.charAt(0),jr=fr.substring(2,fr.length-2).replace(/^\s+|\s+$/g,"");Z=!0,er=!1,jr===""?(l+='<hr style="'+X(Ar)+(Ar==="="?"margin:4px 0 1px;":"margin:0 0 4px;")+'">',b+=Ar==="="?8:4):(l+='<div style="display:flex;align-items:center;margin:2px 0;"><span style="flex:1;'+X(Ar)+'"></span><span style="border:1px solid #181818;padding:0 1px;">'+n(jr)+'</span><span style="flex:1;'+X(Ar)+'"></span></div>',b+=20.5,C=Math.max(C,Ds(u(jr),e)+4));continue}if(er&&(l+="<br>"),v)l+='<span style="font-family:monospace;white-space:pre;">'+tr(fr)+"</span>",C=Math.max(C,Ds(fr,h));else{var ce=/^<<\s*([^>]*?)\s*>>$/.exec(fr);ce&&(fr="\xAB"+ce[1]+"\xBB"),l+=V(fr),C=Math.max(C,Uf(fr,e))}b+=Cu,er=!0}return Z&&(b+=4),{html:l,w:C,h:Math.max(b,Cu)}}function Gi(r){switch(r){case"component":case"node":case"frame":return 15;case"queue":return 5;case"collections":return 8;default:return 10}}function ls(r){if(!r)return{w:wf,h:as};if(r.kind==="port"||r.kind==="portin"||r.kind==="portout")return{w:ff,h:ff};if(r.kind==="note"){for(var a=u(r.name),e=a.split(`
201
+ `),h=0,l=0;l<e.length;l++)e[l].length>h&&(h=e[l].length);return{w:Math.max(50,Math.ceil(h*6)+21),h:Math.max(24,Math.round(e.length*17.7+10))}}var C=r.body?Nu(r):null,b=u(r.name),Z=b.split(`
202
+ `).length,v=Z>1&&!C?Z*16+14:0,er=Iu(r);if(er&&pf[r.kind]){var X=Math.round(zi(b,!1))+6;return{w:Math.max(er.w,X),h:er.h+vf+Pf}}if(!C&&Tu(r.name))return{w:68,h:68};if(!C&&cf(r.name)){var V=hf(r.name);switch(r.kind){case"usecase":var tr=Math.round(V.w*1.35)+30,wr=V.h+26;return tr<wr*1.3&&(tr=Math.round(wr*1.3)),{w:tr,h:wr};case"cloud":return{w:V.w+84,h:V.h+72};case"database":return{w:V.w+44,h:V.h+58};case"queue":return{w:V.w+56,h:V.h+20};case"stack":return{w:V.w+30,h:V.h+18};default:return{w:V.w+20,h:V.h+8}}}var yr=C?Math.ceil(C.w):Math.round(zi(b,!1)),fr=Math.max(60,yr+40),Ar=as;if(r.kind==="artifact"?(fr=Math.max(50,yr+30),Ar=40):r.kind==="file"||r.kind==="agent"||r.kind==="storage"?(fr=Math.max(50,yr+20),Ar=37):r.kind==="card"?(fr=Math.max(40,yr+20),Ar=23):r.kind==="hexagon"?(fr=Math.max(60,2*yr),Ar=27):r.kind==="database"?(fr=Math.max(50,yr+20),Ar=46):r.kind==="usecase"?(fr=Math.max(40,Math.round(Math.SQRT2*(yr+4.3))),Ar=29):r.kind==="person"?(fr=Math.max(70,yr+24),Ar=66):r.kind==="label"?(fr=Math.max(20,yr+8),Ar=20):r.kind==="collections"?(fr=Math.max(60,yr+20),Ar=37):r.kind==="stack"?(fr=Math.max(60,yr+50),Ar=37):r.kind==="queue"?(fr=Math.max(50,yr+20),Ar=27):r.kind==="folder"?(fr=Math.max(60,yr+30),Ar=54):r.kind==="package"?(fr=Math.max(70,yr+42),Ar=40):r.kind==="frame"&&(fr=Math.max(70,yr+40),Ar=47),C){var jr=C.h-Cu;Ar+=Math.round(r.kind==="usecase"?jr*1.4:jr)}else v>Ar&&(Ar=v);return{w:fr,h:Ar}}function vu(r,a){var e=r.nodes,h=r.containers,l=r.connections,C="",b=0,Z=r.styleSheet||null,v=null,er=["fillColor","gradientColor"],X=Z!=null?String(Z.skinparams.componentstyle||"").toLowerCase():"";function V(Rr){return Rr==="portin"||Rr==="portout"?"port":Rr==="bracket"||Rr==="bare"||!Rr?"component":Rr}function tr(Rr,xr,br,Br,Pr){return W(Rr,Z,["root","element","componentDiagram"].concat(xr),br||[],Br||"vertex",Pr)}function wr(Rr,xr){if(v==null||Z==null)return Rr;var br=xr?"edge":Rr.indexOf("text;")===0?"text":"vertex",Br=H(Z,["root","element","componentDiagram",v.name],v.stereotypes,br);if(v.skip!=null)for(var Pr=0;Pr<v.skip.length;Pr++)delete Br[v.skip[Pr]];return Br.fillColor!=null&&/swimlaneFillColor=/.test(Rr)&&(Br.swimlaneFillColor=Br.fillColor),M(Rr,Br)}function yr(Rr,xr,br){v=Z==null?null:{name:V(Rr),stereotypes:xr?[xr]:[],skip:br?er:null}}for(var fr=function(Rr,xr,br,Br,Pr,Xe,zr,Ke){var De=wr(br,!1);return String(Rr).indexOf("ci_")===0&&De!==br&&(De=De.replace(/(^|;)(?:rounded|arcSize|absoluteArcSize)=[^;]*(?=;|$)/g,"$1").replace(/;;+/g,";").replace(/^;/,""),/^rounded=1;/.test(br)&&!/rounded=/.test(De)&&(De="rounded=1;"+De)),$(Rr,xr,De,Br,Pr,Xe,zr,Ke)},Ar=function(Rr,xr,br,Br,Pr,Xe,zr,Ke){return B(Rr,xr,wr(br,!0),Br,Pr,Xe,zr,Ke)},jr=0;jr<e.length;jr++)e[jr].stereotype&&!e[jr]._stereoFolded&&!e[jr].body&&(e[jr].name="\xAB"+e[jr].stereotype+`\xBB
203
+ `+(e[jr].name||""),e[jr]._stereoFolded=!0);for(var ce=0;ce<h.length;ce++)h[ce].stereotype&&!h[ce]._stereoFolded&&(h[ce].name="\xAB"+h[ce].stereotype+`\xBB
204
+ `+(h[ce].name||""),h[ce]._stereoFolded=!0);var Nr={rectangle:1,node:1,cloud:1,database:1,frame:1,card:1};if(r.packageStyle&&Nr[r.packageStyle])for(var de=0;de<h.length;de++)h[de].kind==="package"&&(h[de].kind=r.packageStyle);function Fr(Rr){return Rr+"_"+b++}for(var Ir={},qe={},To={},ne={},po={},ao={},A=0;A<h.length;A++){var J=h[A];To[J.id]=J,po[J.id]=J.parent==null?null:J.parent,ao[J.id]=!0}for(var ur=0;ur<e.length;ur++){var Sr=e[ur];ne[Sr.id]=Sr,po[Sr.id]=Sr.parent==null?null:Sr.parent}function Er(Rr,xr){for(var br=Rr,Br=0;br!=null&&Br++<4096;){var Pr=po.hasOwnProperty(br)?po[br]:null;if(xr==null){if(Pr==null)return br}else if(Pr===xr)return br;if(Pr==null)return null;br=Pr}return null}function qr(Rr,xr){return Rr&&xr?Su:uf}function z(Rr,xr){return Rr&&xr?Gs:Za}for(var Mr={},Be=r.togethers||[],ye=0;ye<Be.length;ye++)for(var Le=0;Le<Be[ye].length;Le++)Mr[Be[ye][Le]]=ye;function _e(Rr,xr,br){for(var Br=[],Pr=[],Xe={},zr=0;zr<Rr.length;zr++){var Ke=Mr[Rr[zr]];if(Ke===void 0){Br.push(Rr[zr]);continue}Xe.hasOwnProperty(Ke)||(Xe[Ke]=Pr.length,Pr.push({members:[],slot:Br.length}),xr||Br.push(null)),Pr[Xe[Ke]].members.push(Rr[zr])}if(Pr.length===0)return Rr;for(var De=0;De<Pr.length;De++){var ze=Be[Mr[Pr[De].members[0]]];Pr[De].members.sort(function(At,ht){return ze.indexOf(At)-ze.indexOf(ht)}),br&&Pr[De].members.reverse()}if(xr){for(var So=0;So<Pr.length;So++)Br=Br.concat(Pr[So].members);return Br}for(var ot=[],ve=0;ve<Br.length;ve++){if(Br[ve]!=null){ot.push(Br[ve]);continue}for(var Yt=0;Yt<Pr.length;Yt++)Pr[Yt].slot===ve&&(ot=ot.concat(Pr[Yt].members))}return ot}var Ur={},yo={};function fo(Rr){Rr=_e(Rr,!1,!1);for(var xr=Rr.length,br={},Br=Math.max(1,Math.ceil(Math.sqrt(xr))),Pr=Math.ceil(xr/Br),Xe=0,zr=0,Ke=0;Ke<xr;Ke++){var De=Ur[Rr[Ke]];De.w>Xe&&(Xe=De.w),De.h>zr&&(zr=De.h)}for(var ze=0;ze<xr;ze++){var So=Math.floor(ze/Br),ot=ze%Br,ve=Ur[Rr[ze]],Yt=ot*(Xe+uf),At=So*(zr+Za);br[Rr[ze]]={x:Yt+(Xe-ve.w)/2,y:At+(zr-ve.h)/2}}return{pos:br,w:Br*Xe+(Br-1)*uf,h:Pr*zr+(Pr-1)*Za}}function he(Rr,xr){var br=Rr.length,Br={};if(br===0)return{pos:Br,w:0,h:0};for(var Pr={},Xe=0;Xe<br;Xe++)Pr[Rr[Xe]]=!0;for(var zr={},Ke={},De=[],ze=!1,So=!1,ot=!1,ve=0;ve<br;ve++)zr[Rr[ve]]=[],Ke[Rr[ve]]=0;function Yt(za,vl){for(var Va=[za],Ol={};Va.length>0;){var Fl=Va.pop();if(Fl===vl)return!0;if(!Ol[Fl]){Ol[Fl]=!0;for(var cl=zr[Fl]||[],al=0;al<cl.length;al++)Va.push(cl[al].to)}}return!1}for(var At=0;At<l.length;At++){var ht=Er(l[At].from,xr),Vt=Er(l[At].to,xr);if(!(ht==null||Vt==null||ht===Vt)&&!(!Pr[ht]||!Pr[Vt])){De.push({a:ht,b:Vt,src:l[At].from,dst:l[At].to}),ze=!0;var Pn=l[At].span!=null?l[At].span:1;(l[At].dir==="l"||l[At].dir==="r")&&(Pn=0),Pn===0?So=!0:ot=!0;var Ae=Pn,Fe=ht!==l[At].from||Vt!==l[At].to,le=l[At].dir==="l"||l[At].dir==="r";Fe&&Ae===0&&!le&&(Ae=1);var Ne=ht,Qe=Vt;l[At].dir==="u"&&(Ne=Vt,Qe=ht),!Yt(Qe,Ne)&&(zr[Ne].push({to:Qe,span:Ae}),Ke[Qe]++)}}function tn(za,vl){for(var Va=0,Ol=0;Ol<l.length;Ol++){var Fl=l[Ol];if(!(Fl.hidden||!Fl.label)){var cl=Er(Fl.from,xr),al=Er(Fl.to,xr);if(cl===za&&al===vl||cl===vl&&al===za){var ki=Math.round(zi(Fl.label,!1))+16;ki>Va&&(Va=ki)}}}return Va}if(!ze)return fo(Rr);for(var Vo={},xo=[],Co=0;Co<br;Co++)Vo[Rr[Co]]=0,xo.push(Rr[Co]);for(var mn=br*br+16;xo.length>0&&mn-- >0;)for(var pn=xo.shift(),hn=zr[pn],Dt=0;Dt<hn.length;Dt++){var ca=hn[Dt].to,ea=Vo[pn]+hn[Dt].span;(Vo[ca]===void 0||Vo[ca]<ea)&&(Vo[ca]=ea,xo.push(ca))}for(var me={},ie=0;ie<br;ie++){var pe=Mr[Rr[ie]];pe!==void 0&&(!me.hasOwnProperty(pe)||Vo[Rr[ie]]>me[pe])&&(me[pe]=Vo[Rr[ie]])}for(var ke=0;ke<br;ke++)Mr[Rr[ke]]!==void 0&&(Vo[Rr[ke]]=me[Mr[Rr[ke]]]);for(var Re={},$o=[],Jo=0;Jo<br;Jo++){var Wt=Vo[Rr[Jo]];Re.hasOwnProperty(Wt)||(Re[Wt]=[],$o.push(Wt)),Re[Wt].push(Rr[Jo])}$o.sort(function(za,vl){return za-vl});for(var at=[],Nn=0,ia=0;ia<$o.length;ia++){for(var sa=_e(Re[$o[ia]],!0,r.direction==="LR"),ka=0,Po=0,Ct=!0,bt=0;bt<sa.length;bt++){var Vr=Ur[sa[bt]];bt>0&&(ka+=Math.max(qr(Ur[sa[bt-1]].isContainer,Vr.isContainer),tn(sa[bt-1],sa[bt]))),ka+=Vr.w,Vr.h>Po&&(Po=Vr.h),Vr.isContainer||(Ct=!1)}at.push({ids:sa,w:ka,h:Po,allCont:Ct}),ka>Nn&&(Nn=ka)}for(var to=xr==null&&at.length>=2&&So&&!ot,Xt=0;to&&Xt<at.length;Xt++)(at[Xt].ids.length!==1||!Ur[at[Xt].ids[0]].isContainer)&&(to=!1);if(to){for(var ha=0,Wr=0,ro=0,te=0,ue=0;ue<at.length;ue++){var zo=at[ue].ids[0],nn=Ur[zo];Br[zo]={x:ha,y:Wr},ha+nn.w>ro&&(ro=ha+nn.w),Wr+nn.h>te&&(te=Wr+nn.h),ha+=nn.w+Su,Wr+=Math.round(nn.h*.6)}return{pos:Br,w:ro,h:te}}function Fa(za,vl){for(var Va=0,Ol=za,Fl=0;Ol!==vl&&Fl++<4096;){var cl=po.hasOwnProperty(Ol)?po[Ol]:null;if(cl==null)break;var al=Ur[cl]?Ur[cl].children:null;if(al){for(var ki=0;ki<al.length;ki++)if(al[ki].id===Ol){Va+=al[ki].x;break}}Ol=cl}return Va}if(r.direction==="LR"){for(var Kn=[],bn=0,Ve=0;Ve<at.length;Ve++){for(var Yo=0,st=0;st<at[Ve].ids.length;st++)st>0&&(Yo+=Za),Yo+=Ur[at[Ve].ids[st]].h;Kn.push(Yo),Yo>bn&&(bn=Yo)}for(var Ca=0,Mt=0,Ra=0;Ra<at.length;Ra++){for(var Xn=0,_a=0;_a<at[Ra].ids.length;_a++)Ur[at[Ra].ids[_a]].w>Xn&&(Xn=Ur[at[Ra].ids[_a]].w);for(var Ka=(bn-Kn[Ra])/2,yn=0;yn<at[Ra].ids.length;yn++){var ua=Ur[at[Ra].ids[yn]];Br[at[Ra].ids[yn]]={x:Ca+(Xn-ua.w)/2,y:Ka},Ka+=ua.h+Za}Ca+=Xn+qr(!1,!1),Mt=Ca-qr(!1,!1)}return{pos:Br,w:Mt,h:bn}}for(var Ya={},fa=0,xt=0;xt<at.length;xt++){var Ja=at[xt];if(xt>0){for(var uo=[],Jn=0;Jn<Ja.ids.length;Jn++){for(var Sa=Ja.ids[Jn],da=0,ma=0,Ha=0;Ha<De.length;Ha++){var Sl=De[Ha];Sl.b===Sa&&Ya.hasOwnProperty(Sl.a)&&(da+=Ya[Sl.a]-Ur[Sl.a].w/2+Fa(Sl.src,Sl.a),ma++)}uo.push({id:Sa,order:Jn,key:ma?da/ma:1/0})}uo.sort(function(za,vl){return za.key-vl.key||za.order-vl.order});for(var $l=[],ml=0;ml<uo.length;ml++)$l.push(uo[ml].id);Ja.ids=_e($l,!0,!1)}for(var Pl=(Nn-Ja.w)/2,Yl=0;Yl<Ja.ids.length;Yl++){var ri=Ja.ids[Yl],wi=Ur[ri];Yl>0&&(Pl+=Math.max(qr(Ur[Ja.ids[Yl-1]].isContainer,wi.isContainer),tn(Ja.ids[Yl-1],ri))),Br[ri]={x:Pl,y:fa+(Ja.h-wi.h)/2},Ya[ri]=Pl+wi.w/2,Pl+=wi.w}xt+1<at.length?fa+=Ja.h+z(Ja.allCont,at[xt+1].allCont):fa+=Ja.h}for(var mi={},Cl=0;Cl<at.length;Cl++)for(var ll=0;ll<at[Cl].ids.length;ll++)mi[at[Cl].ids[ll]]=Cl;function yi(za,vl){return Math.max(qr(Ur[za[vl-1]].isContainer,Ur[za[vl]].isContainer),tn(za[vl-1],za[vl]))}function rs(za,vl,Va){for(var Ol=!1,Fl=0;Fl<Va.length;Fl++)if(Va[Fl]>0){Ol=!0;break}if(Ol){for(var cl=[],al=0;al<za.length;al++){var ki=Ur[za[al]],Ln=al>0?yi(za,al):0;for(cl.push({first:al,last:al,w:ki.w,gapBefore:Ln,wSum:Va[al],prefSum:Va[al]>0?Va[al]*(vl[al]-ki.w/2):0,x:Va[al]>0?vl[al]-ki.w/2:Br[za[al]].x});cl.length>1;){var Mi=cl[cl.length-1],vi=cl[cl.length-2];if(vi.x+vi.w+Mi.gapBefore<=Mi.x)break;var Di=vi.w+Mi.gapBefore;vi.prefSum+=Mi.prefSum-Mi.wSum*Di,vi.wSum+=Mi.wSum,vi.w=Di+Mi.w,vi.last=Mi.last,vi.wSum>0&&(vi.x=vi.prefSum/vi.wSum),cl.pop()}}for(var Wi=null,si=0;si<cl.length;si++){var Il=cl[si],Ht=Il.x;Wi!=null&&Ht<Wi+Il.gapBefore&&(Ht=Wi+Il.gapBefore);for(var ya=0,Oa=Il.first;Oa<=Il.last;Oa++){var St=Ur[za[Oa]];Oa>Il.first&&(ya+=yi(za,Oa)),Br[za[Oa]].x=Ht+ya,Ya[za[Oa]]=Ht+ya+St.w/2,ya+=St.w}Wi=Ht+Il.w}}}for(var Xl=1;Xl<at.length;Xl++){for(var ql=at[Xl].ids,hi=[],ei=[],Pi=0;Pi<ql.length;Pi++){for(var pa=0,kn=0,Na=0;Na<De.length;Na++){var ol=De[Na],il=ol.a===ql[Pi]?ol.b:ol.b===ql[Pi]?ol.a:null;il!=null&&mi[il]<Xl&&(pa+=Ya[il],kn++)}hi.push(kn?pa/kn:Br[ql[Pi]].x+Ur[ql[Pi]].w/2),ei.push(kn)}rs(ql,hi,ei)}if(at.length>1){for(var tl=at[0].ids,ba=[],dl=[],Ml=0;Ml<tl.length;Ml++){for(var Bl=0,Ei=0,ta=!0,ii=0;ii<De.length;ii++){var Yi=De[ii],Tl=Yi.a===tl[Ml]?Yi.b:Yi.b===tl[Ml]?Yi.a:null;if(!(Tl==null||mi[Tl]===0)){for(var oi=0;oi<De.length&&ta;oi++){var xl=De[oi],nl=xl.a===Tl?xl.b:xl.b===Tl?xl.a:null;nl!=null&&nl!==tl[Ml]&&mi[nl]<mi[Tl]&&(ta=!1)}ta&&(Bl+=Ya[Tl],Ei++)}}ba.push(ta&&Ei?Bl/Ei:Br[tl[Ml]].x+Ur[tl[Ml]].w/2),dl.push(ta&&Ei?1:0)}rs(tl,ba,dl)}var Gl=1/0,Zl=-1/0;for(var Ci in Br)Br.hasOwnProperty(Ci)&&(Br[Ci].x<Gl&&(Gl=Br[Ci].x),Br[Ci].x+Ur[Ci].w>Zl&&(Zl=Br[Ci].x+Ur[Ci].w));if(Gl!==1/0&&Gl!==0)for(var As in Br)Br.hasOwnProperty(As)&&(Br[As].x-=Gl);return{pos:Br,w:Gl===1/0?Nn:Zl-Gl,h:fa}}function Te(Rr){return Rr&&Rr.name?String(Rr.name).split(`
205
+ `).length:1}function ae(Rr,xr,br,Br){var Pr=Rr.kind,Xe=15*(Te(Rr)-1);if(Pr==="node"){var zr=Math.max(xr+2*Bu,Br+2*df,80);return{w:zr+nu,h:nu+30+Xe+br+16,childX:(zr-xr)/2,childY:nu+30+Xe}}if(Pr==="database"){var Ke=Math.max(xr,Br)+33;return{w:Ke,h:50+Xe+br+16,childX:(Ke-xr)/2,childY:50+Xe}}if(Pr==="cloud"){var De=Math.max(xr,Br)+40;return{w:De,h:35+Xe+br+18,childX:(De-xr)/2,childY:35+Xe}}var ze=Math.max(xr+2*Bu,Br+2*Bu,80);return{w:ze,h:Xs+8+Xe+br+12,childX:(ze-xr)/2,childY:Xs+8+Xe}}function it(Rr){if(Ur[Rr])return Ur[Rr];if(ao[Rr]){var xr=To[Rr];if(yo[Rr]){var br=ae(xr,0,0,zi(xr.name,!0));return Ur[Rr]={w:br.w,h:br.h,isContainer:!0,kind:xr.kind,children:[]},Ur[Rr]}yo[Rr]=!0;for(var Br=(xr.children||[]).slice(),Pr=[],Xe=0;Xe<Br.length;Xe++)yo[Br[Xe]]&&!Ur[Br[Xe]]||(it(Br[Xe]),Pr.push(Br[Xe]));for(var zr=[],Ke=[],De=0;De<Pr.length;De++){var ze=Ur[Pr[De]],So=ze?ze.kind:null;So==="port"||So==="portin"||So==="portout"?zr.push(Pr[De]):Ke.push(Pr[De])}if(zr.length>0){for(var ot=he(Ke,xr.id),ve=zi(xr.name,!0),Yt=46,At=24,ht=Math.max(ot.w,ve,150),Vt=ht+2*Bu,Pn=Yt+ot.h+At,Ae=[],Fe=(Vt-ot.w)/2,le=0;le<Ke.length;le++){var Ne=ot.pos[Ke[le]];Ne&&Ae.push({id:Ke[le],x:Fe+Ne.x,y:Yt+Ne.y})}for(var Qe=0;Qe<zr.length;Qe++){var tn=Ur[zr[Qe]],Vo=(Qe+1)/(zr.length+1);Ae.push({id:zr[Qe],x:Math.round(Vt*Vo-tn.w/2),y:-Math.round(tn.h/2)})}return Ur[Rr]={w:Vt,h:Pn,isContainer:!0,kind:xr.kind,children:Ae},Ur[Rr]}for(var xo=he(Pr,xr.id),Co=ae(xr,xo.w,xo.h,zi(xr.name,!0)),mn=[],pn=0;pn<Pr.length;pn++){var hn=xo.pos[Pr[pn]];hn&&mn.push({id:Pr[pn],x:Co.childX+hn.x,y:Co.childY+hn.y})}return Ur[Rr]={w:Co.w,h:Co.h,isContainer:!0,kind:xr.kind,children:mn},Ur[Rr]}var Dt=ne[Rr],ca=ls(Dt);return Ur[Rr]={w:ca.w,h:ca.h,isContainer:!1,kind:Dt?Dt.kind:null,children:[]},Ur[Rr]}function Gt(Rr,xr,br,Br,Pr,Xe,zr){var Ke=Y(Rr.color)||"#F1F1F1",De="#181818",ze=Rr.kind,So=Rr.body?Nu(Rr):null;yr(ze,Rr.stereotype,Rr.color);function ot(Po,Ct,bt,Vr,to,Xt){if(So==null)return fr(Po,Rr.name,Ct,bt,Vr,to,Xt,zr);for(var ha=Gi(ze)-2,Wr=[["html","1"],["whiteSpace","wrap"],["fontSize","14"],["align",r&&r.textAlign||"left"],["verticalAlign","middle"],["spacingLeft",String(ha)],["spacingRight",String(ha)]],ro=Ct,te=0;te<Wr.length;te++)new RegExp("(?:^|;)"+Wr[te][0]+"=").test(ro)||(ro+=Wr[te][0]+"="+Wr[te][1]+";");return hr(Po,So.html,wr(ro,!1),bt,Vr,to,Xt,zr)}function ve(Po,Ct,bt,Vr){C+=fr(Fr("ci"),"","rounded=0;fillColor="+De+";strokeColor="+De+";",Po,Ct,bt,Vr,zr)}function Yt(Po,Ct,bt){C+=fr(Fr("cap"),Rr.name,"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=top;fontSize=14;whiteSpace=wrap;",Po,Ct,bt,Pf+4,zr)}if(ze==="note"){var At=Fr("note");C+=fr(At,Rr.name,"shape=note;size=14;fillColor="+(Y(Rr.color)||"#FEFFDD")+";strokeColor=#181818;fontSize=12;whiteSpace=wrap;align=left;",br,Br,Pr,Xe,zr),Ir[xr]=At;return}if(ze==="port"||ze==="portin"||ze==="portout"){var ht=Fr("n");C+=fr(ht,"","rounded=0;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr),Ir[xr]=ht,C+=fr(Fr("cap"),Rr.name,"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=bottom;fontSize=14;",br-12,Br-20,Pr+24,18,zr);return}if(So==null&&cf(Rr.name)&&!Tu(Rr.name)){var Vt=hf(Rr.name),Pn=r&&r.textAlign||"left",Ae=Fr("n");ze==="usecase"?C+=fr(Ae,"","ellipse;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr):ze==="cloud"?C+=fr(Ae,"","shape=cloud;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr):ze==="database"?C+=fr(Ae,"","shape=cylinder;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr):ze==="queue"?C+=fr(Ae,"","shape=cylinder3;direction=east;size=12;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr):ze==="stack"?(C+=fr(Ae,"","rounded=0;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr),C+=Ar(Fr("st"),"","endArrow=none;strokeColor="+De+";",br+Math.round(Pr*.22),Br,br+Math.round(Pr*.22),Br+5,"1"),C+=Ar(Fr("st"),"","endArrow=none;strokeColor="+De+";",br+Math.round(Pr*.78),Br,br+Math.round(Pr*.78),Br+5,"1")):ze==="hexagon"?C+=fr(Ae,"","shape=hexagon;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr):ze==="storage"?C+=fr(Ae,"","rounded=1;arcSize=40;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr):C+=fr(Ae,"","rounded=1;absoluteArcSize=1;arcSize=5;fillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr),Ir[xr]=Ae,C+=K(Fr("lbl"),Vt.html,"text;html=1;fontSize=14;strokeColor=none;fillColor=none;align="+Pn+";verticalAlign=middle;",br+6,Br,Pr-12,Xe,zr);return}if(pf[ze]){var Fe=Iu(Rr),le=Fe.w,Ne=Fe.h,Qe=br+(Pr-le)/2,tn=Fr("n");if(ze==="actor")C+=fr(tn,"","shape=umlActor;html=1;fillColor="+Ke+";strokeColor="+De+";",Qe,Br,le,Ne,zr);else if(ze==="boundary"){var Vo=Ne,xo=Qe+le-Vo,Co=Br+Vo/2;ve(Qe,Br+Vo*.2,2,Vo*.6),ve(Qe,Co-1,xo-Qe,2),C+=fr(tn,"","ellipse;fillColor="+Ke+";strokeColor="+De+";",xo,Br,Vo,Vo,zr)}else{var mn=Math.min(le,Ne-(ze==="entity"?6:0)),pn=br+(Pr-mn)/2;C+=fr(tn,"","ellipse;fillColor="+Ke+";strokeColor="+De+";",pn,Br,mn,mn,zr),ze==="entity"?C+=fr(Fr("ci"),"","line;strokeWidth=1;strokeColor="+De+";fillColor=none;",pn,Br+mn+1,mn,2,zr):ze==="control"&&(ve(pn+mn*.34,Br-1,8,2),ve(pn+mn*.34,Br-1,2,7))}Ir[xr]=tn,Yt(br,Br+Ne+vf-4,Pr);return}if(ze==="person"){var hn=22;C+=fr(Fr("ci"),"","ellipse;fillColor="+Ke+";strokeColor="+De+";",br+(Pr-hn)/2,Br,hn,hn,zr);var Dt=Br+Math.round(hn*.7),ca=Fr("n");C+=ot(ca,"rounded=1;arcSize=40;fillColor="+Ke+";strokeColor="+De+";fontSize=14;verticalAlign=middle;whiteSpace=wrap;",br,Dt,Pr,Br+Xe-Dt),Ir[xr]=ca;return}if(ze==="collections"){var ea=4;C+=fr(Fr("ci"),"","rounded=0;fillColor="+Ke+";strokeColor="+De+";",br+ea,Br,Pr-ea,Xe-ea,zr);var me=Fr("n");C+=ot(me,"rounded=0;fillColor="+Ke+";strokeColor="+De+";fontSize=14;whiteSpace=wrap;",br,Br+ea,Pr-ea,Xe-ea),Ir[xr]=me;return}if(ze==="queue"){var ie=Fr("n");C+=ot(ie,"shape=cylinder3;direction=east;size=5;fillColor="+Ke+";strokeColor="+De+";fontSize=14;whiteSpace=wrap;",br,Br,Pr,Xe),Ir[xr]=ie;return}if(ze==="stack"){var pe=Fr("n");C+=ot(pe,"shape=partialRectangle;top=0;left=1;right=1;bottom=1;fillColor="+Ke+";strokeColor="+De+";fontSize=14;whiteSpace=wrap;align=center;verticalAlign=middle;",br+15,Br,Pr-30,Xe),C+=fr(Fr("ci"),"","line;strokeWidth=1;strokeColor="+De+";fillColor=none;",br,Br-1,15,2,zr),C+=fr(Fr("ci"),"","line;strokeWidth=1;strokeColor="+De+";fillColor=none;",br+Pr-15,Br-1,15,2,zr),Ir[xr]=pe;return}if(ze==="folder"||ze==="package"){var ke=Fr("n"),Re=ze==="package",$o=Math.round(zi(So?Re?Rr.id:"":Rr.name,!1)),Jo="shape=folder;tabWidth="+(Re?$o+25:Math.max(24,Math.min(Pr-8,$o+4)))+";tabHeight="+(Re?23:21)+";tabPosition=left;html=1;whiteSpace=wrap;fillColor="+Ke+";strokeColor="+De+";fontSize=14;"+(Re?"align=left;verticalAlign=top;spacingLeft=6;spacingTop=1;":"align=center;verticalAlign=middle;spacingTop=21;");So&&Re?(C+=fr(ke,Rr.id,Jo,br,Br,Pr,Xe,zr),C+=ot(Fr("lbl"),"text;fillColor=none;strokeColor=none;fontSize=14;",br,Br+23,Pr,Xe-23)):C+=ot(ke,Jo,br,Br,Pr,Xe),Ir[xr]=ke;return}if(ze==="frame"){var Wt=Fr("n");C+=fr(Wt,"","shape=umlFrame;width=29;height=12;fillColor="+Ke+";swimlaneFillColor="+Ke+";strokeColor="+De+";",br,Br,Pr,Xe,zr),Ir[xr]=Wt,C+=ot(Fr("lbl"),"text;html=1;fillColor=none;strokeColor=none;fontSize=14;align=center;verticalAlign=middle;whiteSpace=wrap;",br,Br+12,Pr,Xe-12);return}if(ze==="artifact"){var at=Fr("n");C+=ot(at,"rounded=1;absoluteArcSize=1;arcSize=5;fillColor="+Ke+";strokeColor="+De+";fontSize=14;whiteSpace=wrap;",br,Br,Pr,Xe),Ir[xr]=at,C+=fr(Fr("ci"),"","shape=note;size=6;fillColor="+Ke+";strokeColor="+De+";strokeWidth=0.5;",br+Pr-17,Br+5,12,14,zr);return}var Nn=Fr("n"),ia=Rs(Rr),sa=ze==="component"||ze==="bracket"||ze==="bare"||!ze&&Rr.name;if(sa&&X==="uml1"&&(ia="shape=component;jettyWidth=10;jettyHeight=5;"+ia.replace(/^rounded=1;absoluteArcSize=1;arcSize=6;/,"")),C+=ot(Nn,ia,br,Br,Pr,Xe),Ir[xr]=Nn,sa&&X!=="rectangle"&&X!=="uml1"){var ka="fillColor="+Ke+";strokeColor="+De+";";C+=fr(Fr("ci"),"","rounded=0;"+ka,br+Pr-20,Br+5,15,10,zr),C+=fr(Fr("ci"),"",ka,br+Pr-22,Br+7,4,2,zr),C+=fr(Fr("ci"),"",ka,br+Pr-22,Br+11,4,2,zr)}}function oo(Rr,xr,br,Br,Pr,Xe){var zr=Ur[Rr];if(zr){if(Pr===void 0&&(Pr=xr,Xe=br),qe[Rr]={x:Pr,y:Xe,w:zr.w,h:zr.h},zr.isContainer){var Ke=To[Rr],De=Fr("c");yr(Ke.kind,Ke.stereotype,Ke.color),C+=fr(De,Ke.name,Td(Ke),xr,br,zr.w,zr.h,Br),Ir[Rr]=De,Ke.kind==="component"&&(C+=fr(Fr("ci"),"","rounded=0;fillColor=none;strokeColor=#181818;",xr+zr.w-20,br+5,15,10,Br),C+=fr(Fr("ci"),"","fillColor=none;strokeColor=#181818;",xr+zr.w-22,br+7,4,2,Br),C+=fr(Fr("ci"),"","fillColor=none;strokeColor=#181818;",xr+zr.w-22,br+11,4,2,Br));for(var ze=0;ze<zr.children.length;ze++){var So=zr.children[ze];oo(So.id,So.x,So.y,De,Pr+So.x,Xe+So.y)}return}Gt(ne[Rr],Rr,xr,br,zr.w,zr.h,Br)}}function pt(){if(h.length>0)return!1;for(var Rr=0;Rr<l.length;Rr++)if(l[Rr].dir)return!0;return!1}function rt(){for(var Rr=26,xr=42,br=[],Br=0;Br<e.length;Br++)it(e[Br].id),br.push(e[Br].id);if(br.length===0)return{pos:{},w:0,h:0};for(var Pr={},Xe=0;Xe<br.length;Xe++)Pr[br[Xe]]=!0;for(var zr=[],Ke=0;Ke<l.length;Ke++){var De=l[Ke].from,ze=l[Ke].to;if(!(!Pr[De]||!Pr[ze]||De===ze)){var So=l[Ke].dir,ot=So==="d"?1:So==="u"?-1:0;zr.push({a:De,b:ze,delta:ot,dir:So})}}var ve={};ve[br[0]]=0;for(var Yt=!0,At=0;Yt&&At++<br.length*br.length+64;){Yt=!1;for(var ht=0;ht<zr.length;ht++){var Vt=zr[ht];ve[Vt.a]!==void 0&&ve[Vt.b]===void 0?(ve[Vt.b]=ve[Vt.a]+Vt.delta,Yt=!0):ve[Vt.b]!==void 0&&ve[Vt.a]===void 0&&(ve[Vt.a]=ve[Vt.b]-Vt.delta,Yt=!0)}}for(var Pn=0;Pn<br.length;Pn++)ve[br[Pn]]===void 0&&(ve[br[Pn]]=0);for(var Ae=null,Fe=0;Fe<zr.length;Fe++)if(zr[Fe].dir==="r"||zr[Fe].dir==="l"){Ae=ve[zr[Fe].a];break}for(var le={},Ne=0;Ne<br.length;Ne++){var Qe=ve[br[Ne]];le[Qe]=(le[Qe]||0)+1}if(Ae===null){var tn=-1;for(var Vo in le)le[Vo]>tn&&(tn=le[Vo],Ae=parseInt(Vo,10))}for(var xo={},Co=[],mn=0;mn<br.length;mn++){var pn=ve[br[mn]];xo.hasOwnProperty(pn)||(xo[pn]=[],Co.push(pn)),xo[pn].push(br[mn])}Co.sort(function(yn,ua){return yn-ua});for(var hn={},Dt={},ca=0,ea=0;ea<Co.length;ea++){for(var me=0,ie=xo[Co[ea]],pe=0;pe<ie.length;pe++)Ur[ie[pe]].h>me&&(me=Ur[ie[pe]].h);Dt[Co[ea]]=me,hn[Co[ea]]=ca,ca+=me+xr}for(var ke={},Re={},$o=(xo[Ae]||[]).slice(),Jo={},Wt={},at=0;at<$o.length;at++)Jo[$o[at]]=[],Wt[$o[at]]=0;for(var Nn=0;Nn<zr.length;Nn++){var ia=zr[Nn];if(!(ve[ia.a]!==Ae||ve[ia.b]!==Ae)){var sa=ia.a,ka=ia.b;ia.dir==="l"&&(sa=ia.b,ka=ia.a),Jo[sa]&&Wt.hasOwnProperty(ka)&&(Jo[sa].push(ka),Wt[ka]++)}}for(var Po=[],Ct=[],bt=0;bt<$o.length;bt++)Wt[$o[bt]]===0&&Ct.push($o[bt]);for(var Vr=$o.length*$o.length+16;Ct.length&&Vr-- >0;){var to=Ct.shift();Po.push(to);for(var Xt=0;Xt<Jo[to].length;Xt++)--Wt[Jo[to][Xt]]===0&&Ct.push(Jo[to][Xt])}for(var ha=0;ha<$o.length;ha++)Po.indexOf($o[ha])<0&&Po.push($o[ha]);function Wr(yn,ua){var Ya=0;if(yn==null||ua==null)return Ya;for(var fa=0;fa<l.length;fa++){var xt=l[fa];if(!(xt.hidden||!xt.label)&&(xt.from===yn&&xt.to===ua||xt.from===ua&&xt.to===yn)){var Ja=Math.round(zi(xt.label,!1))+16;Ja>Ya&&(Ya=Ja)}}return Ya}for(var ro=0,te=0;te<Po.length;te++){var ue=Po[te],zo=Ur[ue];ke[ue]={x:ro,y:hn[Ae]+(Dt[Ae]-zo.h)/2},Re[ue]=ro+zo.w/2,ro+=zo.w+Math.max(Rr,Wr(ue,te+1<Po.length?Po[te+1]:null))}function nn(yn){for(var ua=ve[yn]<Ae?ve[yn]+1:ve[yn]-1,Ya=[],fa=0;fa<zr.length;fa++)zr[fa].a===yn&&ve[zr[fa].b]===ua?Ya.push(zr[fa].b):zr[fa].b===yn&&ve[zr[fa].a]===ua&&Ya.push(zr[fa].a);return Ya}function Fa(yn){for(var ua=xo[yn].slice(),Ya=0;Ya<ua.length;Ya++){for(var fa=nn(ua[Ya]),xt=0,Ja=0,uo=0;uo<fa.length;uo++)Re.hasOwnProperty(fa[uo])&&(xt+=Re[fa[uo]],Ja++);ua[Ya]={id:ua[Ya],want:Ja?xt/Ja:0}}ua.sort(function(Sl,$l){return Sl.want-$l.want});for(var Jn=-1e9,Sa=0;Sa<ua.length;Sa++){var da=ua[Sa].id,ma=Ur[da],Ha=ua[Sa].want-ma.w/2;Ha<Jn&&(Ha=Jn),ke[da]={x:Ha,y:hn[yn]+(Dt[yn]-ma.h)/2},Re[da]=Ha+ma.w/2,Jn=Ha+ma.w+Rr}}for(var Kn=0,bn=0;bn<Co.length;bn++){var Ve=Math.abs(Co[bn]-Ae);Ve>Kn&&(Kn=Ve)}for(var Yo=1;Yo<=Kn;Yo++)xo.hasOwnProperty(Ae-Yo)&&Fa(Ae-Yo),xo.hasOwnProperty(Ae+Yo)&&Fa(Ae+Yo);for(var st=1e9,Ca=-1e9,Mt=-1e9,Ra=0;Ra<br.length;Ra++){var Xn=ke[br[Ra]];if(Xn){var _a=Ur[br[Ra]];Xn.x<st&&(st=Xn.x),Xn.x+_a.w>Ca&&(Ca=Xn.x+_a.w),Xn.y+_a.h>Mt&&(Mt=Xn.y+_a.h)}}for(var Ka=0;Ka<br.length;Ka++)ke[br[Ka]]&&(ke[br[Ka]].x-=st);return{pos:ke,w:Ca-st,h:Mt}}var jo=[];if(pt())for(var Qt=rt(),Me=0;Me<e.length;Me++){var Io=Qt.pos[e[Me].id];Io&&oo(e[Me].id,hl+Io.x,Qo+Io.y,"1")}else{for(var Wo=0;Wo<h.length;Wo++)h[Wo].parent==null&&(it(h[Wo].id),jo.push(h[Wo].id));for(var Ro=0;Ro<e.length;Ro++)e[Ro].parent==null&&!Ur[e[Ro].id]&&(it(e[Ro].id),jo.push(e[Ro].id));for(var An=he(jo,null),dn=0;dn<jo.length;dn++){var rn=An.pos[jo[dn]];rn&&oo(jo[dn],hl+rn.x,Qo+rn.y,"1")}}var Ao={},_t={};function ft(Rr){return Rr.from<Rr.to?Rr.from+"|"+Rr.to:Rr.to+"|"+Rr.from}for(var Se=0;Se<l.length;Se++)if(!l[Se].hidden){var Go=ft(l[Se]);Ao[Go]=(Ao[Go]||0)+1}var wt=C.length,cn="";v=null;for(var No=0;No<l.length;No++){var oe=l[No];if(!oe.hidden){var Uo=Ir[oe.from],Ot=Ir[oe.to];if(!(!Uo||!Ot||Uo===Ot)){var ho=Y(oe.color)||"#181818",dt="strokeColor="+ho+";fontColor=#000000;fontSize=12;html=1;"+(oe.bold?"strokeWidth=2;":"")+(oe.label?"labelBackgroundColor=#FFFFFF;":"");oe.arrowHead==="none"?dt+="endArrow=none;":oe.arrowHead==="bidirectional"?dt+="endArrow=classicThin;endFill=1;startArrow=classicThin;startFill=1;":oe.arrowHead==="socket"?dt+="endArrow=halfCircle;endSize=7;endFill=0;":dt+="endArrow=classicThin;endFill=1;",oe.lineStyle==="dotted"?dt+="dashed=1;dashPattern=1 3;":oe.lineStyle==="dashed"&&(dt+="dashed=1;dashPattern=7 7;");var Aa=qe[oe.from],Sn=qe[oe.to];if(Aa&&Sn&&Aa.y>Sn.y+Sn.h+60){for(var an=!1,we=Aa.x+Aa.w/2,Eo=Aa.y+Aa.h/2,Et=Sn.x+Sn.w/2,Cr=Sn.y+Sn.h/2,Lr={},He=oe.from;He!=null;He=po[He])Lr[He]=!0;for(var Ie=oe.to;Ie!=null;Ie=po[Ie])Lr[Ie]=!0;for(var Oe in qe)if(!(!qe.hasOwnProperty(Oe)||Lr[Oe])){var so=qe[Oe],Xo=so.y+so.h/2;if(!(Xo<=Cr||Xo>=Eo)){var qo=(Xo-Eo)/(Cr-Eo),Yn=we+qo*(Et-we);if(Yn>=so.x-4&&Yn<=so.x+so.w+4){an=!0;break}}}if(an){var Nt=0;for(var Da in qe)if(qe.hasOwnProperty(Da)){var je=qe[Da];je.x+je.w>Nt&&(Nt=je.x+je.w)}Nt+=28;var _r=dt+"exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;";C+=' <mxCell id="'+d(Fr("e"))+'" value="'+o(oe.label||"",_r)+'" style="'+d(_r)+'" edge="1" source="'+d(Ir[oe.from])+'" target="'+d(Ir[oe.to])+`" parent="1">
206
+ <mxGeometry relative="1" as="geometry">
207
+ <Array as="points">
208
+ <mxPoint x="`+Nt+'" y="'+Math.round(Eo)+`"/>
209
+ <mxPoint x="`+Nt+'" y="'+Math.round(Cr)+`"/>
210
+ </Array>
211
+ </mxGeometry>
212
+ </mxCell>
213
+ `;continue}}var Ho=ft(oe);if(Ao[Ho]>1){var Ce=_t[Ho]=(_t[Ho]||0)+1,ln=Math.round((.5+(Ce-(Ao[Ho]+1)/2)*.36)*100)/100,nt=qe[oe.from],wo=qe[oe.to];if(nt&&wo){var xn=nt.x+nt.w/2,Lt=nt.y+nt.h/2,Ft=wo.x+wo.w/2,fe=wo.y+wo.h/2;if(Math.abs(fe-Lt)>=Math.abs(Ft-xn)){var ge=fe>Lt;dt+="exitX="+ln+";exitY="+(ge?1:0)+";exitDx=0;exitDy=0;entryX="+ln+";entryY="+(ge?0:1)+";entryDx=0;entryDy=0;"}else{var qt=Ft>xn;dt+="exitX="+(qt?1:0)+";exitY="+ln+";exitDx=0;exitDy=0;entryX="+(qt?0:1)+";entryY="+ln+";entryDx=0;entryDy=0;"}}else dt+="exitX="+ln+";exitY="+ln+";exitDx=0;exitDy=0;entryX="+ln+";entryY="+ln+";entryDx=0;entryDy=0;"}dt=j(tr(dt,["arrow"],null,"edge",oe.color?["strokeColor"]:null),Z),C+=vr(Fr("e"),oe.label||"",dt,Uo,Ot,"1")}}}var et=r.notes||[];function en(Rr){for(var xr=Rr?String(Rr).split(`
214
+ `):[""],br=0,Br=0;Br<xr.length;Br++)br=Math.max(br,zi(xr[Br],!1)*.93);return{w:Math.max(50,Math.ceil(br)+21),h:Math.max(24,Math.round(xr.length*15.3+10))}}var Zt=35;function qn(Rr){if(qe[Rr])return Rr;for(var xr=0;xr<e.length;xr++)if(e[xr].name===Rr&&qe[e[xr].id])return e[xr].id;return null}for(var Ko=0;Ko<et.length;Ko++){let Rr=function(xr){return xr==="left"?{x:Je.x-sn.w-Zt,y:Je.y+(Je.h-sn.h)/2}:xr==="top"?{x:Je.x+(Je.w-sn.w)/2,y:Je.y-sn.h-Zt}:xr==="bottom"?{x:Je.x+(Je.w-sn.w)/2,y:Je.y+Je.h+Zt}:{x:Je.x+Je.w+Zt,y:Je.y+(Je.h-sn.h)/2}};var Hn=et[Ko],aa=qn(Hn.target),Je=aa?qe[aa]:null,sn=en(Hn.text),Bn=10,$t=10,mo=Hn.position||"right";if(Je){var Pt=Rr(mo);Bn=Pt.x,$t=Pt.y}for(var ra=[],Ut=0;Ut<Ko;Ut++)et[Ut]._placed&&ra.push(et[Ut]._placed);var Wn=function(xr,br){var Br=ra.slice();for(var Pr in qe)qe.hasOwnProperty(Pr)&&Pr!==aa&&(ao[Pr]||Br.push(qe[Pr]));for(var Xe=0;Xe<Br.length;Xe++){var zr=Br[Xe];if(xr<zr.x+zr.w&&xr+sn.w>zr.x&&br<zr.y+zr.h&&br+sn.h>zr.y)return zr}return null};if(Je&&Wn(Bn,$t))for(var yt={left:"right",right:"left",top:"bottom",bottom:"top"},Zn=[yt[mo],"bottom","top","right","left"],on=0;on<Zn.length;on++){var va=Zn[on];if(va!==mo){var ga=Rr(va);if(ga.x>=0&&ga.y>=0&&!Wn(ga.x,ga.y)){mo=va,Bn=ga.x,$t=ga.y;break}}}for(var jn=0;jn<8;jn++){var Fn=Wn(Bn,$t);if(!Fn)break;mo==="left"?Bn=Fn.x-sn.w-12:mo==="top"?$t=Fn.y-sn.h-12:mo==="bottom"?$t=Fn.y+Fn.h+12:Bn=Fn.x+Fn.w+12}Hn._placed={x:Bn,y:$t,w:sn.w,h:sn.h};var Mn=Fr("note");if(Bn=Math.round(Bn),$t=Math.round($t),C+=fr(Mn,Hn.text||"",tr("shape=note;size=10;fillColor=#FEFFDD;strokeColor=#181818;fontSize=13;whiteSpace=wrap;align=left;spacingLeft=4;",["note"]),Bn,$t,sn.w,sn.h,"1"),Je){var la=tr("shape=triangle;fillColor=#FEFFDD;strokeColor=#181818;strokeWidth=0.5;",["note"]),Tn=Math.round(Je.x+Je.w/2),gt=Math.round(Je.y+Je.h/2);mo==="left"?C+=fr(Fr("noteptr"),"",la+"direction=east;",Bn+sn.w-1,gt-4,Math.max(6,Je.x-(Bn+sn.w)+1),8,"1"):mo==="top"?C+=fr(Fr("noteptr"),"",la+"direction=south;",Tn-4,$t+sn.h-1,8,Math.max(6,Je.y-($t+sn.h)+1),"1"):mo==="bottom"?C+=fr(Fr("noteptr"),"",la+"direction=north;",Tn-4,Je.y+Je.h,8,Math.max(6,$t-(Je.y+Je.h)+1),"1"):C+=fr(Fr("noteptr"),"",la+"direction=west;",Je.x+Je.w,gt-4,Math.max(6,Bn-(Je.x+Je.w)+1),8,"1")}}if(cn&&(C=C.slice(0,wt)+cn+C.slice(wt)),r.title){var Rt=null,Jt=null,ct=null;for(var wn in qe)if(qe.hasOwnProperty(wn)){var wo=qe[wn];(Rt===null||wo.x<Rt)&&(Rt=wo.x),(Jt===null||wo.x+wo.w>Jt)&&(Jt=wo.x+wo.w),(ct===null||wo.y<ct)&&(ct=wo.y)}Rt===null&&(Rt=0,Jt=200,ct=Qo);var In=String(r.title).split(`
215
+ `),ko=Math.max(120,Math.round(zi(r.title,!0))+20),Do=In.length*20+4;C+=fr(Fr("title"),r.title,"text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",Math.round((Rt+Jt)/2-ko/2),Math.round(ct-Do-12),ko,Do,"1")}return C}var ci=23,ys=19,pu=8,au=8,Yf=21;function Lu(r){return r.text!=null?r.text:r.value?r.name+" = "+r.value:r.name}function $u(r){for(var a=[],e=0;e<r.length;e++)r[e].separator||a.push(Lu(r[e]));return a.join(`
216
+ `)}function Mf(r){var a=r.style==="."?"1px dotted":r.style==="="?"3px double":(r.style==="_","1px solid"),e='<hr style="border:none;border-top:'+a+' #181818;margin:3px 0 3px;">';return r.title?e+'<div style="text-align:center;">'+n(r.title)+"</div>":e}var Id=16,$f=35,xf=60,Gu=7,gf=30,Nd=12,wu=34,Ld=16;function Gd(r,a){var e=r.objects,h=r.maps,l=r.links,C="",b=0,Z=r.styleSheet||null,v=null;function er(Po,Ct,bt,Vr,to,Xt){return W(Po,Z,["root","element",Ct].concat(bt),Vr||[],to||"vertex",Xt)}var X=function(Po,Ct,bt,Vr,to,Xt,ha,Wr){return v!=null&&bt.indexOf("text;")===0&&(bt=er(bt,"objectDiagram",[v.name],v.stereotypes,"text")),$(Po,Ct,bt,Vr,to,Xt,ha,Wr)};function V(Po){return Po+"_"+b++}for(var tr={},wr=0;wr<h.length;wr++)tr[h[wr].id]=h[wr];var yr={};function fr(Po,Ct){return is(Po,Ct||14,!1)}function Ar(Po){for(var Ct=Po&&Po.entries?Po.entries:[],bt=0,Vr=0,to=0;to<Ct.length;to++)bt=Math.max(bt,fr(Ct[to].key)),Vr=Math.max(Vr,fr(Ct[to].value));return{keyColW:bt+10,valColW:Vr+10}}function jr(Po){var Ct=Po.kind==="map"&&tr.hasOwnProperty(Po.id),bt=fr(Po.name)+14;if(Po.stereotype&&(bt=Math.max(bt,fr("\xAB"+Po.stereotype+"\xBB",12)+10)),Ct){var Vr=tr[Po.id],to=Vr.entries?Vr.entries.length:0,Xt=Ar(Vr);return{w:Math.max(bt,Xt.keyColW+Xt.valColW),h:ci*(to+1)}}for(var ha=Po.attributes||[],Wr=bt,ro=0,te=0;te<ha.length;te++){var ue=ha[te];if(ue.separator){ro+=ue.title?Yf:au,ue.title&&(Wr=Math.max(Wr,fr(ue.title)+12));continue}Wr=Math.max(Wr,fr(Lu(ue))+12),ro+=ys}return{w:Wr,h:ci+(Po.stereotype?16:0)+(ha.length===0?Id:ro+pu)}}for(var ce={},Nr=r.packages||[],de=0;de<Nr.length;de++)for(var Fr=Nr[de].objects||[],Ir=0;Ir<Fr.length;Ir++)ce[Fr[Ir]]=Nr[de];function qe(Po){return Po==="node"?{side:46,top:40,bottom:16}:Po==="cloud"?{side:18,top:36,bottom:22}:Po==="database"?{side:31,top:50,bottom:16}:Po==="folder"||Po==="frame"?{side:20,top:35,bottom:16}:{side:32,top:35,bottom:16}}function To(Po){var Ct=ce[Po.id];if(!Ct)return null;var bt=jr(Po),Vr=(Ct.stereotype||"").toLowerCase(),to=fr(Ct.name),Xt=qe(Vr),ha=Math.max(bt.w+Xt.side*2,to+Nd*2),Wr=Xt.top+bt.h+Xt.bottom;return{w:ha,h:Wr,top:Xt.top,stereotype:Vr,name:Ct.name}}function ne(Po){var Ct=To(Po);return Ct?{w:Ct.w,h:Ct.h}:jr(Po)}for(var po=Nr.length>0,ao={},A=0;A<e.length;A++)ao[e[A].id]=!0;for(var J={},ur={},A=0;A<e.length;A++)J[e[A].id]=[],ur[e[A].id]=0;for(var Sr=0;Sr<l.length;Sr++){var Er=l[Sr];if(!(!ao[Er.from]||!ao[Er.to]||Er.from===Er.to)){var qr,z;Er.type==="generalization"?(qr=Er.to,z=Er.from):(qr=Er.from,z=Er.to),J[qr].push(z),ur[z]++}}var Mr={},Be=[];for(var ye in ur)ur.hasOwnProperty(ye)&&ur[ye]===0&&(Mr[ye]=0,Be.push(ye));for(var Le=e.length*e.length+16;Be.length>0&&Le-- >0;)for(var _e=Be.shift(),Ur=J[_e]||[],yo=0;yo<Ur.length;yo++){var fo=Ur[yo],he=Mr[_e]+1;(Mr[fo]===void 0||Mr[fo]<he)&&(Mr[fo]=he,Be.push(fo))}for(var A=0;A<e.length;A++)Mr[e[A].id]===void 0&&(Mr[e[A].id]=0);for(var Te={},ae=[],A=0;A<e.length;A++){var it=Mr[e[A].id];Te[it]||(Te[it]=[],ae.push(it)),Te[it].push(e[A])}ae.sort(function(Po,Ct){return Po-Ct});for(var Gt={},oo={},pt=0,rt=0;rt<ae.length;rt++){for(var jo=Te[ae[rt]],Qt=0,Me=0,Io=0;Io<jo.length;Io++){var Wo=ne(jo[Io]);Io>0&&(Qt+=$f),Qt+=Wo.w,Wo.h>Me&&(Me=Wo.h)}Gt[ae[rt]]=Qt,oo[ae[rt]]=Me,Qt>pt&&(pt=Qt)}for(var Ro={},An=0;An<l.length;An++){var dn=l[An];if(dn.label){var rn=dn.type==="generalization"?dn.to:dn.from;Mr[rn]!==void 0&&(Ro[Mr[rn]]=!0)}}for(var Ao={},_t=0;_t<e.length;_t++){var ft=e[_t];ft.kind==="map"&&tr.hasOwnProperty(ft.id)&&(Ao[Mr[ft.id]]=!0)}for(var Se=0,Go=0;Go<Nr.length;Go++){var wt=qe((Nr[Go].stereotype||"").toLowerCase()).top;wt>Se&&(Se=wt)}for(var cn=Gu+(po?Se:0),No={},rt=0;rt<ae.length;rt++){for(var oe=ae[rt],Uo=Te[oe],Ot=oo[oe],ho=Gu+(pt-Gt[oe])/2,Io=0;Io<Uo.length;Io++){var dt=Uo[Io],Aa=jr(dt),Sn=ne(dt);No[dt.id]={x:ho+(Sn.w-Aa.w)/2,y:cn+(Ot-Aa.h)/2,w:Aa.w,h:Aa.h},ho+=Sn.w+$f}cn+=Ot+xf+(Ao[oe]?8:0)+(Ro[oe]?18:0)}for(var an={},we=0;we<l.length;we++){var Eo=l[we];if(!(Eo.fromRow==null||!tr[Eo.from])){for(var Et=0,Cr=0;Cr<l.length;Cr++)Cr!==we&&(l[Cr].from===Eo.to||l[Cr].to===Eo.to)&&Et++;Et>0||!No[Eo.to]||!No[Eo.from]||(an[Eo.from]||(an[Eo.from]=[]),an[Eo.from].push(Eo))}}for(var Lr in an)if(an.hasOwnProperty(Lr))for(var He=an[Lr],Ie=No[Lr],Oe=tr[Lr].entries||[],so=Ie.x+Ie.w+50,Xo=He.length-1;Xo>=0;Xo--){for(var qo=No[He[Xo].to],Yn=0,Nt=0;Nt<Oe.length;Nt++)if(Oe[Nt].key===He[Xo].fromRow){Yn=Nt;break}He[Xo]._rowIdx=Yn,qo.x=so,qo.y=Ie.y+ci*(Yn+1)+ci/2-qo.h/2,qo.y<Gu&&(qo.y=Gu),so+=qo.w+40}for(var Da=r.packages||[],je={},_r=0;_r<Da.length;_r++){var Ho=Da[_r],Ce=Ho.objects||[];if(Ce.length!==0){var ln=null,nt;for(nt=0;nt<e.length;nt++)if(Ce.indexOf(e[nt].id)>=0){ln=e[nt];break}for(var wo=1/0,xn=1/0,Lt=-1/0,Ft=-1/0,fe=!1,ge=0;ge<Ce.length;ge++){var qt=No[Ce[ge]];qt&&(fe=!0,qt.x<wo&&(wo=qt.x),qt.y<xn&&(xn=qt.y),qt.x+qt.w>Lt&&(Lt=qt.x+qt.w),qt.y+qt.h>Ft&&(Ft=qt.y+qt.h))}if(!(!fe||!ln)){var et=To(ln),en=et?et.w:Lt-wo+gf*2,Zt=et?et.h:Ft-xn+wu+Ld,qn=(wo+Lt)/2,Ko=qn-en/2,Hn=xn-(et?et.top:wu),aa=et?et.stereotype:"",Je=V("opkg"),sn="container=1;collapsible=0;";for(ge=0;ge<Ce.length;ge++)No[Ce[ge]]&&(je[Ce[ge]]={id:Je,x:Ko,y:Hn});var Bn="text;html=1;fillColor=none;strokeColor=none;fontColor=#000000;fontSize=14;align=left;verticalAlign=middle;spacingLeft=3;",$t="text;html=1;fillColor=none;strokeColor=none;fontColor=#000000;fontSize=14;align=center;verticalAlign=middle;";if(aa==="folder"){var mo=Math.round(Math.min(en-8,fr(Ho.name)+20));C+=X(Je,Ho.name,"shape=folder;tabWidth="+mo+";tabHeight=22;tabPosition=left;html=1;fillColor=none;strokeColor=#000000;fontColor=#000000;fontSize=14;align=left;verticalAlign=top;spacingLeft=3;spacingTop=1;"+sn,Ko,Hn,en,Zt,"1");continue}if(aa==="frame"){C+=X(Je,Ho.name,"shape=umlFrame;width="+en+";height=20;html=1;fillColor=none;swimlaneFillColor=none;strokeColor=#000000;fontColor=#000000;fontSize=14;align=left;verticalAlign=middle;spacingLeft=3;"+sn,Ko,Hn,en,Zt,"1");continue}var Pt,ra,Ut,Wn,yt;aa==="node"?(Pt="shape=cube;size=10;fillColor=none;strokeColor=#000000;",ra=0,Ut=en-10,Wn=15,yt=$t):aa==="cloud"?(Pt="shape=mxgraph.basic.cloud_rect;fillColor=none;strokeColor=#000000;",ra=0,Ut=en,Wn=12,yt=$t):aa==="database"?(Pt="shape=cylinder3;size=10;boundedLbl=1;backgroundOutline=1;fillColor=none;strokeColor=#000000;",ra=0,Ut=en,Wn=24,yt=$t):(Pt="rounded=0;fillColor=none;strokeColor=#000000;",ra=4,Ut=en-8,Wn=4,yt=Bn),C+=X(Je,"",Pt+sn,Ko,Hn,en,Zt,"1"),C+=X(V("opkgl"),Ho.name,yt,ra,Wn,Ut,20,Je)}}}for(var Zn=0;Zn<e.length;Zn++){var on=e[Zn],va=No[on.id],ga=va.x,jn=va.y,Fn=va.w,Mn=va.h,la=on.kind==="map"&&tr.hasOwnProperty(on.id),Tn=la?tr[on.id]:null,gt=la&&Tn.entries?Tn.entries:[],Rt=!la&&on.attributes?on.attributes:[],Jt=V("obj"),ct=Y(on.color)||"#F1F1F1",wn=ci+(!la&&on.stereotype?16:0),In="swimlane;collapsible=0;startSize="+wn+";rounded=0;whiteSpace=wrap;fontStyle=0;fontSize=14;align=center;fillColor="+ct+";swimlaneFillColor="+ct+";strokeColor=#181818;",ko=on.stereotype?"\xAB"+on.stereotype+`\xBB
217
+ `+on.name:on.name,Do=on.stereotype?[on.stereotype]:[],Rr=la?"map":"object",xr=H(Z,["root","element","objectDiagram",Rr],Do,"vertex"),br=H(Z,["root","element","objectDiagram",Rr,"header"],Do,"vertex");on.color?(delete xr.fillColor,delete xr.gradientColor,delete br.fillColor,delete br.gradientColor):xr.fillColor!=null&&(xr.swimlaneFillColor=xr.fillColor);for(var Br in br)br.hasOwnProperty(Br)&&!/^(strokeColor|strokeWidth|dashed|dashPattern|fixDash|rounded|arcSize|absoluteArcSize|shadow)$/.test(Br)&&(xr[Br]=br[Br]);v=Z==null?null:{name:Rr,stereotypes:Do};var Pr=je[on.id]||{id:"1",x:0,y:0};if(C+=X(Jt,ko,M(In,xr),ga-Pr.x,jn-Pr.y,Fn,Mn,Pr.id),la){for(var Xe=Ar(Tn),zr=Xe.keyColW,Ke=Fn-zr,De=0;De<gt.length;De++){var ze=gt[De],So=ci+De*ci;C+=X(V("mk"),ze.key,"text;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fillColor=none;strokeColor=none;",0,So,zr,ci,Jt),C+=X(V("mv"),ze.value,"text;align=left;spacingLeft=5;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fillColor=none;strokeColor=none;",zr,So,Ke,ci,Jt)}C+=G(V("mgl"),"","endArrow=none;strokeColor=#181818;strokeWidth=1;",ga+zr,jn+ci,ga+zr,jn+Mn,"1");for(var ot=1;ot<gt.length;ot++){var ve=jn+ci+ot*ci;C+=G(V("mgl"),"","endArrow=none;strokeColor=#181818;strokeWidth=1;",ga,ve,ga+Fn,ve,"1")}}else{for(var Yt="",At=!1,ht=!0,Vt=!1,Pn=0;Pn<Rt.length;Pn++){var Ae=Rt[Pn];if(Vt=!0,Ae.separator){At=!0,Yt+=Mf(Ae),ht=!0;continue}ht||(Yt+="<br>"),Yt+=n(Lu(Ae)),ht=!1}if(Vt){var Fe="text;align=left;verticalAlign=top;spacingLeft=6;spacingTop=2;whiteSpace=wrap;fontSize=14;fillColor=none;strokeColor=none;";C+=At?K(V("oattr"),Yt,Fe+"html=1;",0,ci,Fn,Mn-ci,Jt):X(V("oattr"),$u(Rt),Fe,0,ci,Fn,Mn-ci,Jt)}}yr[on.id]={x:ga,y:jn,w:Fn,h:Mn,cellId:Jt}}for(var le=0;le<l.length;le++){var Ne=l[le],Qe=yr[Ne.from],tn=yr[Ne.to];if(!(!Qe||!tn)){var Vo;if(Ne.type==="generalization"?Vo="endArrow=block;endFill=0;":Ne.type==="composition"?Vo="startArrow=diamond;startFill=1;endArrow=none;":Ne.type==="aggregation"?Vo="startArrow=diamond;startFill=0;endArrow=none;":Ne.type==="link"?Vo="endArrow=none;":Vo="endArrow=classicThin;endFill=1;endSize=8;",Ne._rowIdx!=null&&Qe.h>0){var xo=(ci*(Ne._rowIdx+1)+ci/2)/Qe.h;Vo+="exitX=1;exitY="+Math.round(xo*1e3)/1e3+";exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;"}Vo+="strokeColor=#181818;fontColor=#000000;fontSize=12;html=1;rounded=0;",Ne.lineStyle==="dotted"?Vo+="dashed=1;dashPattern=2 2;":Ne.lineStyle==="dashed"&&(Vo+="dashed=1;dashPattern=5 5;"),Vo=j(er(Vo,"classDiagram",["arrow"],null,"edge",Ne.color?["strokeColor"]:null),Z);var Co;if(Ne.label){var mn=Math.round(fr(Ne.label)/2)+1;Co=` <mxGeometry relative="1" as="geometry">
218
+ <mxPoint x="`+mn+`" y="0" as="offset"/>
219
+ </mxGeometry>
220
+ `}else Co=` <mxGeometry relative="1" as="geometry"/>
221
+ `;var pn=P(Ne.label||"",Vo);C+=' <mxCell id="'+d(V("l"))+'" value="'+pn.value+'" style="'+d(pn.style)+'" edge="1" parent="1" source="'+d(Qe.cellId)+'" target="'+d(tn.cellId)+`">
222
+ `+Co+` </mxCell>
223
+ `}}var hn=r.notes||[];function Dt(Po){for(var Ct=Po?String(Po).split(`
224
+ `):[""],bt=0,Vr=0;Vr<Ct.length;Vr++)Ct[Vr].length>bt&&(bt=Ct[Vr].length);return{w:Math.max(50,Math.ceil(bt*6)+21),h:Math.max(24,Math.round(Ct.length*17.7+10))}}function ca(Po){if(yr[Po])return Po;for(var Ct=0;Ct<e.length;Ct++)if(e[Ct].name===Po&&yr[e[Ct].id])return e[Ct].id;return null}for(var ea=0;ea<hn.length;ea++){var me=hn[ea],ie=ca(me.target),pe=ie?yr[ie]:null,ke=Dt(me.text),Re=10,$o=10;pe&&(me.position==="left"?(Re=pe.x-ke.w-18,$o=pe.y+(pe.h-ke.h)/2):me.position==="top"?(Re=pe.x+(pe.w-ke.w)/2,$o=pe.y-ke.h-18):me.position==="bottom"?(Re=pe.x+(pe.w-ke.w)/2,$o=pe.y+pe.h+18):(Re=pe.x+pe.w+18,$o=pe.y+(pe.h-ke.h)/2));for(var Jo=[],Wt=0;Wt<ea;Wt++)hn[Wt]._placed&&Jo.push(hn[Wt]._placed);for(var at=function(Po,Ct){var bt=Jo.slice();for(var Vr in yr)yr.hasOwnProperty(Vr)&&Vr!==ie&&bt.push(yr[Vr]);for(var to=0;to<bt.length;to++){var Xt=bt[to];if(Po<Xt.x+Xt.w&&Po+ke.w>Xt.x&&Ct<Xt.y+Xt.h&&Ct+ke.h>Xt.y)return Xt}return null},Nn=0;Nn<8;Nn++){var ia=at(Re,$o);if(!ia)break;me.position==="left"?Re=ia.x-ke.w-12:me.position==="top"?$o=ia.y-ke.h-12:me.position==="bottom"?$o=ia.y+ia.h+12:Re=ia.x+ia.w+12}me._placed={x:Re,y:$o,w:ke.w,h:ke.h};var sa=V("note");if(v=null,C+=X(sa,me.text||"",er("shape=note;size=14;fillColor=#FEFFDD;strokeColor=#181818;fontSize=12;whiteSpace=wrap;align=left;spacingLeft=4;","classDiagram",["note"],null,"vertex",me.color?["fillColor","gradientColor"]:null),Math.round(Re),Math.round($o),ke.w,ke.h,"1"),pe){var ka;me.position==="left"?ka="exitX=1;exitY=0.5;entryX=0;entryY=0.5;":me.position==="top"?ka="exitX=0.5;exitY=1;entryX=0.5;entryY=0;":me.position==="bottom"?ka="exitX=0.5;exitY=0;entryX=0.5;entryY=1;":ka="exitX=0;exitY=0.5;entryX=1;entryY=0.5;",C+=vr(V("noteln"),"","endArrow=none;dashed=1;html=1;strokeColor=#181818;"+ka+"exitDx=0;exitDy=0;entryDx=0;entryDy=0;",sa,pe.cellId,"1")}}return C}var Ui=40,ws=60,Pu=140,Hf=50,Rf=26,qs=40,$i=30,Yu=20,lt=140,na=30,Rn=35,ja=78,Qn=35;function Ri(r){for(var a=String(r??""),e=0,h=0,l=0;l<a.length;l++){var C=a.charAt(l);C===`
225
+ `?(e>h&&(h=e),e=0):`iljI!.,:;'"|`.indexOf(C)>=0?e+=4.48:"tfrs ".indexOf(C)>=0?e+=5.44:"mw".indexOf(C)>=0?e+=12.57:"MW".indexOf(C)>=0?e+=14.98:C>="A"&&C<="Z"?e+=9.49:C>="a"&&C<="z"?e+=8.14:e+=7.64}return e>h&&(h=e),h}function Ps(r){return r?String(r).split(`
226
+ `).length:1}function Es(r){for(var a=String(r??"").split(/\\n|\r?\n/),e=[],h=[],l=0,C=0;C<a.length;C++)/^\s*(--|\.\.|==|__)\s*$/.test(a[C])?(h.push(e.length),e.push("")):(e.push(a[C]),l=Math.max(l,Ri(a[C])));return{lines:e,seps:h,textW:l}}var Zs=16.4,js=8.4;function lu(r){var a=Es(r),e=Math.max(a.textW,8),h=a.lines.length-a.seps.length,l=Math.max(1,h)*Zs+a.seps.length*js,C=l/e;C<.2?C=.2:C>.8&&(C=.8);var b=Math.sqrt(e/2*(e/2)+l/(2*C)*(l/(2*C))),Z=C*b;return{w:Math.round(2*b+6),h:Math.round(2*Z+6),textH:l,parts:a}}function Af(r){return r?lu(r).w:Pu}function Mu(r){return lu(r).h}function Kf(r){return String(r??"").replace(/\\r\\n|\\n|\\r/g,`
227
+ `).replace(/<br\s*\/?>/gi,`
228
+ `).replace(/&#10;/g,`
229
+ `).split(`
230
+ `)}function zf(r){for(var a=Kf(r),e=0,h=0;h<a.length;h++){var l=Ri(a[h]);l>e&&(e=l)}return Math.max(50,Math.round(e*13/14+21))}function Dc(r){var a=Kf(r).length;return Math.round(a*15.3+10)}function wd(r,a,e){var h={fill:a,stroke:e};if(!r)return h;var l=String(r).replace(/^#/,"").split(";");l[0]&&(h.fill=Y("#"+l[0])||a);for(var C=1;C<l.length;C++){var b=l[C].match(/^line\s*:\s*(\S+)/i);if(b){var Z=Y(b[1]);Z&&(h.stroke=Z)}}return h}function Uh(r,a){var e=r.actors,h=r.usecases,l=r.containers,C=r.relationships,b=r.notes,Z=0;if(r.containers)for(var v=0;v<r.containers.length;v++)r.containers[v].parent==null&&Z++;var er=!1;if(r.actors&&r.containers)for(var X=0;X<r.actors.length;X++){for(var V=!1,tr=0;tr<r.containers.length;tr++)if(r.containers[tr].children&&r.containers[tr].children.indexOf(r.actors[X].id)>=0){V=!0;break}if(!V){er=!0;break}}var wr;r.direction==="LR"?wr="LR":r.direction==="TB"?wr="TB":wr=Z>=2&&!er?"LR":"TB";var yr="",fr=0;function Ar(pa){return pa+"_"+fr++}var jr=r.styleSheet||null,ce=null,Nr=["fillColor","gradientColor"];function de(pa,kn,Na,ol,il){return W(pa,jr,["root","element","componentDiagram"].concat(kn),Na||[],ol||"vertex",il)}function Fr(pa,kn,Na){ce=jr==null?null:{name:pa,stereotypes:kn?[kn]:[],skip:Na?Nr:null}}function Ir(pa,kn){if(ce==null)return pa;var Na=kn?"edge":pa.indexOf("text;")===0?"text":"vertex";return de(pa,[ce.name],ce.stereotypes,Na,ce.skip)}var qe=function(pa,kn,Na,ol,il,tl,ba,dl){return $(pa,kn,Ir(Na,!1),ol,il,tl,ba,dl)},To=function(pa,kn,Na,ol,il,tl,ba,dl){return hr(pa,kn,Ir(Na,!1),ol,il,tl,ba,dl)},ne=function(pa,kn,Na,ol,il,tl,ba,dl){return B(pa,kn,Ir(Na,!0),ol,il,tl,ba,dl)};function po(pa,kn,Na,ol,il){var tl=Ar("actor"),ba=wd(il,"#F1F1F1","#181818"),dl=qe(tl,"","shape=umlActor;html=1;fillColor="+ba.fill+";strokeColor="+ba.stroke+";fontColor=#000000;fontSize=14;",kn,Na,Ui,ws,ol);if(pa){var Ml=Ps(pa),Bl=Math.max(Ui,Math.round(Ri(pa)+8)),Ei=Ar("actorlbl");dl+=qe(Ei,pa,"text;html=1;align=center;verticalAlign=top;fontColor=#000000;fontSize=14;",kn+(Ui-Bl)/2,Na+ws+2,Bl,Ml*17,ol)}return{id:tl,cells:dl}}function ao(pa,kn,Na,ol,il,tl,ba,dl){for(var Ml=lu(kn),Bl=Ml.parts,Ei=[],ta=0;ta<Bl.lines.length;ta++)Ei.push(Bl.seps.indexOf(ta)>=0?'<font style="font-size:6px;">&#160;</font>':n(Bl.lines[ta]));for(var ii=To(pa,Ei.join("<br>"),"ellipse;html=1;fillColor="+Na.fill+";strokeColor="+Na.stroke+";whiteSpace=wrap;fontColor=#000000;fontSize=14;",ol,il,tl,ba,dl),Yi=(ba-Ml.textH)/2,Tl=0,oi=0;oi<Bl.lines.length;oi++)if(Bl.seps.indexOf(oi)>=0){var xl=Yi+Tl+js/2,nl=xl-ba/2,Gl=tl/2,Zl=ba/2,Ci=Gl*Math.sqrt(Math.max(0,1-nl*nl/(Zl*Zl)));ii+=qe(Ar("ucsep"),"","line;strokeWidth=1;strokeColor="+Na.stroke+";fillColor=none;",Math.round(ol+tl/2-Ci),Math.round(il+xl-1),Math.round(2*Ci),2,dl),Tl+=js}else Tl+=Zs;return ii}for(var A={},J={},ur=0;ur<l.length;ur++)for(var Sr=0;Sr<l[ur].children.length;Sr++)J[l[ur].children[Sr]]=!0;var Er=[],qr={},z,Mr;for(z=0;z<e.length;z++)Mr=e[z],J[Mr.id]||(Er.push({id:Mr.id,kind:"actor",data:Mr,w:Ui,h:ws}),qr[Mr.id]=!0);for(z=0;z<h.length;z++)if(Mr=h[z],!J[Mr.id]){var Be=Mr.stereotype?"\xAB"+Mr.stereotype+`\xBB
231
+ `+Mr.name:Mr.name;Er.push({id:Mr.id,kind:"usecase",data:Mr,w:Af(Be),h:Mu(Be)}),qr[Mr.id]=!0}var ye={},Le={};for(z=0;z<Er.length;z++)ye[Er[z].id]=[],Le[Er[z].id]=0;for(z=0;z<C.length;z++){var _e=C[z];qr[_e.from]&&qr[_e.to]&&(ye[_e.from].push({to:_e.to,span:_e.span!=null?_e.span:1}),Le[_e.to]++)}var Ur={},yo=[],fo;for(fo in Le)Le.hasOwnProperty(fo)&&Le[fo]===0&&(Ur[fo]=0,yo.push(fo));for(var he=Er.length*Er.length+16;yo.length>0&&he-- >0;){var Te=yo.shift(),ae=ye[Te]||[];for(z=0;z<ae.length;z++){var it=ae[z].to,Gt=Ur[Te]+ae[z].span;(Ur[it]===void 0||Ur[it]<Gt)&&(Ur[it]=Gt,yo.push(it))}}for(z=0;z<Er.length;z++)Ur[Er[z].id]===void 0&&(Ur[Er[z].id]=0);var oo={},pt=[];for(z=0;z<Er.length;z++){var rt=Ur[Er[z].id];oo[rt]||(oo[rt]=[],pt.push(rt)),oo[rt].push(Er[z])}pt.sort(function(pa,kn){return pa-kn});for(var jo=$i,Qt=$i,Me,Io,Wo,Ro,An=wr!=="LR",dn=An?"w":"h",rn=An?ja:60,Ao={},_t={},ft=0;ft<b.length;ft++){var Se=b[ft];qr[Se.target]&&(Se.position==="right"?Ao[Se.target]=zf(Se.text)+Qn:Se.position==="left"&&(_t[Se.target]=zf(Se.text)+Qn))}var Go={},wt=An?_t:{},cn=An?Ao:{};for(Me=pt.length-1;Me>=0;Me--){Wo=oo[pt[Me]];var No=0;for(Io=0;Io<Wo.length;Io++){Ro=Wo[Io];for(var oe=Ro[dn]/2,Uo=wt[Ro.id]||0,Ot=cn[Ro.id]||0,ho=ye[Ro.id]||[],dt=0,Aa=0,Sn=0;Sn<ho.length;Sn++)Go[ho[Sn].to]!==void 0&&(dt+=Go[ho[Sn].to],Aa++);var an=No+Uo+oe,we=Aa?dt/Aa:an,Eo=we>an?we:an;Go[Ro.id]=Eo,No=Eo+oe+Ot+Rn}}var Et=1/0;for(z=0;z<Er.length;z++){Ro=Er[z];var Cr=Go[Ro.id]-Ro[dn]/2-(wt[Ro.id]||0);Cr<Et&&(Et=Cr)}var Lr=$i-Et,He=$i;for(Me=0;Me<pt.length;Me++){Wo=oo[pt[Me]];var Ie=0;for(Io=0;Io<Wo.length;Io++){var Oe=An?Wo[Io].h:Wo[Io].w;Oe>Ie&&(Ie=Oe)}for(Io=0;Io<Wo.length;Io++){Ro=Wo[Io];var so=Go[Ro.id]+Lr;An?(Ro.x=so-Ro.w/2,Ro.y=He+(Ie-Ro.h)/2):(Ro.y=so-Ro.h/2,Ro.x=He+(Ie-Ro.w)/2);var Xo=Ro.x+Ro.w+(An&&Ao[Ro.id]||0);Xo>jo&&(jo=Xo),Ro.y+Ro.h>Qt&&(Qt=Ro.y+Ro.h)}He+=Ie+rn}var qo={};for(z=0;z<Er.length;z++)qo[Er[z].id]=!0;var Yn={};for(z=0;z<Er.length;z++){var Nt=Er[z];if(!(Nt.kind!=="actor"||l.length===0)){for(var Da=0,je=!0,_r=0;_r<C.length;_r++){var Ho=C[_r].from===Nt.id?C[_r].to:C[_r].to===Nt.id?C[_r].from:null;Ho!=null&&(Da++,qo[Ho]&&(je=!1))}Da>0&&je&&(Yn[Nt.id]=!0)}}for(z=0;z<Er.length;z++){var Ce=Er[z];if(!Yn[Ce.id]){var ln,nt=Ce.data.name,wo=Ce.x+z*.1;if(Ce.data.stereotype&&(nt="\xAB"+Ce.data.stereotype+`\xBB
232
+ `+nt),Ce.kind==="actor"){Fr("actor",Ce.data&&Ce.data.stereotype,Ce.data&&Ce.data.color);var xn=po(nt,wo,Ce.y,"1",Ce.data&&Ce.data.color);ln=xn.id,yr+=xn.cells}else{Fr("usecase",Ce.data&&Ce.data.stereotype,Ce.data&&Ce.data.color),ln=Ar("uc");var Lt=wd(Ce.data&&Ce.data.color,"#F1F1F1","#181818");yr+=ao(ln,nt,Lt,wo,Ce.y,Ce.w,Ce.h,"1")}A[Ce.id]={x:wo,y:Ce.y,w:Ce.w,h:Ce.h,cellId:ln,kind:Ce.kind,lblH:2+17*Ps(nt)}}}for(var Ft,fe,ge=!1,qt=0;qt<Er.length;qt++)Yn[Er[qt].id]&&(ge=!0);var et=80;wr==="LR"?(Ft=Math.max($i,jo),ge&&(Ft=Math.max(Ft,$i+Ui+12+et)),fe=$i):(Ft=$i,fe=Math.max($i,Qt+qs));for(var en=19,Zt={},qn={},Ko={},Hn=[],aa=[],Je=[],sn=0,Bn=0,$t=0,mo=0;mo<l.length;mo++){for(var Pt=0;Pt<l[mo].children.length;Pt++)Zt[l[mo].children[Pt]]=mo;Hn.push(0),aa.push(0)}for(var ra=0;ra<b.length;ra++){var Ut=b[ra];if(!(Ut.position==="floating"||Zt[Ut.target]===void 0)){var Wn=Zt[Ut.target],yt=zf(Ut.text),Zn=Dc(Ut.text);if(Ut.container===Wn)Ut.position==="left"?qn[Ut.target]=(qn[Ut.target]||0)+yt+Qn:Ut.position==="top"?Hn[Wn]=Math.max(Hn[Wn],Zn+Qn):Ut.position==="bottom"?aa[Wn]=Math.max(aa[Wn],Zn+Qn):Ko[Ut.target]=(Ko[Ut.target]||0)+yt+Qn;else{Ut._outside=Wn;var on=l[Wn].children,va=on.indexOf(Ut.target);Ut.position==="left"?(sn=Math.max(sn,yt+en),Ut._arc=va>0):Ut.position==="top"?Bn=Math.max(Bn,Zn+Qn):Ut.position!=="bottom"&&(Ut._arc=va>=0&&va<on.length-1),Ut._arc&&($t=qs)}}}Ft+=sn,fe+=Bn+$t;for(var ga=Ft,jn=0;jn<l.length;jn++){let pa=function(kn,Na,ol){Fr("usecase",kn.stereotype,kn.color);var il=Ar("uc"),tl=wd(kn.color,"#F1F1F1","#181818"),ba=kn.name;kn.stereotype&&(ba="\xAB"+kn.stereotype+`\xBB
233
+ `+ba),yr+=ao(il,ba,tl,Na,ol+Jo,kn._w,kn._h,Mn),A[kn.id]={x:Ft+Na,y:fe+ol,w:kn._w,h:kn._h,cellId:il}};for(var Fn=l[jn],Mn=Ar("rect"),la=Fn.children,Tn=[],gt=[],Rt=0;Rt<la.length;Rt++){for(var Jt=la[Rt],ct=!1,wn=0;wn<h.length&&!ct;wn++)h[wn].id===Jt&&(Tn.push(h[wn]),ct=!0);for(var In=0;In<e.length&&!ct;In++)e[In].id===Jt&&(gt.push(e[In]),ct=!0)}var ko=r.direction==="LR",Do,Rr,xr=0;for(Do=0;Do<Tn.length;Do++){var br=Tn[Do],Br=br.stereotype?"\xAB"+br.stereotype+`\xBB
234
+ `+br.name:br.name;br._w=Af(Br),br._h=Mu(Br),xr+=br._w+(qn[br.id]||0)+(Ko[br.id]||0),Do>0&&(xr+=Rn)}var Pr=[];if(ko&&Tn.length>0){var Xe={},zr={};for(Do=0;Do<Tn.length;Do++)Xe[Tn[Do].id]=0,zr[Tn[Do].id]=!0;for(var Ke=0;Ke<Tn.length+2;Ke++)for(var De=0;De<C.length;De++){var ze=C[De];if(!(!zr[ze.from]||!zr[ze.to])){var So=ze.span!=null?ze.span:1,ot=Xe[ze.from]+So;Xe[ze.to]<ot&&(Xe[ze.to]=ot)}}for(Do=0;Do<Tn.length;Do++){for(var ve=Xe[Tn[Do].id];Pr.length<=ve;)Pr.push([]);Pr[ve].push(Tn[Do])}for(var Yt={},At=0;At<e.length;At++)Yt[e[At].id]=At;for(var ht=0;ht<Pr.length;ht++){for(var Vt=[],Pn=0;Pn<Pr[ht].length;Pn++){for(var Ae=0,Fe=0,le=0;le<C.length;le++)C[le].to===Pr[ht][Pn].id&&Yt[C[le].from]!==void 0&&(Ae+=Yt[C[le].from],Fe++);Vt.push({m:Pr[ht][Pn],i:Pn,k:Fe?Ae/Fe:Pn})}Vt.sort(function(kn,Na){return kn.k-Na.k||kn.i-Na.i}),Pr[ht]=[];for(var Ne=0;Ne<Vt.length;Ne++)Pr[ht].push(Vt[Ne].m)}}var Qe=gt.length*Ui;gt.length>1&&(Qe+=(gt.length-1)*Rn);for(var tn=gt.length>0,Vo=Tn.length>0,xo=[],Co=[],mn=0,pn=0,hn=0;hn<Pr.length;hn++){for(var Dt=0,ca=0,ea=0;ea<Pr[hn].length;ea++)Pr[hn][ea]._w>Dt&&(Dt=Pr[hn][ea]._w),ea>0&&(ca+=qs),ca+=Pr[hn][ea]._h;xo.push(Dt),Co.push(ca),hn>0&&(mn+=Rn),mn+=Dt,ca>pn&&(pn=ca)}var me=Math.max(ko?mn:xr,Qe,Pu),ie=me+Yu*2,pe=26,ke=pe+Yu,Re=(tn?ke+ws+18+53:ke)+Hn[jn],$o;Vo?$o=(ko?Re+pn:Re+34)+aa[jn]+Yu:$o=ke+ws+18+Yu,Je[jn]={x:Ft,y:fe,w:ie,h:$o},Fr(Fn.kind==="package"?"package":Fn.kind||"rectangle",Fn.stereotype,Fn.color);var Jo=Fn.kind==="package"?22:0;if(Fn.kind==="package"){var Wt=Math.round(Math.min(ie,Ri(Fn.name)*1.15+24));Wt<30&&(Wt=30),yr+=qe(Mn,Fn.name,"shape=folder;tabWidth="+Wt+";tabHeight=22;tabPosition=left;html=1;fillColor=none;strokeColor=#181818;fontColor=#000000;fontSize=13;fontStyle=1;align=left;verticalAlign=top;spacingLeft=6;spacingTop=1;container=1;collapsible=0;",Ft,fe-Jo,ie,$o+Jo,"1")}else yr+=qe(Mn,Fn.name,"swimlane;collapsible=0;startSize=26;fillColor=none;strokeColor=#181818;fontColor=#000000;fontSize=13;fontStyle=1;whiteSpace=wrap;",Ft,fe,ie,$o,"1");var at=(ie-Qe)/2;for(Rr=0;Rr<gt.length;Rr++){var Nn=gt[Rr],ia=Nn.name;Nn.stereotype&&(ia="\xAB"+Nn.stereotype+`\xBB
235
+ `+ia),Fr("actor",Nn.stereotype,Nn.color);var sa=po(ia,at,ke+Jo,Mn,Nn.color);yr+=sa.cells,A[Nn.id]={x:Ft+at,y:fe+ke,w:Ui,h:ws,cellId:sa.id,kind:"actor",lblH:2+17*Ps(ia)},at+=Ui+Rn}if(ko)for(var ka=(ie-mn)/2,Po=0;Po<Pr.length;Po++){for(var Ct=Re+(pn-Co[Po])/2,bt=0;bt<Pr[Po].length;bt++){var Vr=Pr[Po][bt];pa(Vr,ka+(xo[Po]-Vr._w)/2,Ct),Ct+=Vr._h+qs}ka+=xo[Po]+Rn}else{var to=(ie-xr)/2;for(Do=0;Do<Tn.length;Do++)to+=qn[Tn[Do].id]||0,pa(Tn[Do],to,Re),to+=Tn[Do]._w+(Ko[Tn[Do].id]||0)+Rn}Ft+=ie+Rf}var Xt=[];for(z=0;z<Er.length;z++){var ha=Er[z];if(Yn[ha.id]){for(var Wr=0,ro=0,te=0,ue=0;ue<C.length;ue++){var zo=C[ue].from===ha.id?C[ue].to:C[ue].to===ha.id?C[ue].from:null;zo==null||!A[zo]||(Wr+=A[zo].x+A[zo].w/2,ro+=A[zo].y+A[zo].h/2,te++)}var nn=2+17*Ps(ha.data.name),Fa,Kn;wr==="LR"?(Fa=ga-et-ha.w,Kn=te>0?Math.round(ro/te-(ha.h+nn)/2):ha.y,Kn<$i&&(Kn=$i)):(Fa=te>0?Wr/te-ha.w/2:ha.x,Kn=ha.y),Xt.push({fe:ha,x:Fa,y:Kn,lblH:nn})}}if(wr==="LR")for(Xt.sort(function(pa,kn){return pa.y-kn.y}),z=1;z<Xt.length;z++){var bn=Xt[z-1].y+Xt[z-1].fe.h+Xt[z-1].lblH+12;Xt[z].y<bn&&(Xt[z].y=bn)}for(z=0;z<Xt.length;z++){var Ve=Xt[z];Fr("actor",Ve.fe.data&&Ve.fe.data.stereotype,Ve.fe.data&&Ve.fe.data.color);var Yo=Ve.fe.data.name;Ve.fe.data&&Ve.fe.data.stereotype&&(Yo="\xAB"+Ve.fe.data.stereotype+`\xBB
236
+ `+Yo);var st=po(Yo,Ve.x,Ve.y,"1",Ve.fe.data&&Ve.fe.data.color);yr+=st.cells,A[Ve.fe.id]={x:Ve.x,y:Ve.y,w:Ve.fe.w,h:Ve.fe.h,cellId:st.id,kind:"actor",lblH:Ve.lblH}}for(var Ca=0;Ca<C.length;Ca++){var Mt=C[Ca],Ra=A[Mt.from],Xn=A[Mt.to];if(!(!Ra||!Xn)){var _a;Mt.type==="generalization"?_a="endArrow=block;endFill=0;":Mt.type==="dependency"?_a=Mt.directed?"endArrow=open;dashed=1;dashPattern=5 5;":"endArrow=none;dashed=1;":_a=Mt.directed?"endArrow=block;endFill=1;":"endArrow=none;",_a+="strokeColor=#181818;fontColor=#000000;fontSize=11;edgeStyle=none;rounded=0;html=1;",Ra.kind==="actor"&&Ra.lblH&&Xn.y>Ra.y+Ra.h&&(_a+="exitX=0.5;exitY="+Math.round(100*(Ra.h+Ra.lblH+3)/Ra.h)/100+";exitPerimeter=0;");var Ka="";Mt.stereotype&&(Ka="\xAB"+Mt.stereotype+"\xBB"),Mt.label&&(Ka=Ka?Ka+`
237
+ `+Mt.label:Mt.label),_a=j(de(_a,["arrow"],null,"edge",Mt.color?["strokeColor"]:null),jr),yr+=vr(Ar("rel"),Ka,_a,Ra.cellId,Xn.cellId,"1")}}var yn=Qt+ja,ua=[];function Ya(pa,kn,Na,ol,il){var tl=ua.slice();for(var ba in A)if(!(!A.hasOwnProperty(ba)||ba===il)){var dl=A[ba];tl.push(dl.kind==="actor"&&dl.lblH?{x:dl.x,y:dl.y,w:dl.w,h:dl.h+dl.lblH}:dl)}for(var Ml=0;Ml<tl.length;Ml++){var Bl=tl[Ml];if(pa<Bl.x+Bl.w+6&&pa+Na+6>Bl.x&&kn<Bl.y+Bl.h+6&&kn+ol+6>Bl.y)return!0}return!1}for(var fa=0;fa<b.length;fa++){var xt=b[fa],Ja=xt.position==="floating"?xt.anchor:xt.target,uo=Ja?A[Ja]:null,Jn=zf(xt.text),Sa=Dc(xt.text),da=$i,ma=$i,Ha=[];if(xt.position==="floating"){for(var Sl=xt.links||(xt.anchor?[xt.anchor]:[]),Me=0;Me<Sl.length;Me++)A[Sl[Me]]&&Ha.push(A[Sl[Me]]);if(Ha.length>1){for(var $l=0,ml=0,Pl=0;Pl<Ha.length;Pl++)$l+=Ha[Pl].x+Ha[Pl].w/2,ml+=Ha[Pl].y+Ha[Pl].h/2;da=Math.round($l/Ha.length+3),ma=Math.round(ml/Ha.length-Sa/2)}else uo?(da=uo.x+(uo.w-Jn)/2,ma=uo.y+uo.h+(uo.kind==="actor"&&uo.lblH?uo.lblH:0)+Qn):(da=$i,ma=yn,yn+=Sa+qs);for(var Yl=0;Yl<12&&Ya(da,ma,Jn,Sa,null);Yl++)da+=24}else if(uo&&xt._outside!=null&&Je[xt._outside]){var ri=Je[xt._outside];if(xt.position==="left")da=ri.x-Jn-en,ma=uo.y+(uo.h-Sa)/2;else if(xt.position==="top")da=uo.x+(uo.w-Jn)/2,ma=ri.y-Sa-Qn;else if(xt.position==="bottom")da=uo.x+(uo.w-Jn)/2,ma=ri.y+ri.h+Qn;else{da=ri.x+ri.w+en,ma=uo.y+(uo.h-Sa)/2;for(var wi=0;wi<12&&Ya(da,ma,Jn,Sa,null);wi++)da+=24}}else uo&&(xt.position==="left"?(da=uo.x-Jn-Qn,da<$i&&(da=$i),ma=uo.y+(uo.h-Sa)/2):xt.position==="top"?(da=uo.x+(uo.w-Jn)/2,ma=uo.y-Sa-Qn):xt.position==="bottom"?(da=uo.x+(uo.w-Jn)/2,ma=uo.y+uo.h+Qn):(da=uo.x+uo.w+Qn,ma=uo.y+(uo.h-Sa)/2));da=Math.round(da),ma=Math.round(ma),Fr("note",null,xt.color);var mi=Ar("note");if(yr+=qe(mi,xt.text||"","shape=note;size=10;fillColor=#FEFFDD;strokeColor=#181818;fontSize=13;whiteSpace=wrap;align=left;",da,ma,Jn,Sa,"1"),ua.push({x:da,y:ma,w:Jn,h:Sa}),xt.position==="floating"&&Ha.length>1)for(var Cl=0;Cl<Ha.length;Cl++)Ha[Cl].cellId&&(yr+=vr(Ar("noteln"),"","endArrow=none;dashed=1;html=1;strokeColor=#181818;",mi,Ha[Cl].cellId,"1"));else if(xt.position==="floating"&&Ha.length===1){var ll=Ha[0],yi=ll.y+ll.h+(ll.kind==="actor"&&ll.lblH?ll.lblH:0);yr+=qe(Ar("noteptr"),"","shape=triangle;fillColor=#FEFFDD;strokeColor=#181818;strokeWidth=0.5;direction=north;",Math.round(ll.x+ll.w/2)-4,yi,8,Math.max(6,ma-yi+1),"1")}else if(uo&&xt._outside!=null&&uo.cellId&&xt.position!=="top"&&xt.position!=="bottom"){var rs=de("endArrow=none;dashed=1;html=1;strokeColor=#181818;",["arrow"],null,"edge",["strokeWidth"]),Xl=Je[xt._outside];if(xt._arc){var ql=Math.round(Xl.y-22);yr+=' <mxCell id="'+d(Ar("noteln"))+'" value="" style="'+d(rs+"curved=1;")+'" edge="1" source="'+d(uo.cellId)+'" target="'+d(mi)+`" parent="1">
238
+ <mxGeometry relative="1" as="geometry">
239
+ <Array as="points">
240
+ <mxPoint x="`+Math.round(uo.x+uo.w/2)+'" y="'+ql+`"/>
241
+ <mxPoint x="`+Math.round(da+Jn/2)+'" y="'+ql+`"/>
242
+ </Array>
243
+ </mxGeometry>
244
+ </mxCell>
245
+ `}else yr+=vr(Ar("noteln"),"",rs,uo.cellId,mi,"1")}else if(uo){var hi="shape=triangle;fillColor=#FEFFDD;strokeColor=#181818;strokeWidth=0.5;",ei=Math.round(uo.x+uo.w/2),Pi=Math.round(uo.y+uo.h/2);xt.position==="left"?yr+=qe(Ar("noteptr"),"",hi+"direction=east;",da+Jn-1,Pi-4,Math.max(6,uo.x-(da+Jn)+1),8,"1"):xt.position==="top"?yr+=qe(Ar("noteptr"),"",hi+"direction=south;",ei-4,ma+Sa-1,8,Math.max(6,uo.y-(ma+Sa)+1),"1"):xt.position==="bottom"?yr+=qe(Ar("noteptr"),"",hi+"direction=north;",ei-4,uo.y+uo.h,8,Math.max(6,ma-(uo.y+uo.h)+1),"1"):yr+=qe(Ar("noteptr"),"",hi+"direction=west;",uo.x+uo.w,Pi-4,Math.max(6,da-(uo.x+uo.w)+1),8,"1")}}return yr}var Wh={" ":4.4297,"!":4.4297,'"':5.2295,"#":8.8525,"&":9.7617,"'":3.206,"(":4.5527,")":4.5527,"*":6.7471,"+":11.1289,",":4.4297,"-":8.1006,".":4.4297,"/":7.3418,0:8.8525,1:8.8525,2:8.8525,3:8.8525,4:8.8525,5:8.8525,6:8.8525,7:8.8525,8:8.8525,9:8.8525,":":4.4297,";":4.4297,"=":11.1289,"?":5.9063,"@":12.0176,A:9.6592,B:8.0527,C:9.6865,D:10.4863,E:7.5879,F:7.5059,G:10.1172,H:10.2881,I:4.0332,J:4.3545,K:9.1396,L:7.4648,M:12.0586,N:10.3428,O:10.876,P:7.7383,Q:10.876,R:8.8525,S:7.54,T:8.8525,U:9.7002,V:9.1533,W:11.9766,X:8.7637,Y:8.7226,Z:8.4629,"[":4.5527,"]":4.5527,"^":8.8525,_:7,"`":8.5996,a:7.7314,b:8.8115,c:7.1709,d:8.8115,e:7.7998,f:5.1475,g:8.7295,h:8.6885,i:4.0469,j:4.2588,k:8.1826,l:4.0469,m:13.0703,n:8.6885,o:8.5996,p:8.8115,q:8.8115,r:5.7285,s:7.1367,t:5.2363,u:8.6885,v:7.2461,w:10.7871,x:8.5859,y:7.3144,z:8.0254,"{":4.5527,"|":5.2295,"}":4.5527},Xh={" ":4.6143,"!":4.3887,'"':6.3233,"#":9.2354,"&":10.4248,"'":3.459,"(":5.1885,")":5.1885,"*":6.5284,"+":11.1357,",":3.459,"-":8.9415,".":3.459,"/":7.9161,0:9.2354,1:9.2354,2:9.2354,3:9.2354,4:9.2354,5:9.2354,6:9.2354,7:9.2354,8:9.2354,9:9.2354,":":3.459,";":3.459,"=":11.1357,"?":6.959,"@":12.0176,A:10.3086,B:8.8184,C:9.9736,D:11.1016,E:8.4082,F:8.0391,G:10.4385,H:10.9238,I:4.6416,J:5.8584,K:9.9394,L:8.1416,M:12.708,N:10.7598,O:11.5254,P:8.5859,Q:11.5322,R:9.6592,S:7.998,T:9.6592,U:10.3086,V:9.7822,W:12.6533,X:9.3379,Y:9.6113,Z:9.0234,"[":5.1885,"]":5.1885,"^":9.2354,_:7,"`":8.9414,a:8.2305,b:9.2764,c:7.4512,d:9.2764,e:8.2031,f:5.8037,g:9.2354,h:9.1943,i:4.5527,j:4.6621,k:8.8594,l:4.5527,m:13.5762,n:9.1943,o:8.9414,p:9.2764,q:9.2764,r:6.3643,s:7.916,t:5.6738,u:9.1943,v:8.3057,w:12.0791,x:8.2715,y:8.1621,z:8.2715,"{":5.1885,"|":5.4004,"}":5.1885},Pd=14,qh=1.17773,Zh=1.1499,jh=.848,Jh=.60205;function Vh(r,a){var e=a?Xh:Wh;if(e.hasOwnProperty(r))return e[r];var h=r.charCodeAt(0);return h>=48&&h<=57?e[0]:h>=65&&h<=90?a?9.9:9:h>=11904?Pd:a?8.4:7.9}function Qh(r){var a=kt.asInt(r,"FontSize",14);(a===-1||!(a>0))&&(a=14);var e=kt.fontFace(r),h=kt.raw(r,"FontName")||"SansSerif",l="sans";return/mono|courier/i.test(h)?l="mono":/serif/i.test(h)&&!/sans/i.test(h)&&(l="serif"),{size:a,bold:!!e.bold,italic:!!e.italic,family:l,name:h}}var rC={size:14,bold:!1,italic:!1,family:"sans",name:"SansSerif"};function Ds(r,a){var e=String(r??"");if(a.family==="mono")return e.length*a.size*Jh;for(var h=0,l=0;l<e.length;l++)h+=Vh(e.charAt(l),a.bold);return h*=a.size/Pd,a.family==="serif"&&(h*=jh),h}function eC(r){return r.size*(r.family==="serif"?Zh:qh)}function is(r,a,e){for(var h=String(r??"").split(/\\n|\n/),l={size:a>0?a:Pd,bold:!!e},C=0,b=0;b<h.length;b++){var Z=Ds(h[b],l);Z>C&&(C=Z)}return C}function Uf(r,a){var e=Ds(u(r),a);if(!a.bold){var h={size:a.size,bold:!0,italic:a.italic,family:a.family,name:a.name};String(r).replace(/\*\*([\s\S]+?)\*\*/g,function(C,b){var Z=u(b);return e+=Ds(Z,h)-Ds(Z,a),""})}if(a.family!=="mono"){var l={size:a.size,bold:!1,italic:!1,family:"mono",name:a.name};String(r).replace(/""([\s\S]+?)""/g,function(C,b){return e+=Ds(b,l)-Ds(b,a),""})}return e}function oC(r,a,e){if(!(e>0))return[r];for(var h=String(r).split(" "),l=Ds(" ",a),C=[],b=[],Z=0,v=0;v<h.length;v++){var er=Uf(h[v],a),X=b.length>0?Z+l+er:er;X>e&&b.length>0?(C.push(b.join(" ")),b=[h[v]],Z=er):(b.push(h[v]),Z=X)}return C.push(b.join(" ")),C}function tC(r,a,e){for(var h=String(r??"").replace(/\\n/g,`
246
+ `),l=h.split(`
247
+ `),C=[],b=0,Z=0;Z<l.length;Z++)C=C.concat(oC(l[Z],a,e));for(var v=0;v<C.length;v++){var er=Uf(C[v]===""?" ":C[v],a);er>b&&(b=er)}return{lines:C,text:C.join(`
248
+ `),textW:b,textH:C.length*eC(a)}}function Wf(r){for(var a=String(r??"").split(`
249
+ `),e=0,h=0;h<a.length;h++){var l=Ds(a[h],rC);l>e&&(e=l)}return e}function Sc(r){return U(r)}function nC(r){return/\*\*[\s\S]+?\*\*|\/\/[\s\S]+?\/\/|__[\s\S]+?__|~~[\s\S]+?~~/.test(String(r??""))||m(r)}function Qi(r){return String(Math.round(r*1e4)/1e4)}function xu(r,a){if(r==null)return a;if(r==="none")return"none";var e=String(r).replace(/^\s+|\s+$/g,""),h=/^(#?[0-9A-Za-z]+)[|\/\\-][#]?[0-9A-Za-z]+$/.exec(e);h!=null&&(e=h[1]);var l=Y(e);if(l==null)return"#FFFFFF";if(/^#[0-9A-Fa-f]{6}$/.test(l))return l.toUpperCase();if(/^#[0-9A-Fa-f]{3}$/.test(l))return("#"+l.charAt(1)+l.charAt(1)+l.charAt(2)+l.charAt(2)+l.charAt(3)+l.charAt(3)).toUpperCase();if(/^#[0-9A-Fa-f]$/.test(l)){var C=l.charAt(1);return("#"+C+C+C+C+C+C).toUpperCase()}return/^#[0-9A-Fa-f]{8}$/.test(l)?("#"+l.substring(1,7)).toUpperCase():"#FFFFFF"}function Bc(r,a,e,h){var l=["root","element",r,"node"],C=a.style==="leaf",b=!a.children||a.children.length===0;return e===0?(l.push("rootNode"),C&&l.push("boxless")):C&&b?l.push("leafNode","boxless"):C?l.push("boxless"):b&&l.push("leafNode"),kt.signature(l,e,a.stereotypes||[],h)}function Tc(r,a,e,h,l){for(var C=[Bc(a,e,h,!1)],b=0;b<l.length;b++)C.push(Bc(a,l[b],h,!0));var Z=kt.nodeStyle(r,C);if(e.color){var v={};for(var er in Z)Z.hasOwnProperty(er)&&(v[er]=Z[er]);v.BackGroundColor={value:e.color,priority:1/0},Z=v}return Z}function Yd(r,a,e,h){return kt.plainStyle(r,kt.signature(["root","element",a,"arrow"],h,e.stereotypes||[],!1))}function Ic(r,a,e,h){var l=Qh(a),C=tC(r.label,l,kt.maxWidth(a)),b,Z,v;return e?(b=h,Z=C.textW+b.left+b.right,v=C.textH+b.top+b.bottom):(b=kt.clockwise(a,"Padding"),Z=Math.max(kt.asDouble(a,"MinimumWidth",0),C.textW+b.top+b.bottom),v=C.textH+b.top+b.bottom),{font:l,tb:C,pad:b,w:Z,h:v}}function Nc(r){return r.dashVisible>0?"dashed=1;fixDash=1;dashPattern="+Qi(r.dashVisible)+" "+Qi(r.dashSpace)+";":""}function Lc(r){return String(r).replace(/[;=<>"'`{}\r\n\t]/g,"")}function Gc(r,a,e,h){var l=a.font,C=kt.horizontalAlignment(r),b=xu(kt.color(r,"FontColor"),"#000000"),Z;if(e)Z="text;html=1;strokeColor=none;fillColor=none;align="+C+";verticalAlign=middle;whiteSpace=wrap;fontColor="+b+";fontSize="+l.size+";spacing=0;"+(a.pad.left>0?"spacingLeft="+Qi(a.pad.left)+";":"")+(a.pad.right>0?"spacingRight="+Qi(a.pad.right)+";":"");else{var v=kt.asDouble(r,"RoundCorner",0),er=kt.stroke(r),X=xu(kt.color(r,"BackGroundColor"),"#F1F1F1"),V=xu(kt.color(r,"LineColor"),"#181818");Z=(v>0?"rounded=1;arcSize="+Qi(v)+";absoluteArcSize=1;":"rounded=0;")+"fillColor="+X+";strokeColor="+V+";strokeWidth="+Qi(er.thickness)+";"+Nc(er)+(kt.shadowing(r)>0?"shadow=1;":"")+"whiteSpace=wrap;fontColor="+b+";fontSize="+l.size+";align="+C+";verticalAlign=middle;spacing=0;spacingTop="+Qi(a.pad.top)+";spacingBottom="+Qi(a.pad.bottom)+";"+(C==="left"?"spacingLeft="+Qi(a.pad.left)+";":C==="right"?"spacingRight="+Qi(Math.max(0,a.pad.top+a.pad.bottom-a.pad.left))+";":"")}var tr=Sc(h)|(l.bold?1:0)|(l.italic?2:0);return tr!==0&&(Z+="fontStyle="+tr+";"),/^sans-?serif$/i.test(l.name)||(Z+="fontFamily="+Lc(l.name)+";"),Z}function wc(r){var a=xu(kt.color(r,"LineColor"),"#181818");if(a==="none")return null;var e=kt.stroke(r);return"strokeColor="+a+";"+(e.thickness!==1?"strokeWidth="+Qi(e.thickness)+";":"")+Nc(e)}function Pc(r,a,e,h,l,C,b,Z){var v=e.tb.text;return Sc(a.label)===0&&nC(a.label)?(h.indexOf("html=1;")<0&&(h+="html=1;"),K(r,n(v),h,l,C,b,Z,"1")):s(r,v,h,l,C,b,Z,"1")}var Hu=10,aC=10,Yc=0,lC=30,iC={top:1,right:0,bottom:1,left:3},sC={top:1,right:3,bottom:1,left:0};function Md(r,a,e,h,l,C){for(var b=a.style==="leaf",Z=Tc(r,"mindmapDiagram",a,e,h),v=Ic(a,Z,b,l===1?iC:sC),er=kt.clockwise(Z,"Margin"),X=b?0:er.top+er.bottom,V={node:a,level:e,props:Z,m:v,boxless:b,direction:l,w:v.w,h:v.h,marginTop:b?0:er.top,thickness:v.h+X,pw:v.w,pt:v.h+X,x1:er.left,x2:er.right+lC,link:wc(Yd(r,"mindmapDiagram",a,e)),children:[],tetris:null,cellId:null},tr=C||a.children||[],wr=[a].concat(h),yr=0;yr<tr.length;yr++)V.children.push(Md(r,tr[yr],e+1,wr,l,null));return V}function uC(r){if(r.children.length===0)return{t1:r.pt,e1:r.pw,t2:0,e2:0};var a=Xf(r);return{t1:r.pt,e1:r.pw+r.x1,t2:a.height,e2:r.x2+a.width}}function Xf(r){if(r.tetris!=null)return r.tetris;var a=[{x1:-1/0,x2:1/0,v:-1/0}],e=[];function h(Nr,de){for(var Fr=[],Ir=0;Ir<a.length;Ir++){var qe=a[Ir];if(!(Nr>=qe.x2)&&(Fr.push(qe),de<=qe.x2))return Fr}return Fr}function l(Nr,de){for(var Fr=h(Nr,de),Ir=-1/0,qe=0;qe<Fr.length;qe++)Fr[qe].v>Ir&&(Ir=Fr[qe].v);return Ir}function C(Nr,de,Fr){if(!(de<=Nr)){var Ir=h(Nr,de);if(Ir.length>1){for(var qe=Nr,To=1;To<Ir.length;To++)C(qe,Ir[To].x1,Fr),qe=Ir[To].x1;C(qe,de,Fr)}else if(Ir.length===1){var ne=Ir[0];if(Fr<=ne.v)return;a.splice(a.indexOf(ne),1),ne.x1!==Nr&&a.push({x1:ne.x1,x2:Nr,v:ne.v}),a.push({x1:Nr,x2:de,v:Fr}),de!==ne.x2&&a.push({x1:de,x2:ne.x2,v:ne.v}),a.sort(function(po,ao){return po.x1-ao.x1})}}}for(var b=0,Z=0;Z<r.children.length;Z++){var v=r.children[Z],er=uC(v),X;if(a.length===1)X=0;else{var V=l(0,er.e1),tr=l(er.e1,er.e1+er.e2);X=Math.max(V+er.t1/2,tr+er.t2/2)}e.push({finger:v,tee:er,y:X}),C(0,er.e1,X+er.t1/2),er.e2>0&&C(er.e1,er.e1+er.e2,X+er.t2/2),er.e1+er.e2>b&&(b=er.e1+er.e2)}for(var wr=1/0,yr=-1/0,fr=0;fr<e.length;fr++){var Ar=Math.max(e[fr].tee.t1,e[fr].tee.t2)/2;e[fr].y-Ar<wr&&(wr=e[fr].y-Ar),e[fr].y+Ar>yr&&(yr=e[fr].y+Ar)}if(e.length>0)for(var jr=(wr+yr)/2,ce=0;ce<e.length;ce++)e[ce].y-=jr;return r.tetris={elements:e,height:e.length>0?yr-wr:0,width:b},r.tetris}function Mc(r){return Math.max(r.pt,r.children.length>0?Xf(r).height:0)}function fC(r){return r.children.length>0?Xf(r).width:0}function xd(r,a,e,h){var l=r.direction,C=r.cellId;if(r.pt>0||r.pw>0){var b=l===1?a:a-r.w,Z=e-r.pt/2+r.marginTop;C=h.nextId(r.level===0?"root":"mm"),h.cells+=Pc(C,r.node,r.m,Gc(r.props,r.m,r.boxless,r.node.label),b,Z,r.w,r.h),h.track(b,Z,r.w,r.h)}if(r.children.length>0)for(var v=Xf(r),er=l===1?"exitX=1;exitY=0.5;entryX=0;entryY=0.5;":"exitX=0;exitY=0.5;entryX=1;entryY=0.5;",X=0;X<v.elements.length;X++){var V=v.elements[X],tr=xd(V.finger,a+l*(r.pw+r.x1+r.x2),e+V.y,h);C!=null&&tr!=null&&r.link!=null&&(h.cells+=vr(h.nextId("mmedge"),"","edgeStyle=orthogonalEdgeStyle;curved=1;endArrow=none;startArrow=none;html=1;"+r.link+er,C,tr,"1"))}return C}function dC(r,a,e,h){for(var l=[],C=[],b=0;b<r.children.length;b++)(r.children[b].side==="left"?C:l).push(r.children[b]);var Z=null,v=null;C.length>0&&(v=Md(e,r,0,[],-1,C)),(v==null||l.length>0)&&(Z=Md(e,r,0,[],1,l)),Z!=null&&v!=null&&(v.pw=0,v.pt=0);var er=Math.max(Z!=null?Mc(Z)/2:0,v!=null?Mc(v)/2:0),X=v!=null?v.pw+fC(v)+v.x1+v.x2:0,V=Hu+X,tr=a+er;if(Z!=null){var wr=xd(Z,V,tr,h);v!=null&&(v.cellId=wr)}return v!=null&&xd(v,V,tr,h),2*er}function cC(r,a){for(var e=0,h=r.styleSheet||kt.createSheet(),l={cells:"",maxX:0,nextId:function(de){return de+"_"+e++},track:function(de,Fr,Ir,qe){de+Ir>l.maxX&&(l.maxX=de+Ir)}},C=[],b=r.roots||(r.root?[r.root]:[]),Z=0;Z<b.length;Z++)b[Z]&&b[Z].label!=null&&!b[Z].synthetic&&C.push(b[Z]);if(C.length===0)return"";for(var v=aC,er=0;er<C.length;er++)v+=dC(C[er],v,h,l)+Yc;var X=l.cells,V=v-Yc,tr=l.maxX+Hu;if(r.title){var wr=Wf(u(r.title))+10;X+=s(l.nextId("title"),r.title,"text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",(tr-wr)/2,-34,wr,24,"1")}if(r.header&&r.header.text){var yr=Wf(u(r.header.text))*.7142857142857143+8,fr=r.header.align==="left"?Hu:r.header.align==="center"?(tr-yr)/2:tr-Hu-yr;X+=s(l.nextId("header"),r.header.text,"text;html=1;fillColor=none;strokeColor=none;fontSize=10;fontColor=#888888;align="+(r.header.align||"right")+";verticalAlign=middle;",fr,r.title?-56:-34,yr,16,"1")}var Ar=V+13;if(r.caption){var jr=Wf(u(r.caption))+10;X+=s(l.nextId("caption"),r.caption,"text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontColor=#000000;align=center;verticalAlign=middle;",(tr-jr)/2,Ar,jr,22,"1"),Ar+=18}if(r.footer&&r.footer.text){var ce=Wf(u(r.footer.text))*.7142857142857143+8,Nr=r.footer.align==="left"?Hu:r.footer.align==="right"?tr-Hu-ce:(tr-ce)/2;X+=s(l.nextId("footer"),r.footer.text,"text;html=1;fillColor=none;strokeColor=none;fontSize=10;fontColor=#888888;align="+(r.footer.align||"center")+";verticalAlign=middle;",Nr,Ar,ce,16,"1")}return X}var xc=20,Hc=20,Kc=40,mf=10,hC={top:1,right:3,bottom:1,left:0};function zc(r,a,e,h){for(var l=a.style==="leaf",C=Tc(r,"wbsDiagram",a,e,h),b=Ic(a,C,l,hC),Z={node:a,level:e,props:C,m:b,boxless:l,w:b.w,h:b.h,marginBottom:kt.clockwise(C,"Margin").bottom,auto:/^auto$/i.test(String(kt.raw(C,"Width")||"").replace(/^\s+|\s+$/g,"")),link:wc(Yd(r,"wbsDiagram",a,e)),children:[],left:[],forced:0,textDx:0,dimW:0,dimH:0,w1:0},v=[a].concat(h),er=0;er<a.children.length;er++){var X=zc(r,a.children[er],e+1,v);a.children[er].side==="left"?e===0?Z.children.unshift(X):Z.left.push(X):Z.children.push(X)}var V=Z.left.concat(Z.children);if(Z.auto&&V.length>0){for(var tr=0,wr=0;wr<V.length;wr++)V[wr].w>tr&&(tr=V[wr].w);for(var yr=0;yr<V.length;yr++){var fr=V[yr];fr.forced=tr,fr.boxless||(fr.w=Math.max(fr.w,tr))}}return Z}function kf(r){return r.children.length===0&&r.left.length===0}function Hd(r){if(kf(r)){r.dimW=r.boxless?Math.max(r.w,r.forced):r.w,r.dimH=r.h,r.w1=r.dimW/2,r.textDx=r.boxless&&r.forced>r.w?(r.forced-r.w)/2:0;return}var a=0,e=0,h=0,l=0,C;for(C=0;C<r.left.length;C++)Hd(r.left[C]),r.left[C].dimW>a&&(a=r.left[C].dimW),e+=r.marginBottom+r.left[C].dimH;for(C=0;C<r.children.length;C++)Hd(r.children[C]),r.children[C].dimW>h&&(h=r.children[C].dimW),l+=r.marginBottom+r.children[C].dimH;r.w1=Math.max(r.w/2,mf+a),r.dimW=r.w1+Math.max(r.w/2,mf+h),r.dimH=r.h+Math.max(e,l)}function CC(r){return kf(r)?{x:0,y:r.h/2}:{x:r.w1-r.w/2,y:r.h/2}}function vC(r){return kf(r)?{x:r.dimW,y:r.h/2}:{x:r.w1+r.w/2,y:r.h/2}}function Uc(r){return kf(r)?r.dimW/2:r.w1}function Kd(r,a,e,h){if(kf(r)){h.boxes.push({el:r,x:a+r.textDx,y:e});return}h.boxes.push({el:r,x:a+r.w1-r.w/2,y:e});var l=a+r.w1,C=e+r.h,b=C,Z,v;for(Z=0;Z<r.left.length;Z++){v=r.left[Z],b+=r.marginBottom;var er=vC(v),X=l-v.dimW-mf;h.links.push({from:r,to:v,link:r.link,route:[{x:l,y:C},{x:l,y:b+er.y},{x:X+er.x,y:b+er.y}]}),Kd(v,X,b,h),b+=v.dimH}for(b=C,Z=0;Z<r.children.length;Z++){v=r.children[Z],b+=r.marginBottom;var V=CC(v);h.links.push({from:r,to:v,link:r.link,route:[{x:l,y:C},{x:l,y:b+V.y},{x:l+mf+V.x,y:b+V.y}]}),Kd(v,l+mf,b,h),b+=v.dimH}}function pC(r,a){var e=r.root;if(!e||e.label==null)return"";var h=0;function l(he){return he+"_"+h++}var C=r.styleSheet||kt.createSheet(),b=zc(C,e,0,[]),Z={boxes:[],links:[],lines:[]},v,er,X,V,tr;for(v=0;v<b.children.length;v++)Hd(b.children[v]);var wr=b.h,yr=wr+Kc/2,fr=wr+Kc;if(b.children.length===0)Z.boxes.push({el:b,x:0,y:0}),Z.lines.push({x1:b.w/2,y1:wr,x2:b.w/2,y2:yr,link:b.link});else{var Ar=0,jr=Uc(b.children[0]),ce=jr,Nr=0,de=[];for(v=0;v<b.children.length;v++){var Fr=b.children[v];ce=Ar+Uc(Fr),de.push(ce),Kd(Fr,Ar,fr,Z),Ar+=Fr.dimW+Hc,Nr+=Fr.dimW+(v>0?Hc:0)}var Ir=ce>jr?jr+(ce-jr-b.w)/2:(Math.max(Nr,b.w)-b.w)/2,qe=Ir+b.w/2;for(v=0;v<b.children.length;v++)Z.links.push({from:b,to:b.children[v],link:b.link,route:[{x:qe,y:wr},{x:qe,y:yr},{x:de[v],y:yr},{x:de[v],y:fr}]});Z.boxes.push({el:b,x:Ir,y:0})}var To=0,ne=0;for(v=0;v<Z.boxes.length;v++)X=Z.boxes[v],X.x<To&&(To=X.x),X.y<ne&&(ne=X.y);for(v=0;v<Z.links.length;v++)for(er=0;er<Z.links[v].route.length;er++)Z.links[v].route[er].x<To&&(To=Z.links[v].route[er].x),Z.links[v].route[er].y<ne&&(ne=Z.links[v].route[er].y);for(v=0;v<Z.lines.length;v++)tr=Z.lines[v],Math.min(tr.x1,tr.x2)<To&&(To=Math.min(tr.x1,tr.x2)),Math.min(tr.y1,tr.y2)<ne&&(ne=Math.min(tr.y1,tr.y2));var po=xc-To,ao=xc-ne,A="";for(v=0;v<Z.boxes.length;v++)Z.boxes[v].el.id=l("wbs");for(v=0;v<Z.links.length;v++)if(V=Z.links[v],V.link!=null){var J=[];for(er=0;er<V.route.length;er++){var ur=V.route[er];(J.length===0||Math.abs(ur.x-V.route[er-1].x)>1e-9||Math.abs(ur.y-V.route[er-1].y)>1e-9)&&J.push({x:ur.x+po,y:ur.y+ao})}J.length<2||(A+=or(l("wbse"),"","endArrow=none;startArrow=none;rounded=0;curved=0;"+V.link,J[0].x,J[0].y,J.slice(1,-1),J[J.length-1].x,J[J.length-1].y,"1",V.from.id,V.to.id))}for(v=0;v<Z.lines.length;v++)tr=Z.lines[v],!(tr.link==null||tr.x1===tr.x2&&tr.y1===tr.y2)&&(A+=G(l("wbse"),"","endArrow=none;startArrow=none;rounded=0;curved=0;"+tr.link,tr.x1+po,tr.y1+ao,tr.x2+po,tr.y2+ao,"1"));for(v=0;v<Z.boxes.length;v++)X=Z.boxes[v],A+=Pc(X.el.id,X.el.node,X.el.m,Gc(X.el.props,X.el.m,X.el.boxless,X.el.node.label),X.x+po,X.y+ao,X.el.w,X.el.h);var Sr={};for(v=0;v<Z.boxes.length;v++)Z.boxes[v].el.node.code!=null&&(Sr[Z.boxes[v].el.node.code]=Z.boxes[v]);var Er=r.links||[];for(v=0;v<Er.length;v++){var qr=Er[v],z=Sr[qr.from],Mr=Sr[qr.to];if(!(z==null||Mr==null)){var Be={x:z.x+po+z.el.w/2,y:z.y+ao+z.el.h/2},ye={x:Mr.x+po+Mr.el.w/2,y:Mr.y+ao+Mr.el.h/2},Le=ye.x-Be.x,_e=ye.y-Be.y;if(!(Le===0&&_e===0)){var Ur=Wc(Be,z.el.w/2,z.el.h/2,Le,_e),yo=Wc(ye,Mr.el.w/2,Mr.el.h/2,-Le,-_e),fo=qr.color!=null?xu(qr.color,"#181818"):xu(kt.color(Yd(C,"wbsDiagram",{stereotypes:qr.stereotypes||[]},null),"LineColor"),"#181818");fo!=="none"&&(A+=or(l("wbsl"),"","endArrow=classic;endFill=1;endSize=8;startArrow=none;rounded=0;curved=0;strokeColor="+fo+";strokeWidth=1;",Qi(Ur.x),Qi(Ur.y),[],Qi(yo.x),Qi(yo.y),"1",z.el.id,Mr.el.id))}}}return A}function Wc(r,a,e,h,l){var C=Math.min(h!==0?a/Math.abs(h):1/0,l!==0?e/Math.abs(l):1/0);return{x:r.x+h*C,y:r.y+l*C}}var Ai=23,qf=14,Xc=37,cs=18,qc=20,zd=15,Ku=null;function Ys(r,a){return Ku==null||Ku.sheet==null?{}:H(Ku.sheet,["root","element",Ku.diagram].concat(r),[],a||"vertex")}function Ud(r,a){for(var e={},h=0;h<a.length;h++)r[a[h]]!=null&&(e[a[h]]=r[a[h]]);return e}function Zc(){var r=Ud(Ys(["node"],"edge"),["strokeColor"]),a=Ys(["separator"],"edge");return a.strokeColor!=null&&(r.strokeColor=a.strokeColor),a.strokeWidth!=null&&(r.strokeWidth=a.strokeWidth),r}function jc(r){var a=Ys(["node"],"vertex");if(delete a.fontStyleBits,r){var e=Ys(["highlight"],"vertex");e.fillColor!=null?a.fillColor=e.fillColor:delete a.fillColor}return a}function $C(r,a){return M("rounded=1;absoluteArcSize=1;arcSize=10;whiteSpace=wrap;fillColor="+r+";strokeColor=#000000;strokeWidth=1.5;",jc(a))}function Jc(){var r=Ys(["separator"],"edge");return r.strokeColor!=null||r.strokeWidth!=null}function Vc(r,a){var e=jc(a);return Jc()&&(e.rowLines="0"),M("shape=table;childLayout=tableLayout;container=1;collapsible=0;startSize=0;rowLines=1;fixedRows=1;resizeLast=1;rounded=1;absoluteArcSize=1;arcSize=10;whiteSpace=wrap;fillColor="+r+";strokeColor=#000000;strokeWidth=1.5;",e)}function Qc(r){var a=Zc();if(Jc()&&(a.bottom="1"),r){var e=Ys(["highlight"],"vertex");e.fillColor!=null&&(a.fillColor=e.fillColor)}return M("shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;collapsible=0;dropTarget=0;strokeColor=#000000;top=0;left=0;right=0;bottom=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fillColor="+(r||"none")+";",a)}function Wd(r,a,e){var h=Ud(Ys(["node"],"text"),["fontColor","fontSize","fontFamily"]),l=Zc();if(l.strokeColor!=null&&(h.strokeColor=l.strokeColor),e){var C=Ys(["highlight"],"text");C.fontColor!=null&&(h.fontColor=C.fontColor)}return M("shape=partialRectangle;connectable=0;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right="+(a?1:0)+";strokeColor=#000000;whiteSpace=wrap;fontSize="+qf+";align=left;spacingLeft=5;verticalAlign=middle;"+(r?"fontStyle=1;":""),h)}var gC="endArrow=classic;dashed=1;dashPattern=3 3;curved=1;html=1;strokeColor=#000000;";function rh(){return M(gC,Ys(["arrow"],"edge"))}function _f(r,a){return Math.ceil(is(r,qf,a))+10}function Of(r){if(r==null||typeof r!="object"){var a=Math.max(40,_f(String(r),!1));return{keyW:0,valW:a,w:a}}if(Array.isArray(r)){for(var e=zd,h=0;h<r.length;h++)(r[h]==null||typeof r[h]!="object")&&(e=Math.max(e,_f(String(r[h]),!1)));return{keyW:0,valW:e,w:e}}var l=zd,C=zd;for(var b in r)if(r.hasOwnProperty(b)){l=Math.max(l,_f(b,!0));var Z=r[b];(Z==null||typeof Z!="object")&&(C=Math.max(C,_f(String(Z),!1)))}return{keyW:l,valW:C,w:l+C}}function zu(r){if(r==null||typeof r!="object")return Ai;var a=0,e=0;if(Array.isArray(r)){a=r.length;for(var h=0;h<r.length;h++)r[h]!=null&&typeof r[h]=="object"&&(e+=zu(r[h])+cs)}else for(var l in r)r.hasOwnProperty(l)&&(a++,r[l]!=null&&typeof r[l]=="object"&&(e+=zu(r[l])+cs));return Math.max(Math.max(1,a)*Ai,e>0?e-cs:0)}function Xd(r,a,e,h,l,C,b){var Z="",v=C!==""?C:r;r===""&&C===""&&(v="");for(var er=!1,X=0;X<l.length;X++)if(l[X]===v){er=!0;break}var V=er?"#CCFF02":"#F1F1F1",tr="text;whiteSpace=wrap;fontSize="+qf+";align=left;spacingLeft=5;verticalAlign=middle;",wr=Of(a);if(a==null||typeof a!="object"){var yr=r!==""?r+": "+String(a):String(a),fr=Math.max(40,_f(yr,!1)),Ar=b("jn");return Z+=s(Ar,yr,M($C(V,er)+"fontSize="+qf+";align=left;spacingLeft=5;",Ud(Ys([er?"highlight":"node"],"text"),["fontColor","fontSize","fontFamily"])),e,h,fr,Ai,"1"),{cells:Z,height:Ai,width:fr,rootId:Ar}}if(Array.isArray(a)){var jr=Math.max(1,a.length),ce=wr.w,Nr=Ai*jr,de=b("ja");Z+=s(de,"",Vc(V,er),e,h,ce,Nr,"1");for(var Fr=[],Ir=0;Ir<a.length;Ir++){var qe=a[Ir]!=null&&typeof a[Ir]=="object",To=qe?"":String(a[Ir]),ne=b("jw");Z+=s(ne,"",Qc(null),0,Ir*Ai,ce,Ai,de);var po=b("jr");if(Z+=s(po,To,Wd(!1,!1),0,0,ce,Ai,ne),qe){var ao=b("jb");Fr[Ir]=ao,Z+=s(ao,"","ellipse;fillColor=#000000;strokeColor=#000000;",ce-16,Ai/2-3,6,6,po)}}for(var A=e+ce+Xc,J=Nr,ur=0,Sr=0,Er=0,qr=-1,z=0;z<a.length;z++)a[z]!=null&&typeof a[z]=="object"&&(ur=Math.max(ur,Of(a[z]).w),Sr+=zu(a[z])+cs,Er++,qr=z);var Mr=h;Er===1?Mr=h+Math.max(0,qr*Ai+Ai/2-zu(a[qr])/2):Er>1&&(Mr=h+Math.max(0,(Nr-(Sr-cs))/2));for(var Be=0;Be<a.length;Be++)if(a[Be]!=null&&typeof a[Be]=="object"){var ye=v!==""?v+"/"+Be:String(Be),Le=Of(a[Be]).w,_e=Xd(String(Be),a[Be],A+(ur-Le)/2,Mr,l,ye,b);Z+=_e.cells,Z+=vr(b("je"),"",rh(),Fr[Be],_e.rootId,"1"),Mr+=_e.height+cs}return Mr-cs>h+Nr&&(J=Mr-cs-h),{cells:Z,height:J,width:ce,rootId:de}}var Ur=[];for(var yo in a)a.hasOwnProperty(yo)&&Ur.push(yo);var fo=Math.max(1,Ur.length),he=wr.keyW,Te=wr.w,ae=Ai*fo,it=b("jo");Z+=s(it,"",Vc(V,er),e,h,Te,ae,"1");for(var Gt=[],oo=0;oo<Ur.length;oo++){for(var pt=a[Ur[oo]],rt=pt!=null&&typeof pt=="object",jo=rt?"":String(pt),Qt=v!==""?v+"/"+Ur[oo]:Ur[oo],Me=!1,Io=0;Io<l.length;Io++)if(l[Io]===Qt){Me=!0;break}var Wo=oo*Ai,Ro=b("jw");Z+=s(Ro,"",Qc(Me?"#CCFF02":null),0,Wo,Te,Ai,it),Z+=s(b("jr"),Ur[oo],Wd(!0,!0,Me),0,0,he,Ai,Ro);var An=b("jr");if(Z+=s(An,jo,Wd(!1,!1,Me),he,0,Te-he,Ai,Ro),rt){var dn=b("jb");Gt[oo]=dn,Z+=s(dn,"","ellipse;fillColor=#000000;strokeColor=#000000;",Te-he-16,Ai/2-3,6,6,An)}}for(var rn=e+Te+Xc,Ao=ae,_t=0,ft=0,Se=0,Go=-1,wt=0;wt<Ur.length;wt++){var cn=a[Ur[wt]];cn!=null&&typeof cn=="object"&&(_t=Math.max(_t,Of(cn).w),ft+=zu(cn)+cs,Se++,Go=wt)}var No=h;Se===1?No=h+Math.max(0,Go*Ai+Ai/2-zu(a[Ur[Go]])/2):Se>1&&(No=h+Math.max(0,(ae-(ft-cs))/2));for(var oe=0;oe<Ur.length;oe++){var Uo=a[Ur[oe]];if(Uo!=null&&typeof Uo=="object"){var Ot=v!==""?v+"/"+Ur[oe]:Ur[oe],ho=Of(Uo).w,dt=Xd(Ur[oe],Uo,rn+(_t-ho)/2,No,l,Ot,b);Z+=dt.cells,Z+=vr(b("je"),"",rh(),Gt[oe],dt.rootId,"1"),No+=dt.height+cs}}return No-cs>h+ae&&(Ao=No-cs-h),{cells:Z,height:Ao,width:Te,rootId:it}}function eh(r,a){var e=0;function h(l){return l+"_"+e++}if(r.data==null&&!r.rootPresent)return"";Ku={sheet:r.styleSheet||null,diagram:typeof a=="string"?a:"jsonDiagram"};try{return Xd("",r.data,qc,qc,r.highlights||[],"",h).cells}finally{Ku=null}}function RC(r){return eh(r,"yamlDiagram")}function Ff(r){var a=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(r||"");return a?("#"+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]).toUpperCase():Y(r)}function AC(r){if(!r)return 1;var a=String(r).split(/\\n|\r\n|\r|\n|<br\s*\/?>/i);return a.length<1?1:a.length}function Uu(r,a){if(!r)return 0;for(var e=String(r).split(/\\n|\r\n|\r|\n|<br\s*\/?>/i),h=0,l=0;l<e.length;l++)e[l].length>h&&(h=e[l].length);return h*a*.5}function mC(r){var a=r.tasks,e="",h=0;function l(Wr){return Wr+"_"+h++}var C=r.styleSheet||null,b={gb:"task",gl:"task",gbj:"task",gsp:"separator",gsl:"separator",gd:"milestone",ga:"arrow",gm:"timeline",gt:"timeline",gnd:"timeline"},Z=null,v="";function er(Wr,ro){return H(C,["root","element","ganttDiagram",Wr],[],ro)}function X(Wr,ro,te){var ue=b[String(Wr).split("_")[0]];if(ue==null||C==null)return ro;var zo=te?"edge":ro.indexOf("text;")===0?"text":"vertex",nn=er(ue,zo);if(Z!=null)for(var Fa=0;Fa<Z.length;Fa++)delete nn[Z[Fa]];return M(ro,nn)}var V=function(Wr,ro,te,ue,zo,nn,Fa,Kn){if(String(Wr).indexOf("gsh_")===0){if(/fillColor=#F1E5E5;/.test(te)){var bn=er("closed","vertex");bn.fillColor&&(te=M(te,{fillColor:bn.fillColor}))}return $(Wr,ro,te,ue,zo,nn,Fa,Kn)}return $(Wr,ro,X(Wr,te,!1),ue,zo,nn,Fa,Kn)},tr=function(Wr,ro,te,ue,zo,nn,Fa,Kn){return B(Wr,ro,X(Wr,te,!0),ue,zo,nn,Fa,Kn)};if(a.length===0&&!r.projectStart)return"";var wr=!!r.projectStart,yr=wr&&r.printScale||"daily",fr={daily:1,weekly:4,monthly:15,quarterly:40,yearly:60},Ar=16/(fr[yr]||1)*(r.zoom||1),jr={},ce={},Nr=0,de=[!1,!1,!1,!1,!1,!1,!1],Fr=!1;if(r.projectStart&&r.closedWeekdays&&r.closedWeekdays.length){for(var Ir={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},qe=0;qe<r.closedWeekdays.length;qe++){var To=Ir[r.closedWeekdays[qe]];To!==void 0&&(de[To]=!0,Fr=!0)}de.join()==="true,true,true,true,true,true,true"&&(Fr=!1)}var ne=r.projectStart?new Date(r.projectStart+"T00:00:00Z").getUTCDay():1,po={},ao={},A=Fr;function J(Wr){var ro=Math.floor(Wr);return ao[ro]?!1:po[ro]?!0:Fr&&de[(ne+ro%7+7)%7]}function ur(Wr){for(;J(Wr);)Wr++;return Wr}function Sr(Wr,ro){var te=ur(Wr);if(!A||ro<=0)return{s:te,e:te+ro};for(var ue=ro,zo=te;ue>0;)if(J(zo))zo++;else{var nn=Math.min(1,ue);ue-=nn,zo+=nn}return{s:te,e:zo}}function Er(Wr){if(!Wr||!r.projectStart)return null;var ro=Date.parse(Wr+"T00:00:00Z")-Date.parse(r.projectStart+"T00:00:00Z");return isNaN(ro)?null:Math.round(ro/864e5)}var qr={},z={},Mr={},Be=0,ye=null;r.today&&(ye=r.today.date?Er(r.today.date):r.today.offset);function Le(Wr){return Wr?Wr.date?Er(Wr.date):Wr.anchor==="D"?Wr.offset:Wr.anchor==="T"?ye==null?null:ye+Wr.offset:null:null}for(var _e=null,Ur=0;r.periods&&Ur<r.periods.length;Ur++){var yo=r.periods[Ur],fo=yo.from.afterPrev?_e==null?null:_e+1:Le(yo.from),he=yo.to.days!=null?fo==null?null:fo+yo.to.days-1:Le(yo.to);if(!(fo==null||he==null)){if(he<fo){var Te=fo;fo=he,he=Te}_e=he;for(var ae=fo;ae<=he;ae++)yo.color&&(qr[ae]=yo.color),yo.name&&(z[ae]=yo.name),yo.closed===!0?(po[ae]=!0,A=!0):yo.closed===!1&&(ao[ae]=!0);yo.name&&(Mr[yo.name]={s:fo,e:he+1,d:he-fo+1}),(yo.color||yo.name)&&(Be=Math.max(Be,he+1))}}ye!=null&&r.todayColor&&(qr[ye]=r.todayColor);for(var it in Mr)Mr.hasOwnProperty(it)&&(jr[it]=Mr[it]);var Gt=[],oo=[];function pt(Wr,ro){var te;for(te=ro-1;te>=0;te--)if(!a[te].isSeparator&&(a[te].name===Wr||a[te].alias===Wr))return te;for(te=ro+1;te<a.length;te++)if(!a[te].isSeparator&&(a[te].name===Wr||a[te].alias===Wr))return te;return null}function rt(Wr,ro){if(Wr==null)return null;var te=pt(Wr,ro);return te!=null?(jo(te),Gt[te]||null):Mr.hasOwnProperty(Wr)?Mr[Wr]:null}function jo(Wr){if(!oo[Wr]){oo[Wr]=1;var ro=0,te=a[Wr],ue;if(te.after&&(ue=rt(te.after,Wr))!=null)ro=ue.e,te.afterOffset&&(ro=te.afterWorking?Sr(ro,te.afterOffset).e:ro+te.afterOffset);else if(te.alignStart&&(ue=rt(te.alignStart,Wr))!=null)ro=ue.s;else if(te.startOffset!=null)ro=te.startOffset;else if(te.start&&r.projectStart){var zo=Er(te.start);zo!=null&&zo>0&&(ro=zo)}for(var nn=0;nn<te.predecessors.length;nn++){var Fa=rt(te.predecessors[nn].ref,Wr);Fa!=null&&Fa.e>ro&&(ro=Fa.e)}var Kn=te.duration;if(!Kn){var bn=null;te.endAlign&&(ue=rt(te.endAlign,Wr))!=null?bn=ue.e-1:te.endOffset!=null?bn=te.endOffset:te.end&&(bn=Er(te.end)),bn!=null&&bn>=ro&&(Kn=bn-ro+1)}if(!Kn&&!te.isMilestone&&(Kn=1),Kn&&te.resources&&te.resources.length>1){for(var Ve=0,Yo=0;Yo<te.resources.length;Yo++)Ve+=te.resources[Yo].pct>0?te.resources[Yo].pct:100;Ve>0&&(Kn=Kn*100/Ve)}var st=Sr(ro,Kn);Gt[Wr]={s:st.s,d:Kn,e:st.e},oo[Wr]=2}}for(var Qt=0;Qt<a.length;Qt++)a[Qt].isSeparator||jo(Qt);for(var Me=0;Me<a.length;Me++){var Io=Gt[Me];a[Me].isSeparator||Io==null||(jr[a[Me].name]=Io,ce[a[Me].name]=Me,a[Me].alias&&(jr[a[Me].alias]=Io,ce[a[Me].alias]=Me),Io.e>Nr&&(Nr=Io.e))}Nr=Math.ceil(Math.max(Nr,Be)),Nr<1&&(Nr=a.length===0?1:10);for(var Wo=!1,Ro=0;Ro<Nr;Ro++)z[Ro]&&(Wo=!0);var An=12.955,dn=4,rn=36.955;function Ao(Wr){return Wr*Ar}var _t;wr?yr==="weekly"?_t=27:yr==="monthly"||yr==="quarterly"?_t=28:yr==="yearly"?_t=17:_t=39:_t=6;var ft=_t;Wo&&wr&&yr!=="quarterly"&&yr!=="yearly"&&(_t+=16);for(var Se=wr?_t+2:18,Go=[],wt=[],cn=Se,No=!1,Me=0;Me<a.length;Me++){if(a[Me].isSeparator){Go[Me]=cn-(No?dn:0),wt[Me]=rn,cn=Go[Me]+rn,No=!1;continue}var oe=a[Me].isMilestone?1:AC(a[Me].name),Uo=oe*An;Go[Me]=cn,wt[Me]=Uo,cn+=Uo+dn,No=!0}for(var Ot=a.length?Go[a.length-1]+wt[a.length-1]:_t-(wr?2:10),ho=[],dt={},Aa=32,Sn=0;Sn<a.length;Sn++){var an=a[Sn],we=an.resources&&an.resources.length>0?an.resources:an.resource?[{name:an.resource,pct:100}]:[];if(!(an.isMilestone||an.isSeparator||we.length===0))for(var Eo=jr[an.name],Et=0;Et<we.length;Et++){var Cr=we[Et].name;dt[Cr]||(dt[Cr]={},ho.push(Cr));for(var Lr=Eo.s;Lr+1<=Eo.e+1e-9;Lr++)J(Lr)||(dt[Cr][Lr]=!0)}}var He=ho.length*Aa,Ie=Ot+He+(wr?2:10),Oe=Ao(Nr),so=null,Xo=[],qo=wr?new Date(r.projectStart+"T00:00:00Z"):null;function Yn(Wr){return new Date(qo.getTime()+Wr*864e5)}if(wr){var Nt=["Mo","Tu","We","Th","Fr","Sa","Su"],Da=(qo.getUTCDay()+6)%7;so=[];for(var je=0;je<Nr;je++)so[je]=Nt[(Da+je)%7],Xo[je]=String(Yn(je).getUTCDate())}else for(var _r=0;_r<Nr;_r++)Xo[_r]=String(_r+1);var Ho=["January","February","March","April","May","June","July","August","September","October","November","December"],Ce=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ln(Wr){var ro=Yn(Wr),te=(ro.getUTCDay()+6)%7;ro=new Date(ro.getTime()+(3-te)*864e5);var ue=new Date(Date.UTC(ro.getUTCFullYear(),0,4)),zo=(ue.getUTCDay()+6)%7;return ue=new Date(ue.getTime()+(3-zo)*864e5),1+Math.round((ro.getTime()-ue.getTime())/(7*864e5))}var nt="endArrow=none;startArrow=none;strokeColor=#C0C0C0;strokeWidth=1;";function wo(Wr,ro,te){e+=tr(l("gg"),"",nt,ro,Wr,te,Wr,"1")}function xn(Wr,ro,te){e+=tr(l("gg"),"",nt,Wr,ro,Wr,te,"1")}function Lt(Wr,ro,te,ue,zo,nn,Fa,Kn,bn){for(var Ve=ro.length-1;Ve>=0;Ve--){var Yo=Uu(ro[Ve],Fa);if(Ve===0&&!bn||Yo<=ue-te){e+=V(l(Wr),ro[Ve],"text;html=1;align=center;verticalAlign=middle;fontSize="+Fa+";"+(Kn?"fontStyle=1;":"")+"fontColor=#000000;",te,zo,ue-te,nn,"1");return}}}function Ft(Wr){for(var ro=[],te=0,ue=null,zo=0;zo<=Nr;zo++){var nn=zo<Nr?Wr(Yn(zo)):null;(zo===Nr||ue!==null&&nn!==ue)&&(ro.push({s:te,e:zo,date:Yn(te)}),te=zo),ue=nn}return ro}function fe(Wr){return Wr.getUTCFullYear()*12+Wr.getUTCMonth()}function ge(Wr){return Wr.getUTCFullYear()}function qt(Wr){return Wr.getUTCFullYear()*4+Math.floor(Wr.getUTCMonth()/3)}function et(Wr,ro){for(var te=[],ue=0;ue<ro.length;ue++){var zo=ro[ue];te.push(zo==="myl"?Ho[Wr.getUTCMonth()]+" "+Wr.getUTCFullYear():zo==="mys"?Ce[Wr.getUTCMonth()]+" "+Wr.getUTCFullYear():zo==="ml"?Ho[Wr.getUTCMonth()]:Ce[Wr.getUTCMonth()])}return te}function en(Wr,ro,te,ue,zo,nn,Fa,Kn){for(var bn=0;bn<ro.length;bn++){var Ve=ro[bn];xn(Ao(Ve.s),te,te+ue),Lt(Wr,Fa(Ve.date),Ao(Ve.s),Ao(Ve.e),te,ue,zo,nn,Kn)}xn(Oe,te,te+ue)}for(var Zt=-1,qn=null,Ko=0;Ko<=Nr;Ko++){var Hn=null;Ko<Nr&&(qr[Ko]&&(Hn=Ff(qr[Ko])||null),!Hn&&J(Ko)&&(Hn="#F1E5E5")),Zt>=0&&Hn!==qn&&(e+=V(l("gsh"),"","rounded=0;fillColor="+qn+";strokeColor=none;",Ao(Zt),_t,Ao(Ko)-Ao(Zt),Ie-_t,"1"),Zt=-1),Hn&&Zt<0&&(Zt=Ko,qn=Hn)}if(Wo&&_t>ft)for(var aa=null,Je=0;Je<Nr;Je++){var sn=z[Je]||null;sn&&sn!==aa&&(e+=V(l("gnd"),sn,"text;html=1;align=left;verticalAlign=middle;fontSize=12;fontColor=#000000;",Ao(Je)-4,ft,Math.max(Uu(sn,12)+8,20),16,"1")),aa=sn}var Bn=yr==="weekly",$t;if(wr)if(yr==="daily"){for(var Pt=Ft(fe),ra=0;ra<Pt.length;ra++){var Ut=Pt[ra];Lt("gm",et(Ut.date,["ms","ml","myl"]),Ao(Ut.s),Ao(Ut.e),0,14,12,!0,!1),Lt("gm",et(Ut.date,["ms","ml","myl"]),Ao(Ut.s),Ao(Ut.e),Ie+29,14,12,!0,!1)}for(var Wn=0;Wn<=Nr;Wn++)xn(Ao(Wn),_t,Ie);for(wo(_t,0,Oe),wo(Ie,0,Oe),$t=0;$t<Nr;$t++)e+=V(l("gt"),so[$t],"text;html=1;align=center;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao($t),14,Ar,12,"1"),e+=V(l("gt"),Xo[$t],"text;html=1;align=center;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao($t),26,Ar,12,"1"),e+=V(l("gt"),so[$t],"text;html=1;align=center;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao($t),Ie+1,Ar,12,"1"),e+=V(l("gt"),Xo[$t],"text;html=1;align=center;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao($t),Ie+15,Ar,12,"1")}else if(Bn){var yt=Ft(fe);en("gm",yt,0,16,12,!0,function(Wr){return et(Wr,["ms","mys"])},!1),wo(0,0,Oe),wo(16,0,Oe),wo(27,0,Oe);for(var Zn=0;Zn<Nr;Zn++)if((ne+Zn)%7===1&&(xn(Ao(Zn),16,Ie),Zn<Nr-1)){var on=String(ln(Zn));e+=V(l("gt"),on,"text;html=1;align=left;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao(Zn)+5,16,Math.max(Uu(on,10)+4,12),11,"1")}xn(Oe,16,Ie),wo(Ie,0,Oe),en("gm",yt,Ie,16,12,!0,function(Wr){return et(Wr,["ms","mys"])},!1),wo(Ie+16,0,Oe)}else if(yr==="monthly"||yr==="quarterly"){var va=Ft(ge),ga=Ft(yr==="monthly"?fe:qt),jn=yr==="monthly"?function(Wr){return et(Wr,["ms","ml"])}:function(Wr){return["Q"+(Math.floor(Wr.getUTCMonth()/3)+1)]},Fn=function(Wr){return[String(Wr.getUTCFullYear())]};en("gm",va,0,16,12,!0,Fn,!1),en("gt",ga,16,12,10,!1,jn,!1),wo(0,0,Oe),wo(16,0,Oe),wo(28,0,Oe),wo(Ie,0,Oe),en("gt",ga,Ie,12,10,!1,jn,!1),en("gm",va,Ie+12,16,12,!0,Fn,!1),wo(Ie+12,0,Oe),wo(Ie+28,0,Oe)}else{var Mn=Ft(ge),la=function(Wr){return[String(Wr.getUTCFullYear())]};en("gm",Mn,0,17,14,!0,la,!0),wo(0,0,Oe),wo(17,0,Oe),wo(Ie,0,Oe),en("gm",Mn,Ie,17,14,!0,la,!0),wo(Ie+17,0,Oe)}else{for(var mo=0;mo<=Nr;mo++)xn(Ao(mo),_t,Ie);for($t=0;$t<Nr;$t++)e+=V(l("gt"),Xo[$t],"text;html=1;align=center;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao($t),0,Ar,12,"1"),e+=V(l("gt"),Xo[$t],"text;html=1;align=center;verticalAlign=middle;fontSize=10;fontColor=#000000;",Ao($t),Ie-4,Ar,12,"1")}for(var Tn="endArrow=none;startArrow=none;strokeColor=#181818;strokeWidth=1;",gt=0;gt<a.length;gt++){var Rt=a[gt];if(Rt.isSeparator){var Jt=Go[gt]+12+An/2,ct=er("separator","vertex");if(ct.fillColor&&ct.fillColor!=="none"&&(v+=$(l("gsb"),"","rounded=0;fillColor="+ct.fillColor+";strokeColor=none;",0,Go[gt],Oe,wt[gt],"1")),Rt.name){var wn=Uu(Rt.name,11);e+=tr(l("gsp"),"",Tn,0,Jt,5,Jt,"1"),e+=tr(l("gsp"),"",Tn,10+wn+5,Jt,Oe-1,Jt,"1"),e+=V(l("gsl"),Rt.name,"text;html=1;align=left;verticalAlign=middle;fontSize=11;fontColor=#000000;",10,Go[gt]+12,wn+4,An,"1")}else e+=tr(l("gsp"),"",Tn,0,Jt,Oe,Jt,"1");continue}if(!Rt.isMilestone){var In=jr[Rt.name],ko=Ao(In.s)+2,Do=Math.max(Ao(In.e)-2,ko+1),Rr=Go[gt],xr=wt[gt],br="#181818";Rt.color&&Rt.color.indexOf("/")>=0?br=Ff(Rt.color.split("/")[1])||"#181818":Rt.color&&(br=Ff(Rt.color)||"#181818");var Br=r.monochrome?"#E3E3E3":"#E2E2F0";Rt.color&&(Br=Ff(Rt.color.split("/")[0])||Br),Rt.progress===0&&!Rt.color&&(Br="#FFFFFF");for(var Pr=Rt.progress!=null&&Rt.progress>0&&Rt.progress<100&&!Rt.color,Xe=Rt.resources&&Rt.resources.length>0?Rt.resources:Rt.resource?[{name:Rt.resource,pct:100}]:[],zr=Rt.name,Ke=0;Ke<Xe.length;Ke++)zr+=" {"+Xe[Ke].name+(Xe[Ke].pct!==100?":"+Xe[Ke].pct+"%":"")+"}";for(var De=Uu(zr,11),ze=Ao(In.e)-6-(Ao(In.s)+6)>De,So=[],ot=ko,ve=Math.floor(In.s);ve<In.e;ve++)if(J(ve)){var Yt=Ao(ve),At=Ao(ve+1);Yt>ot&&So.push({x1:ot,x2:Math.min(Yt,Do)}),ot=Math.max(ot,At)}ot<Do&&So.push({x1:ot,x2:Do}),So.length===0&&So.push({x1:ko,x2:Do});var ht=ze&&So.length===1?zr:"";if(Z=Rt.color?["fillColor","gradientColor","strokeColor"]:null,So.length===1){var Vt=So[0].x1,Pn=So[0].x2-So[0].x1;if(Pr){var Ae=Math.round(Pn*Rt.progress/100),Fe=Pn-Ae;e+=V(l("gb"),"","fillColor="+Br+";strokeColor=none;",Vt,Rr,Ae,xr,"1"),e+=V(l("gb"),"","fillColor=#FFFFFF;strokeColor=none;",Vt+Ae,Rr,Fe,xr,"1"),e+=V(l("gb"),ht,"fillColor=none;strokeColor="+br+";strokeWidth=1;fontSize=11;fontColor=#000000;align=left;spacingLeft=4;verticalAlign=middle;",Vt,Rr,Pn,xr,"1")}else e+=V(l("gb"),ht,"fillColor="+Br+";strokeColor="+br+";strokeWidth=1;fontSize=11;fontColor=#000000;align=left;spacingLeft=4;verticalAlign=middle;",Vt,Rr,Pn,xr,"1")}else{for(var le=0;le<So.length;le++){var Ne=So[le],Qe=le===0?"right=0;":le===So.length-1?"left=0;":"left=0;right=0;";if(e+=V(l("gb"),"","shape=partialRectangle;"+Qe+"fillColor="+Br+";strokeColor="+br+";strokeWidth=1;",Ne.x1,Rr,Ne.x2-Ne.x1,xr,"1"),le<So.length-1){var tn=Ne.x2+3,Vo=So[le+1].x1-3;Vo>tn&&(e+=tr(l("gbj"),"","endArrow=none;startArrow=none;strokeColor="+br+";strokeWidth=1;dashed=1;dashPattern=2 3;",tn,Rr,Vo,Rr,"1"),e+=tr(l("gbj"),"","endArrow=none;startArrow=none;strokeColor="+br+";strokeWidth=1;dashed=1;dashPattern=2 3;",tn,Rr+xr,Vo,Rr+xr,"1"))}}ze&&(e+=V(l("gl"),zr,"text;html=1;align=left;verticalAlign=middle;fontSize=11;fontColor=#000000;",Ao(In.s)+6-4,Rr,De+8,xr,"1"))}Z=null,ze||(e+=V(l("gl"),zr,"text;html=1;align=left;verticalAlign=middle;fontSize=11;fontColor=#000000;",Ao(In.e)-6+8-4,Rr,Math.max(De+8,18),xr,"1"))}}for(var xo=0;xo<a.length;xo++){var Co=a[xo];if(Co.isMilestone){var mn=Co.after?jr[Co.after]:null,pn;if(mn)pn=Ao(mn.e);else{var hn=jr[Co.alias]||jr[Co.name];if(!hn)continue;pn=Ao(hn.s)}e+=V(l("gd"),"","rhombus;fillColor=#000000;strokeColor=#000000;",pn-13,Go[xo],10,10,"1"),e+=V(l("gd"),Co.name,"text;html=1;align=left;verticalAlign=middle;fontSize=11;fontColor=#000000;",pn,Go[xo],Math.max(Uu(Co.name,11)+4,18),wt[xo],"1")}}for(var Dt=0;Dt<ho.length;Dt++){var ca=Ot+Dt*Aa,ea=ca+20;e+=V(l("gr"),ho[Dt],"text;html=1;align=left;verticalAlign=middle;fontSize=13;fontFamily=Serif;fontColor=#000000;",0,ca+5,80,14,"1"),e+=tr(l("gr"),"","endArrow=none;startArrow=none;strokeColor=#000000;strokeWidth=1;",0,ea,Oe,ea,"1");for(var me=dt[ho[Dt]],ie=0;ie<Nr;ie++)me[ie]&&(e+=V(l("gr"),"100","text;html=1;align=center;verticalAlign=middle;fontSize=9;fontFamily=Serif;fontColor=#000000;",Ao(ie),ea,Ar,10,"1"))}for(var pe=0;pe<a.length;pe++){var ke=a[pe];if(!(ke.isMilestone||ke.isSeparator||Gt[pe]==null)){var Re=ke.predecessors.slice();ke.after&&Re.unshift({ref:ke.after});for(var $o=0;$o<Re.length;$o++){var Jo=Re[$o];if(!(Jo.hidden||!jr[Jo.ref]||ce[Jo.ref]==null)){var Wt=ce[Jo.ref],at=jr[Jo.ref],Nn=Gt[pe],ia=Ao(at.e),sa=Go[Wt]+wt[Wt],ka=Go[pe]+wt[pe]/2,Po=ka<sa?Go[Wt]:sa,Ct=ia-8,bt=Ao(Nn.s)-1,Vr=Jo.color?Ff(Jo.color):null,to="strokeColor="+(Vr||"#181818")+";strokeWidth="+(Jo.bold?"2.5":"1.5")+";"+(Jo.dotted?"dashed=1;fixDash=1;dashPattern=1 3;":Jo.dashed?"dashed=1;fixDash=1;dashPattern=7 7;":"");Z=Vr?["strokeColor"]:null,e+=tr(l("ga"),"","endArrow=none;startArrow=none;"+to,Ct,Po,Ct,ka,"1"),e+=tr(l("ga"),"","endArrow=block;endFill=1;endSize=2.5;startArrow=none;"+to,Ct,ka,bt,ka,"1"),Z=null}}}}var Xt=er("timeline","vertex");if(Xt.fillColor&&Xt.fillColor!=="none"){var ha="rounded=0;fillColor="+Xt.fillColor+";strokeColor=none;";v=$(l("gtb"),"",ha,0,0,Oe,_t,"1")+$(l("gtb"),"",ha,0,Ie,Oe,ft,"1")+v}return v+e}function kC(r){var a=[],e="",h=0,l=r.timeMarks||[],C=r.styleSheet||null,b=null,Z={tg:"timegrid",tm:"arrow",tml:"arrow",tcn:"constraintArrow",tcl:"constraintArrow",tax:"timeline",tk:"timeline",tal:"timeline",thl:"highlight",thll:"highlight"};function v(Ae,Fe,le){if(C==null)return Fe;var Ne=String(Ae).split("_")[0],Qe=b!=null&&(le?Ne==="tw"||Ne==="tv":Ne!=="tt"),tn=Z[Ne]!=null?[Z[Ne]]:Qe?[b]:[],Vo=le?"edge":Fe.indexOf("text;")===0?"text":"vertex",xo=H(C,["root","element","timingDiagram"].concat(tn),[],Vo);return Vo==="vertex"&&Ne!=="tc"&&Ne!=="thl"&&(delete xo.fillColor,delete xo.gradientColor),Ne==="thl"&&(delete xo.strokeColor,delete xo.strokeWidth),Ne==="thll"&&(delete xo.fontColor,delete xo.fontSize,delete xo.fontFamily,delete xo.fontStyleBits),M(Fe,xo)}for(var er=function(Ae,Fe,le,Ne,Qe,tn,Vo,xo){return $(Ae,Fe,v(Ae,le,!1),Ne,Qe,tn,Vo,xo)},X=function(Ae,Fe,le,Ne,Qe,tn,Vo,xo){return B(Ae,Fe,v(Ae,le,!0),Ne,Qe,tn,Vo,xo)},V=0;V<r.signals.length;V++){var tr=r.signals[V];a.push({name:tr.name,alias:tr.alias,kind:tr.kind,period:tr.period,transitions:tr.transitions.slice()})}function wr(Ae){return Ae+"_"+h++}if(a.length===0&&l.length===0)return"";var yr=10,fr=14,Ar=12,jr=11,ce=26,Nr="#333333",de=r.monochrome?"#292929":"#006400",Fr=r.monochrome?"#3A3A3A":"#006400",Ir=r.monochrome?"#E3E3E3":"#E2E2F0",qe=r.monochrome?"#292929":"#333333";function To(Ae,Fe){return"endArrow=none;startArrow=none;strokeColor="+Nr+";strokeWidth="+Ae+";"+(Fe?"dashed=1;dashPattern=3 5;":"")}function ne(Ae,Fe){return String(Ae).length*Fe*.55}function po(Ae,Fe,le,Ne,Qe,tn,Vo,xo){var Co=Qe+6,mn=Ne-Co/2-Qe*.335,pn=Math.max(ne(Fe,Qe)+8,8),hn="text;html=1;strokeColor=none;fillColor=none;fontSize="+Qe+";fontColor="+Vo+";align="+(xo||"left")+";verticalAlign=middle;"+(tn?"fontStyle=1;":"");return er(wr(Ae),Fe,hn,le,mn,pn,Co,"1")}var ao=[],A,J;function ur(Ae){ao.indexOf(Ae)<0&&ao.push(Ae)}for(A=0;A<a.length;A++){for(J=0;J<a[A].transitions.length;J++)ur(a[A].transitions[J].time);a[A].kind==="clock"&&a[A].period>0&&ur(a[A].period)}for(J=0;J<l.length;J++)ur(l[J]);ao.length===0&&ao.push(0),ao.sort(function(Ae,Fe){return Ae-Fe});var Sr=ao[0],Er=ao[ao.length-1];Er>0&&Sr<0&&ao.indexOf(0)<0&&(ao.push(0),ao.sort(function(Ae,Fe){return Ae-Fe}));var qr=Er-Sr,z=50,Mr;function Be(Ae,Fe){for(;Fe!==0;){var le=Ae%Fe;Ae=Fe,Fe=le}return Math.abs(Ae)}function ye(Ae){return Ae<0?Math.ceil(Ae):Math.floor(Ae)}function Le(Ae){return(Ae<10?"0":"")+Ae}var _e=["January","February","March","April","May","June","July","August","September","October","November","December"],Ur=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function yo(Ae,Fe){var le=new Date(Fe*1e3);return Ae.replace(/'([^']*)'|y{1,4}|M{1,4}|d{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|E{1,4}/g,function(Ne,Qe){if(Qe!=null)return Qe;var tn=le.getUTCHours()%12||12;switch(Ne){case"yyyy":case"yyy":case"y":return String(le.getUTCFullYear());case"yy":return Le(le.getUTCFullYear()%100);case"MMMM":return _e[le.getUTCMonth()];case"MMM":return _e[le.getUTCMonth()].substring(0,3);case"MM":return Le(le.getUTCMonth()+1);case"M":return String(le.getUTCMonth()+1);case"dd":return Le(le.getUTCDate());case"d":return String(le.getUTCDate());case"HH":return Le(le.getUTCHours());case"H":return String(le.getUTCHours());case"hh":return Le(tn);case"h":return String(tn);case"mm":return Le(le.getUTCMinutes());case"m":return String(le.getUTCMinutes());case"ss":return Le(le.getUTCSeconds());case"s":return String(le.getUTCSeconds());case"EEEE":return Ur[le.getUTCDay()];default:return Ur[le.getUTCDay()].substring(0,3)}})}function fo(Ae){var Fe=ye(Ae);if(r.dateFormat)return yo(r.dateFormat,Fe);if(r.timeFormat==="hour")return Math.floor(Fe/3600)+":"+Le(Math.floor(Fe/60)%60)+":"+Le(Fe%60);if(r.timeFormat==="date"){var le=new Date(Fe*1e3);return Le(le.getUTCMonth()+1)+"/"+Le(le.getUTCDate())}return String(Fe)}if(r.scale&&r.scale.tick>0&&r.scale.pixel>0)Mr=r.scale.tick,z=r.scale.pixel;else{var he=0;for(J=0;J<ao.length;J++){var Te=Math.abs(ye(ao[J]));Te>0&&(he=he===0?Te:Be(he,Te))}Mr=he>0?he:1,Mr===1&&(qr+1)*z>4e3&&(Mr=Math.round(1+z*qr/4e3))}var ae=Math.min(1e3,1+Math.floor(qr/Mr)),it=(qr/Mr+1)*z,Gt=Er+Mr,oo=0;for(A=0;A<a.length;A++){var pt=a[A];if(pt.kind==="robust")for(J=0;J<pt.transitions.length;J++)oo=Math.max(oo,ne(pt.transitions[J].state,Ar));else pt.kind==="binary"&&(oo=Math.max(oo,ne(pt.name,fr)+5))}var rt=yr+5+oo;function jo(Ae){return rt+(Ae-Sr)/Mr*z}for(var Qt=rt+it,Me=yr,Io=yr,Wo=Qt+5,Ro=r.constraints&&r.constraints.length>0,An=[],dn="",rn=Io,Ao=0,_t=Io,ft=0;ft<a.length;ft++){var Se=a[ft],Go=_t;b=Se.kind||null;var wt=Ro&&ft===0?ce:Se.kind==="robust"?10:5,cn,No={kind:Se.kind,transitions:Se.transitions,rows:{}};if(An.push(No),Se.kind!=="binary"){dn+=po("tt",Se.name,yr+1,Go+15,fr,!0,"#333333","left");var oe=Go+20,Uo=yr+5+ne(Se.name,fr)+1;dn+=X(wr("tu"),"",To(.5),Me,oe,Uo,oe,"1"),dn+=X(wr("td"),"",To(.5),Uo,oe,Uo+10,Go,"1")}if(Se.kind==="robust"){var Ot=[],ho;for(ho=0;ho<Se.transitions.length;ho++)!Se.transitions[ho].hidden&&Ot.indexOf(Se.transitions[ho].state)<0&&Ot.push(Se.transitions[ho].state);var dt=Math.max(Ot.length,1),Aa=Go+20+wt,Sn=No.rows;for(ho=0;ho<Ot.length;ho++){var an=Aa+(Ot.length-1-ho)*20;Sn[Ot[ho]]=an,dn+=po("tl",Ot[ho],yr+1,an+5,Ar,!1,"#333333","left")}for(ho=0;ho<Se.transitions.length;ho++){var we=Se.transitions[ho];if(!we.hidden){var Eo=ho+1<Se.transitions.length?Se.transitions[ho+1]:null,Et=jo(we.time),Cr=Eo?jo(Eo.time):Qt,Lr=Sn[we.state];dn+=X(wr("tw"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=2;",Et,Lr,Cr,Lr,"1"),Eo&&!Eo.hidden&&Sn[Eo.state]!==Lr&&(dn+=X(wr("tv"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=2;",Cr,Lr,Cr,Sn[Eo.state],"1"))}}cn=Aa+(dt-1)*20+15}else if(Se.kind==="concise"||Se.kind==="rectangle"){var He=Go+20+wt,Ie=24,Oe=Se.kind==="rectangle"?"rounded=0;fillColor=#F1F1F1;strokeColor=#F1F1F1;strokeWidth=0.5;fontSize=12;fontStyle=1;fontColor=#333333;align=center;":"shape=hexagon;perimeter=hexagonPerimeter2;fixedSize=1;size=12;fillColor="+Ir+";strokeColor="+Fr+";strokeWidth=1.5;fontSize=12;fontStyle=1;fontColor=#333333;align=center;";No.bandTop=He,No.bandH=Ie,ft===0&&Ro&&(Ao=He);for(var so=0;so<Se.transitions.length;so++){var Xo=Se.transitions[so];if(!Xo.hidden){var qo=so+1<Se.transitions.length?Se.transitions[so+1]:null,Yn=jo(Xo.time),Nt=qo?jo(qo.time):Qt;Nt>Yn&&(dn+=er(wr("tc"),Xo.state,Oe,Yn,He,Nt-Yn,Ie,"1"))}}cn=He+Ie+10}else if(Se.kind==="clock"){var Da=Se.period||100,je=Da/2,_r=Go+27,Ho=Go+41;dn+=X(wr("tw"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=1.5;",jo(0),_r,jo(0),Ho,"1");for(var Ce=!0,ln=0,nt=0;nt<Gt&&ln<2e3;nt+=je,ln++){var wo=jo(nt),xn=jo(Math.min(nt+je,Gt)),Lt=Ce?_r:Ho;if(xn>wo&&(dn+=X(wr("tw"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=1.5;",wo,Lt,xn,Lt,"1")),nt+je<=Gt){var Ft=Ce?Ho:_r;dn+=X(wr("tv"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=1.5;",xn,Lt,xn,Ft,"1")}Ce=!Ce}cn=Ho+8}else if(Se.kind==="binary"){var fe=Go+8,ge=Go+22;No.rows.high=fe,No.rows.low=ge,dn+=po("tl",Se.name,yr+1,(fe+ge)/2+5,fr,!0,"#333333","left");for(var qt=0;qt<Se.transitions.length;qt++){var et=Se.transitions[qt];if(!et.hidden){var en=qt+1<Se.transitions.length?Se.transitions[qt+1]:null,Zt=jo(et.time),qn=en?jo(en.time):Qt,Ko=et.state==="high"||et.state==="1",Hn=Ko?fe:ge;if(dn+=X(wr("tw"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=2;",Zt,Hn,qn,Hn,"1"),en&&!en.hidden){var aa=en.state==="high"||en.state==="1",Je=aa?fe:ge;Je!==Hn&&(dn+=X(wr("tv"),"","endArrow=none;startArrow=none;strokeColor="+de+";strokeWidth=2;",qn,Hn,qn,Je,"1"))}}}cn=ge+8}else cn=Go+30;ft<a.length-1?(dn+=X(wr("ts"),"",To(.5),Me,cn,Wo,cn,"1"),_t=cn):rn=cn}b=null,e+=X(wr("tb"),"",To(.5),Me,Io,Wo,Io,"1"),e+=X(wr("tb"),"",To(.5),Me,Io,Me,rn,"1"),e+=X(wr("tb"),"",To(.5),Wo,Io,Wo,rn,"1");for(var sn=0;sn<=ae;sn++){var Bn=rt+sn*z;e+=X(wr("tg"),"",To(.5,!0),Bn,Io,Bn,rn,"1")}if(r.highlights&&r.highlights.length>0)for(var $t=0;$t<r.highlights.length;$t++){var mo=r.highlights[$t],Pt=jo(mo.from),ra=jo(mo.to),Ut=Y(mo.color)||"#FFD700";e+=er(wr("thl"),"","shape=rectangle;fillColor="+Ut+";strokeColor=none;opacity=45;",Pt,Io,ra-Pt,rn-Io,"1"),mo.label&&(e+=po("thll",mo.label,(Pt+ra)/2-(ne(mo.label,Ar)+8)/2,Io+14,Ar,!1,"#000000","center"))}if(e+=dn,Ro&&Ao>0)for(var Wn=0;Wn<r.constraints.length;Wn++){var yt=r.constraints[Wn],Zn=jo(yt.from)+1,on=jo(yt.to)-1,va=Ao-11;e+=X(wr("tcn"),"","startArrow=block;endArrow=block;startFill=1;endFill=1;strokeColor="+qe+";strokeWidth=1.5;",Zn,va,on,va,"1"),e+=po("tcl",yt.label,(Zn+on)/2-ne(yt.label,Ar)/2-4,va-8.5,Ar,!1,qe,"center")}function ga(Ae,Fe){var le=Ae.transitions,Ne=[],Qe;function tn(xo){return Ae.kind==="binary"?xo.state==="high"||xo.state==="1"?Ae.rows.high:Ae.rows.low:xo.hidden?null:Ae.rows[xo.state]}if(Ae.kind==="robust"||Ae.kind==="binary"){if(le.length===0)return null;for(Qe=0;Qe<le.length;Qe++){if(le[Qe].time===Fe){Qe>0&&Ne.push(tn(le[Qe-1])),Ne.push(tn(le[Qe]));break}if(le[Qe].time>Fe){Ne.push(tn(le[Qe===0?0:Qe-1]));break}}Ne.length===0&&Ne.push(tn(le[le.length-1]))}else if(Ae.kind==="concise"||Ae.kind==="rectangle"){for(Qe=0;Qe<le.length;Qe++)le[Qe].time===Fe&&Ne.push(Ae.bandTop+Ae.bandH/2);Ne.length===0&&Ne.push(Ae.bandTop,Ae.bandTop+Ae.bandH)}else return null;var Vo=[];for(Qe=0;Qe<Ne.length;Qe++)Ne[Qe]!=null&&Vo.indexOf(Ne[Qe])<0&&Vo.push(Ne[Qe]);return Vo.length>0?Vo:null}for(var jn=r.monochrome?"#292929":"#00008B",Fn=0;r.messages&&Fn<r.messages.length;Fn++){var Mn=r.messages[Fn],la=An[Mn.from],Tn=An[Mn.to],gt=la?ga(la,Mn.fromTime):null,Rt=Tn?ga(Tn,Mn.toTime):null;if(!(!gt||!Rt)){for(var Jt=jo(Mn.fromTime),ct=jo(Mn.toTime),wn=null,In=0;In<gt.length;In++)for(var ko=0;ko<Rt.length;ko++){var Do=Math.sqrt((ct-Jt)*(ct-Jt)+(Rt[ko]-gt[In])*(Rt[ko]-gt[In]));(wn===null||Do<wn.len)&&(wn={y1:gt[In],y2:Rt[ko],len:Do})}if(e+=X(wr("tm"),"","endArrow=block;endFill=1;endSize=8;startArrow=none;strokeColor="+jn+";strokeWidth=1.5;",Jt,wn.y1,ct,wn.y2,"1"),Mn.label){var Rr=Math.atan2(ct-Jt,wn.y2-wn.y1),xr=20*Math.PI/180,br=(ct-Math.sin(Rr+xr)*8+ct-Math.sin(Rr-xr)*8)/2,Br=(wn.y2-Math.cos(Rr+xr)*8+wn.y2-Math.cos(Rr-xr)*8)/2,Pr=fr+2.6,Xe=wn.y1<wn.y2?Br-Pr:Br;e+=po("tml",Mn.label,br-2,Xe+13.6,fr,!1,jn,"left").replace("text;html=1;","text;html=1;fontFamily=Serif;")}}}var zr=r.timeAxis!=="hidden";if(zr){var Ke=Er;for(J=0;J<ao.length;J++)if(ao[J]>=0){Ke=ao[J];break}for(var De=jo(Ke),ze=0;ze<=1e3&&De+ze*z<=Qt+1e-6;)ze++;e+=X(wr("tax"),"",To(2),De,rn,De+Math.max(ze-1,0)*z,rn,"1");var So=[],ot=[],ve;if(r.timeAxis==="manual")for(J=0;J<ao.length;J++){var Yt=null;for(var At in r.codes||{})r.codes.hasOwnProperty(At)&&r.codes[At]===ao[J]&&(Yt=At);ot.push(jo(ao[J])),So.push({x:jo(ao[J]),text:Yt??fo(ao[J])})}else{for(ve=0;ve<ze;ve++)ot.push(De+ve*z);var ht=[];if(r.scale)for(ve=0;ve<=ae;ve++)ht.push(Mr*ve+ye(Sr));else for(J=0;J<ao.length;J++){var Vt=ye(ao[J]);ht.indexOf(Vt)<0&&ht.push(Vt)}for(ht.sort(function(Ae,Fe){return Ae-Fe}),ht[0]<0&&ht[ht.length-1]>0&&ht.indexOf(0)<0&&ht.push(0),ve=0;ve<ht.length;ve++)So.push({x:jo(ht[ve]),text:fo(ht[ve])})}for(ve=0;ve<ot.length;ve++)e+=X(wr("tk"),"",To(2),ot[ve],rn,ot[ve],rn+5,"1");for(ve=0;ve<So.length;ve++)e+=po("tal",So[ve].text,So[ve].x-(ne(So[ve].text,jr)+8)/2,rn+17.5,jr,!1,"#333333","center")}var Pn=zr?rn+21:rn+5;return e=er(wr("tanchor"),"","shape=text;strokeColor=none;fillColor=none;",Me-6,Io-6,Wo-Me+19,Pn-Io+12,"1")+e,e}var Wl=14.1328,_C=11.6,oh="endArrow=none;startArrow=none;strokeColor=#000000;strokeWidth=1;",th="endArrow=none;startArrow=none;strokeColor=#000000;strokeWidth=1.5;",OC="text;html=1;align=left;verticalAlign=middle;fontSize=12;fontColor=#000000;",FC={" ":278,"!":278,'"':355,"#":556,$:556,"%":889,"&":667,"'":191,"(":333,")":333,"*":389,"+":584,",":278,"-":333,".":278,"/":278,0:556,1:556,2:556,3:556,4:556,5:556,6:556,7:556,8:556,9:556,":":278,";":278,"<":584,"=":584,">":584,"?":556,"@":1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,"[":278,"\\":278,"]":278,"^":469,_:556,"`":333,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,"{":334,"|":260,"}":334,"~":584};function hs(r,a){if(!r)return 0;for(var e=0,h=0;h<r.length;h++){var l=FC[r.charAt(h)];l==null&&(l=556),e+=l}return e=e*.013,a&&(e*=1.05),e}function bC(r){var a="",e="",h=0;function l(A){return A+"_"+h++}if(!r.root)return"";function C(A,J,ur,Sr,Er){return s(l("sl"),A,OC+(Er?"fontStyle=1;":""),J-4,ur+_C-12.83,Sr+4,17.6,"1")}function b(A,J,ur,Sr){return G(l("sh"),"",Sr||oh,A,J,A+ur,J,"1")}function Z(A,J,ur,Sr){return G(l("sv"),"",Sr||oh,A,J,A,J+ur,"1")}function v(A,J){return{w:hs(A,J),h:Wl}}function er(A){return Math.max(hs(A.text,A.bold),(A.charLength||0)*8)}function X(A){if(!A)return{w:0,h:0};if(A.dim)return A.dim;var J,ur;switch(A.type){case"text":J=v(A.display,A.bold);break;case"empty":J={w:1,h:1};break;case"button":J={w:er(A)+9,h:Wl+9};break;case"textfield":J={w:er(A)+6,h:Wl+2};break;case"check":J={w:hs(A.text,A.bold)+20,h:Wl};break;case"droplist":J={w:er(A)+16,h:Wl+4};break;case"line":J={w:10,h:6};break;case"image":J={w:A.rows.length>0?A.rows[0].length:0,h:A.rows.length};break;case"tabbar":for(J={w:0,h:0},ur=0;ur<A.tabs.length;ur++){var Sr=hs(A.tabs[ur].text,A.tabs[ur].bold);A.vertical?(J.h+=Wl+15,J.w=Math.max(J.w,Sr)):(J.w+=Sr+15,J.h=Math.max(J.h,Wl))}break;case"menubar":for(J={w:0,h:0},ur=0;ur<A.entries.length;ur++){var Er=V(A.entries[ur]);J.w+=Er.w+10,J.h=Math.max(J.h,Er.h)}break;case"tree":J=yr(A);break;case"border":J=fr(A);break;case"pyramid":J=jr(A);break;default:J={w:0,h:0}}return A.dim=J,J}function V(A){return A==="-"?{w:10,h:5}:v(A,!1)}function tr(A){for(var J={w:0,h:0},ur=0;ur<A.length;ur++){var Sr=V(A[ur]);J.w=Math.max(J.w,Sr.w),J.h+=Sr.h}return J}function wr(A){for(var J=0,ur=[],Sr=0;Sr<A.entries.length;Sr++){var Er=A.entries[Sr];J=Math.max(J,hs(Er.text,Er.bold)+Er.level*10);for(var qr=0;qr<Er.cells.length;qr++){var z=hs(Er.cells[qr].text,Er.cells[qr].bold);ur[qr]=Math.max(ur[qr]||0,z)}}return{w1:J,other:ur}}function yr(A){for(var J=wr(A),ur=0,Sr=0;Sr<J.other.length;Sr++)ur>0&&(ur+=10),ur+=J.other[Sr];return ur>0&&(ur+=10),{w:J.w1+ur+2,h:A.entries.length*Wl}}function fr(A){var J=X(A.north),ur=X(A.south),Sr=X(A.east),Er=X(A.west),qr=X(A.center);return{w:Math.max(J.w,ur.w,Er.w+qr.w+Sr.w),h:J.h+Math.max(Er.h,qr.h,Sr.h)+ur.h}}function Ar(A){if(A.grid)return A.grid;var J=A.title?Wl:0,ur=[],Sr=[],Er;for(Er=0;Er<=A.rows;Er++)ur.push(J/2);for(Er=0;Er<=A.cols;Er++)Sr.push(0);var qr=A.cells.slice().sort(function(Te,ae){var it=Te.maxCol-Te.minCol-(ae.maxCol-ae.minCol);return it!==0?it:Te.minCol-ae.minCol});for(Er=0;Er<qr.length;Er++){var z=qr[Er],Mr=X(z.el).w+2,Be=Mr-(Sr[z.maxCol+1]-Sr[z.minCol]);if(Be>0)for(var ye=z.maxCol+1;ye<Sr.length;ye++)Sr[ye]+=Be}var Le=A.cells.slice().sort(function(Te,ae){var it=Te.maxRow-Te.minRow-(ae.maxRow-ae.minRow);return it!==0?it:Te.minRow-ae.minRow});for(Er=0;Er<Le.length;Er++){var _e=Le[Er],Ur=_e.minRow===0?J/2:0,yo=X(_e.el).h+Ur+2,fo=yo-(ur[_e.maxRow+1]-ur[_e.minRow]);if(fo>0)for(var he=_e.maxRow+1;he<ur.length;he++)ur[he]+=fo}return A.grid={rowsStart:ur,colsStart:Sr,titleH:J},A.grid}function jr(A){var J=Ar(A),ur={w:J.colsStart[J.colsStart.length-1],h:J.rowsStart[J.rowsStart.length-1]+J.titleH};return A.scroll==="h"?ur.h+=30:A.scroll==="v"?ur.w+=30:A.scroll==="both"&&(ur.w+=30,ur.h+=30),ur}function ce(A,J,ur,Sr,Er){if(A){var qr=X(A),z;switch(A.type){case"text":A.show&&A.display&&(a+=C(A.display,J,ur,qr.w,A.bold));break;case"button":a+=s(l("sb"),A.text||"","rounded=1;absoluteArcSize=1;arcSize=10;fillColor=#EEEEEE;strokeColor=#000000;strokeWidth=2.5;fontSize=12;fontColor=#000000;align=center;"+(A.bold?"fontStyle=1;":""),J+2.5,ur+2.5,qr.w-5,qr.h-5,"1");break;case"textfield":var Mr=hs(A.text,A.bold);A.text&&(a+=C(A.text,J+3,ur,Mr,A.bold)),a+=b(J+1,ur+Wl,qr.w-3),a+=Z(J+1,ur+Wl-3,2),a+=Z(J+3+Mr+1,ur+Wl-3,2);break;case"check":A.text&&(a+=C(A.text,J+20,ur,qr.w-20,A.bold)),A.radio?(a+=s(l("sro"),"","ellipse;fillColor=none;strokeColor=#000000;strokeWidth=1.5;",J+2,ur+(qr.h-10)/2,10,10,"1"),A.checked&&(a+=s(l("sri"),"","ellipse;fillColor=#000000;strokeColor=#000000;strokeWidth=1.5;",J+5,ur+(qr.h-4)/2,4,4,"1"))):(a+=s(l("sco"),"","rounded=0;fillColor=none;strokeColor=#000000;strokeWidth=1.5;",J+2,ur+(qr.h-10)/2,10,10,"1"),A.checked&&(a+=G(l("sck"),"",th,J+3,ur+6,J+6,ur+9,"1"),a+=G(l("sck"),"",th,J+6,ur+9,J+13,ur,"1")));break;case"droplist":if(a+=s(l("sd"),A.text||"","rounded=0;fillColor=#EEEEEE;strokeColor=#000000;strokeWidth=1;fontSize=12;fontColor=#000000;align=left;verticalAlign=middle;spacingLeft=-2;"+(A.bold?"fontStyle=1;":""),J,ur,qr.w-1,qr.h-1,"1"),a+=Z(J+qr.w-12,ur,qr.h-1),a+=s(l("sdt"),"","triangle;direction=south;fillColor=#000000;strokeColor=#000000;strokeWidth=1;",J+qr.w-9,ur+6,6,Wl-8,"1"),A.open&&A.open.length>0){var Be={w:qr.w-1,h:0},ye;for(ye=0;ye<A.open.length;ye++)Be.w=Math.max(Be.w,hs(A.open[ye],!1)),Be.h+=Wl;for(a+=s(l("sdo"),"","rounded=0;fillColor=#EEEEEE;strokeColor=#000000;strokeWidth=1;",J,ur+qr.h-1,Be.w-1,Be.h-1,"1"),ye=0;ye<A.open.length;ye++)a+=C(A.open[ye],J,ur+qr.h-1+ye*Wl,hs(A.open[ye],!1),!1)}break;case"line":var Le=ur+Er/2,_e="endArrow=none;startArrow=none;strokeColor=#AAAAAA;strokeWidth=1;";A.ch==="="?(a+=b(J,Le-1,Sr,_e),a+=b(J,Le+1,Sr,_e)):A.ch==="."?a+=b(J,Le,Sr,_e+"dashed=1;dashPattern=1 2;"):A.ch==="-"?a+=b(J,Le,Sr,_e):a+=b(J,Le,Sr,"endArrow=none;startArrow=none;strokeColor=#AAAAAA;strokeWidth=1.5;");break;case"image":for(z=0;z<A.rows.length;z++)for(var Ur=A.rows[z],yo=-1,fo=0;fo<=Ur.length;fo++){var he=fo<Ur.length&&Ur.charAt(fo)==="X";he&&yo<0?yo=fo:!he&&yo>=0&&(a+=G(l("sim"),"","endArrow=none;startArrow=none;strokeColor=#000000;strokeWidth=1;",J+yo,ur+z+.5,J+fo,ur+z+.5,"1"),yo=-1)}break;case"tabbar":Nr(A,J,ur);break;case"menubar":de(A,J,ur,Sr,Er);break;case"tree":Fr(A,J,ur);break;case"border":var Te=X(A.north),ae=X(A.south),it=X(A.east),Gt=X(A.west);ce(A.north,J,ur,Sr,Er),ce(A.south,J,ur+Er-ae.h,Sr,Er),ce(A.west,J,ur+Te.h,Sr,Er),ce(A.east,J+Sr-it.w,ur+Te.h,Sr,Er),ce(A.center,J+Gt.w,ur+Te.h,Sr,Er);break;case"pyramid":qe(A,J,ur);break}}}function Nr(A,J,ur){for(var Sr=X(A),Er=J,qr=ur,z=0;z<A.tabs.length;z++){var Mr=A.tabs[z],Be=hs(Mr.text,Mr.bold);A.vertical?(a+=C(Mr.text,J,qr+2,Be,Mr.bold),a+=b(J,qr,Sr.w),a+=Z(J,qr,Wl+5),a+=b(J,qr+Wl+5,Sr.w),a+=Z(J+Sr.w,qr+Wl+5,10),qr+=Wl+15):(a+=C(Mr.text,Er+2,ur,Be,Mr.bold),a+=Z(Er,ur,Wl),a+=b(Er,ur,Be+5),a+=Z(Er+Be+5,ur,Wl),a+=b(Er+Be+5,ur+Wl,10),Er+=Be+15)}}function de(A,J,ur,Sr,Er){var qr=X(A),z=J;a+=s(l("smb"),"","rounded=0;fillColor=#DDDDDD;strokeColor=#000000;strokeWidth=1;",J,ur,Sr,Er,"1");for(var Mr=0;Mr<A.entries.length;Mr++){var Be=A.entries[Mr],ye=V(Be);if(A.popups.hasOwnProperty(Be)){e+=s(l("smh"),"","rounded=0;fillColor=#BBBBBB;strokeColor=none;",z,ur,ye.w,ye.h,"1");var Le=A.popups[Be],_e=tr(Le),Ur=ur+qr.h;e+=s(l("smp"),"","rounded=0;fillColor=#DDDDDD;strokeColor=#000000;strokeWidth=1;",z,Ur,_e.w,_e.h,"1");for(var yo=0;yo<Le.length;yo++){var fo=V(Le[yo]);Le[yo]==="-"?e+=b(z,Ur+fo.h/2,_e.w):e+=C(Le[yo],z,Ur,fo.w,!1),Ur+=fo.h}}Be!=="-"&&(a+=C(Be,z,ur,ye.w,!1)),z+=ye.w+10}}function Fr(A,J,ur){var Sr=wr(A),Er=X(A),qr=0,z=[0],Mr=[0,Sr.w1+5],Be=[],ye,Le=Sr.w1+5;for(ye=0;ye<Sr.other.length;ye++)Le+=Sr.other[ye]+10,Mr.push(Le);for(ye=0;ye<A.entries.length;ye++){var _e=A.entries[ye],Ur=_e.level*10;_e.text&&(a+=C(_e.text,J+Ur,ur+qr,hs(_e.text,_e.bold),_e.bold));for(var yo=Sr.w1+10,fo=0;fo<_e.cells.length;fo++)_e.cells[fo].text&&(a+=C(_e.cells[fo].text,J+yo,ur+qr,hs(_e.cells[fo].text,_e.cells[fo].bold),_e.cells[fo].bold)),yo+=(Sr.other[fo]||0)+10;Be.push({x:Ur-7,y:qr+Wl/2-1}),qr+=Wl,z.push(qr)}var he="endArrow=none;startArrow=none;strokeColor=#888888;strokeWidth=1;";for(ye=0;ye<Be.length;ye++){var Te=Be[ye];ye+1<Be.length&&Be[ye+1].x>Te.x&&(a+=s(l("stq"),"","rounded=0;fillColor=none;strokeColor=#888888;strokeWidth=1;",J+Te.x,ur+Te.y,2,2,"1"));for(var ae=null,it=0;it<ye;it++)Be[it].x<Te.x&&(ae=Be[it]);ae&&(a+=Z(J+ae.x+1,ur+ae.y+3,Te.y-ae.y-2,he),a+=b(J+ae.x+1,ur+Te.y+1,Te.x-ae.x-2,he))}A.strategy!==" "&&Ir(z,Mr,A.strategy,J,ur)}function Ir(A,J,ur,Sr,Er){var qr=J[0],z=J[J.length-1],Mr=A[0],Be=A[A.length-1],ye;if((ur==="+"||ur==="^")&&(a+=b(Sr+qr,Er+Mr,z-qr),a+=b(Sr+qr,Er+Be,z-qr),a+=Z(Sr+qr,Er+Mr,Be-Mr),a+=Z(Sr+z,Er+Mr,Be-Mr)),ur==="-"||ur==="#")for(ye=0;ye<A.length;ye++)a+=b(Sr+qr,Er+A[ye],z-qr);if(ur==="!"||ur==="#")for(ye=0;ye<J.length;ye++)a+=Z(Sr+J[ye],Er+Mr,Be-Mr)}function qe(A,J,ur){var Sr=Ar(A),Er=Sr.rowsStart,qr=Sr.colsStart,z=A.strategy,Mr={},Be={},ye,Le,_e;for(ye=0;ye<A.cells.length;ye++){var Ur=A.cells[ye],yo=Ur.minRow===0?Sr.titleH/2:0,fo=qr[Ur.maxCol+1]-qr[Ur.minCol]-1,he=Er[Ur.maxRow+1]-Er[Ur.minRow]-1;if(ce(Ur.el,J+qr[Ur.minCol]+1,ur+Er[Ur.minRow]+yo+1,fo,he),z==="-"||z==="#")for(Le=Ur.minCol;Le<=Ur.maxCol;Le++)Mr[Ur.minRow+","+Le]=!0,Mr[Ur.maxRow+1+","+Le]=!0;if(z==="!"||z==="#")for(_e=Ur.minRow;_e<=Ur.maxRow;_e++)Be[_e+","+Ur.minCol]=!0,Be[_e+","+(Ur.maxCol+1)]=!0}if(z==="+"||z==="^"||z==="#"){for(Le=0;Le<qr.length-1;Le++)Mr["0,"+Le]=!0,Mr[Er.length-1+","+Le]=!0;for(_e=0;_e<Er.length-1;_e++)Be[_e+",0"]=!0,Be[_e+","+(qr.length-1)]=!0}var Te;for(Te in Mr)if(Mr.hasOwnProperty(Te)){var ae=Te.split(",");_e=parseInt(ae[0],10),Le=parseInt(ae[1],10),a+=b(J+qr[Le],ur+Er[_e],qr[Le+1]-qr[Le])}for(Te in Be)if(Be.hasOwnProperty(Te)){var it=Te.split(",");_e=parseInt(it[0],10),Le=parseInt(it[1],10),a+=Z(J+qr[Le],ur+Er[_e],Er[_e+1]-Er[_e])}if(A.title){var Gt=hs(A.title,!1);a+=s(l("sgt"),"","rounded=0;fillColor=#FFFFFF;strokeColor=none;",J+6,ur,Gt,Sr.titleH,"1"),a+=C(A.title,J+6,ur,Gt,!1)}if(A.scroll){var oo={w:qr[qr.length-1],h:Er[Er.length-1]+Sr.titleH};(A.scroll==="both"||A.scroll==="v")&&To(J+oo.w+4,ur,15,oo.h,!0),(A.scroll==="both"||A.scroll==="h")&&To(J,ur+oo.h+4,oo.w,15,!1)}}function To(A,J,ur,Sr,Er){a+=s(l("ssb"),"","rounded=0;fillColor=none;strokeColor=#000000;strokeWidth=1;",A,J,ur,Sr,"1"),Er?(a+=b(A,J+12,ur),a+=b(A,J+Sr-12,ur),a+=s(l("sst"),"","triangle;direction=north;fillColor=#000000;strokeColor=#000000;",A+4,J+4,6,5,"1"),a+=s(l("sst"),"","triangle;direction=south;fillColor=#000000;strokeColor=#000000;",A+4,J+Sr-12+4,6,5,"1")):(a+=Z(A+12,J,Sr),a+=Z(A+ur-12,J,Sr),a+=s(l("sst"),"","triangle;direction=west;fillColor=#000000;strokeColor=#000000;",A+4,J+4,5,6,"1"),a+=s(l("sst"),"","triangle;direction=east;fillColor=#000000;strokeColor=#000000;",A+ur-12+4,J+4,5,6,"1"))}var ne=r.root,po=X(ne);ce(ne,5,5,po.w,po.h);var ao=s(l("sanchor"),"","shape=text;strokeColor=none;fillColor=none;",0,0,po.w+10,po.h+10,"1");return ao+a+e}var qd=78,Zf=5,bf=36,yC=30,nh=44,EC=37.5,DC=45,SC=50,Zd=20;function BC(r,a){for(var e=String(r??""),h=0,l=0;l<e.length;l++){var C=e.charAt(l);`iIljtfr.,:;!|'"()[]{} `.indexOf(C)>=0?h+=4.2:"mwMW".indexOf(C)>=0?h+=11.7:h+=7.8}return h*(a/14)}function jd(r){return Math.max(nh,BC(r,12)+20)}function TC(r){var a=r.networks,e="",h=0,l,C,b=r.styleSheet||null;function Z(oe,Uo,Ot,ho){return W(oe,b,["root","element","nwdiagDiagram",Uo],[],Ot||"vertex",ho)}function v(oe){return oe+"_"+h++}if(a.length===0)return"";var er=nh;for(l=0;l<a.length;l++){var X=a[l].nodes;for(C=0;C<X.length;C++){var V=jd(X[C].name);V>er&&(er=V)}}var tr=er+yC;function wr(oe){return qd+oe*tr+tr/2}var yr={};for(l=0;l<a.length;l++){var fr=a[l].nodes;for(C=0;C<fr.length;C++)yr[fr[C].name]===void 0&&(yr[fr[C].name]=l)}var Ar=[];for(l=0;l<a.length;l++)Ar[l]=!1;for(l=0;l<a.length;l++){var jr=a[l].nodes;for(C=0;C<jr.length;C++){var ce=yr[jr[C].name];ce!==void 0&&ce<l&&(Ar[ce]=!0)}}var Nr={},de=Zd,Fr=r.topNodes||[],Ir=r.links||[],qe=Zd;Fr.length>0&&(de=Zd+bf+26);var To=de;for(l=0;l<a.length;l++){var ne=a[l],po=ne.nodes;if(r.groups&&r.groups.length>0){for(var ao={},A=0;A<r.groups.length;A++)for(var J=0;J<r.groups[A].nodes.length;J++)ao[r.groups[A].nodes[J]]=A;for(var ur=[],Sr=0;Sr<po.length;Sr++)ur.push({n:po[Sr],g:ao[po[Sr].name]!==void 0?ao[po[Sr].name]:-1,i:Sr});ur.sort(function(oe,Uo){return oe.g-Uo.g||oe.i-Uo.i}),po=[];for(var Er=0;Er<ur.length;Er++)po.push(ur[Er].n)}var qr=de,z=[],Mr=0,Be=1/0,ye=-1/0;for(C=0;C<po.length;C++){var Le=Nr[po[C].name]?Nr[po[C].name].col:Mr++;z[C]=Le,Le<Be&&(Be=Le),Le>ye&&(ye=Le)}Be===1/0&&(Be=0,ye=0);var _e=qd+Be*tr,Ur=(ye-Be+1)*tr;e+=s(v("nwbar"),"",Z("fillColor=#E2E2F0;strokeColor=#181818;strokeWidth=1;","network","vertex",["strokeWidth"]),_e,qr,Ur,Zf,"1");var yo=ne.name+(ne.address?`
250
+ `+ne.address:"");e+=s(v("nwlbl"),yo,Z("shape=text;strokeColor=none;fillColor=none;fontSize=12;fontColor=#000000;align=right;verticalAlign=middle;","network","text"),0,qr-15,qd-3,34,"1");var fo=Ar[l]?DC:EC,he=qr+Zf+fo,Te=qr+Zf;for(C=0;C<po.length;C++){var ae=po[C],it=wr(z[C]),Gt=ae.address||"";if(Nr[ae.name]){var oo=Nr[ae.name];e+=G(v("nwsh"),Gt,"endArrow=none;strokeColor=#181818;fontSize=11;fontColor=#000000;",oo.cx,oo.bottomY,oo.cx,qr,"1");continue}var pt=jd(ae.name),rt=it-pt/2,jo=bf,Qt="shape=rectangle;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;fontSize=12;fontColor=#000000;align=center;";ae.shape==="cloud"?(Qt="shape=cloud;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;fontSize=12;fontColor=#000000;align=center;",jo=bf+12):ae.shape==="database"&&(Qt="shape=cylinder;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;fontSize=12;fontColor=#000000;align=center;verticalAlign=bottom;spacingBottom=4;",jo=bf+16),e+=s(v("nwnode"),ae.name,Z(Qt,"server"),rt,he,pt,jo,"1"),e+=G(v("nwe"),Gt,Z("endArrow=none;strokeColor=#181818;fontSize=11;fontColor=#000000;","arrow","edge"),it,qr+Zf,it,he,"1"),Nr[ae.name]={col:z[C],cx:it,bottomY:he+jo,x:rt,topY:he,w:pt,h:jo};var Me=he+jo;Me>Te&&(Te=Me)}de=Te+SC}for(l=0;l<Fr.length;l++){var Io=Fr[l],Wo=null;for(C=0;C<Ir.length;C++){if(Ir[C].from===Io.name&&Nr[Ir[C].to]){Wo=Nr[Ir[C].to];break}if(Ir[C].to===Io.name&&Nr[Ir[C].from]){Wo=Nr[Ir[C].from];break}}var Ro=Wo?Wo.cx:wr(l),An=jd(Io.name)+(Io.shape==="cloud"?24:0),dn=bf+(Io.shape==="cloud"?12:0),rn=Io.shape==="cloud"?"shape=cloud;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;fontSize=12;fontColor=#000000;align=center;":"shape=rectangle;fillColor=#F1F1F1;strokeColor=#181818;strokeWidth=0.5;fontSize=12;fontColor=#000000;align=center;";e+=s(v("nwtop"),Io.name,Z(rn,"server"),Ro-An/2,qe,An,dn,"1"),e+=G(v("nwte"),"",Z("endArrow=none;strokeColor=#181818;","arrow","edge"),Ro,qe+dn,Ro,To,"1")}var Ao="",_t=r.groups||[];for(l=0;l<_t.length;l++){var ft=_t[l],Se=1/0,Go=1/0,wt=-1/0,cn=-1/0;for(C=0;C<ft.nodes.length;C++){var No=Nr[ft.nodes[C]];No&&(No.x<Se&&(Se=No.x),No.topY<Go&&(Go=No.topY),No.x+No.w>wt&&(wt=No.x+No.w),No.topY+No.h>cn&&(cn=No.topY+No.h))}Se!==1/0&&(Ao+=s(v("nwgrp"),"",Z("rounded=0;fillColor="+(Y(ft.color)||"#FFEFDF")+";strokeColor=none;","group","vertex",ft.color?["fillColor","gradientColor"]:null),Se-10,Go-8,wt-Se+20,cn-Go+16,"1"))}return Ao+e}var IC={Motivation:"#CCCCFF",Strategy:"#F8E7C0",Business:"#FFFFCC",Application:"#C2F0FF",Technology:"#C9FFC9",Physical:"#97FF97",Implementation:"#FFE0E0",Other:"#D3D3D3",Junction:"#D3D3D3"};function NC(r){if(r.category==="Junction"){if(r.kind==="And")return"#000000";if(r.kind==="Or")return"#F5F5F5"}if(r.category==="Other"&&r.kind==="Location")return"#EFD1E4";if(r.color){var a=Y(r.color);if(a)return a}return IC[r.category]||"#EEEEEE"}var LC={Process:1,Function:1,Interaction:1,Service:1,Event:1,Capability:1,CourseOfAction:1,ValueStream:1},GC={Stakeholder:["role","oct"],Driver:["driver","oct"],Assessment:["assess","oct"],Goal:["goal","oct"],Outcome:["outcome","oct"],Principle:["principle","oct"],Requirement:["requirement","oct"],Constraint:["constraint","oct"],Meaning:["meaning","oct"],Value:["amValue","oct"],Resource:["resource","square"],Capability:["capability","rounded"],CourseOfAction:["course","rounded"],ValueStream:["valueStream","rounded"],Actor:["actor","square"],Role:["role","square"],Collaboration:["collab","square"],Interface:["interface","square"],Process:["proc","rounded"],Function:["func","rounded"],Interaction:["interaction","rounded"],Event:["event","rounded"],Service:["serv","rounded"],Object:["passive","square"],DataObject:["passive","square"],Contract:["contract","square"],Representation:["representation","square"],Product:["product","square"],Location:["location","square"],Component:["comp","square"],Node:["node","square"],Device:["device","square"],SystemSoftware:["sysSw","square"],Path:["path","square"],CommunicationNetwork:["netw","square"],Artifact:["artifact","square"],Equipment:["equipment","square"],Facility:["facility","square"],DistributionNetwork:["distribution","square"],Material:["material","square"],WorkPackage:["workPackage","rounded"],Deliverable:["deliverable","square"],Plateau:["plateau","square"],Gap:["gap","square"]};function wC(r){var a=GC[r.kind];if(a)return a;var e=r.category==="Motivation"?"oct":LC[r.kind]?"rounded":"square";return["generic",e]}function PC(r,a){var e="",h=0;function l(je){return je+"_"+h++}var C=54,b=35,Z=114,v=134,er=16,X=12,V=40,tr=20,wr=16,yr=22,fr=16,Ar=20,jr=16,ce={},Nr={},de=er;function Fr(je){je>de&&(de=je)}function Ir(je,_r){return Math.round(zi(je||"",_r)*.925)}function qe(je){return Math.max(140,Ir(je)+20)}function To(je){return je.category==="Junction"}function ne(je){return To(je)?jr:qe(je.label||je.id)}function po(je){return To(je)?jr:C+15*(String(je.label||"").split(`
251
+ `).length-1)}var ao=r.styleSheet||null;function A(je,_r){if(ao==null)return je;var Ho=["root","element","componentDiagram","archimate"],Ce=_r.stereotype?[_r.stereotype]:[],ln=H(ao,Ho,Ce,"vertex");delete ln.fillColor,delete ln.gradientColor,delete ln.rounded,delete ln.arcSize;var nt=M(je,ln);if(/archiType=/.test(nt)){var wo=kt.userStyle(ao,Ho,Ce);kt.asDouble(wo,"DiagonalCorner",0)>0?nt=nt.replace(/archiType=\w+;/,"archiType=oct;"):kt.asDouble(wo,"RoundCorner",0)>0&&(nt=nt.replace(/archiType=\w+;/,"archiType=rounded;"))}return nt}function J(je){var _r=NC(je);if(To(je))return A("ellipse;html=1;fillColor="+_r+";strokeColor=#181818;fontColor=#000000;strokeWidth=0.5;verticalLabelPosition=bottom;verticalAlign=top;fontSize="+X+";",je);var Ho="whiteSpace=wrap;html=1;fillColor="+_r+";strokeColor=#181818;fontColor=#000000;strokeWidth=0.5;fontSize="+X+";",Ce=wC(je);return A("shape=mxgraph.archimate3.application;appType="+Ce[0]+";archiType="+Ce[1]+";"+Ho,je)}for(var ur={__root__:[]},Sr=0;Sr<r.shapes.length;Sr++){var Er=r.shapes[Sr],qr=Er.parent||"__root__";ur[qr]||(ur[qr]=[]),ur[qr].push(Er)}var z=er+(r.title?V:0);function Mr(je,_r,Ho){var Ce=ne(je),ln=po(je),nt=l("arc");return ce[je.id]=nt,e+=s(nt,je.label||je.id,J(je),_r,Ho,Ce,ln,"1"),Fr(_r+Ce),{w:Ce,h:ln}}function Be(je,_r,Ho){for(var Ce=ur[je.id]||[],ln=(je.kind||"").toLowerCase()==="group",nt=0,wo=C,xn=0;xn<Ce.length;xn++){nt+=ne(Ce[xn]),xn>0&&(nt+=b);var Lt=po(Ce[xn]);Lt>wo&&(wo=Lt)}Ce.length===0&&(nt=120);var Ft=nt+2*wr,fe=tr+yr+wo+fr,ge=l("grp");Nr[je.id]=ge;var qt=Ir(je.label||je.id,!0)+12;qt>Ft-10&&(qt=Ft-10);var et="shape=folder;tabWidth="+qt+";tabHeight="+tr+";tabPosition=left;html=1;whiteSpace=wrap;fontStyle=1;fontSize="+X+";align=left;verticalAlign=top;spacingLeft=4;spacingTop=-2;strokeWidth=1.5;"+(ln?"fillColor=#D3D3D3;strokeColor=#000000;fontColor=#000000;":"fillColor=#FFFFFF;strokeColor=#444444;dashed=1;fontColor=#444444;");e+=s(ge,je.label||je.id,et,_r,Ho,Ft,fe,"1"),Fr(_r+Ft);for(var en=wr,Zt=tr+yr,qn=0;qn<Ce.length;qn++){var Ko=Ce[qn],Hn=ne(Ko),aa=po(Ko),Je=l("arc");ce[Ko.id]=Je,e+=s(Je,Ko.label||Ko.id,J(Ko),en,Zt+(wo-aa)/2,Hn,aa,ge),en+=Hn+b}return{w:Ft,h:fe}}var ye=r.edges&&r.edges.length>0,Le=r.shapes.length>0&&ur.__root__.length===0&&r.groups.length>0,_e=z;if(ye){for(var Ur={},yo=0;yo<r.shapes.length;yo++)Ur[r.shapes[yo].id]=yo;for(var fo=[],he=0;he<r.shapes.length;he++)fo[he]=0;for(var Te=0;Te<r.shapes.length;Te++)for(var ae=0;ae<r.edges.length;ae++){var it=Ur[r.edges[ae].from],Gt=Ur[r.edges[ae].to];it===void 0||Gt===void 0||fo[Gt]<fo[it]+1&&(fo[Gt]=fo[it]+1)}for(var oo={},pt=0,rt=0;rt<r.shapes.length;rt++){var jo=fo[rt];jo>pt&&(pt=jo),(oo[jo]=oo[jo]||[]).push(r.shapes[rt])}for(var Qt=r.title?Math.round(r.title.length*8):0,Me=Qt,Io=0;Io<=pt;Io++){for(var Wo=oo[Io]||[],Ro=0,An=0;An<Wo.length;An++)Ro+=ne(Wo[An]),An>0&&(Ro+=b);Ro>Me&&(Me=Ro)}for(var dn=0;dn<=pt;dn++){for(var rn=oo[dn]||[],Ao=0,_t=0;_t<rn.length;_t++)Ao+=ne(rn[_t]),_t>0&&(Ao+=b);for(var ft=er+(Me-Ao)/2,Se=z+dn*v,Go=0;Go<rn.length;Go++)Mr(rn[Go],ft,Se),ft+=ne(rn[Go])+b;_e=Se+C}}else if(Le)for(var wt=er,cn=0;cn<r.groups.length;cn++){var No=Be(r.groups[cn],wt,z);wt+=No.w+Ar,z+No.h>_e&&(_e=z+No.h)}else{for(var oe=ur.__root__,Uo=Math.max(1,Math.ceil(Math.sqrt(oe.length))),Ot=er,ho=z,dt=C,Aa=er,Sn=0;Sn<oe.length;Sn++){var an=oe[Sn],we=ne(an);Sn>0&&Sn%Uo===0&&(Ot=er,ho+=Z,dt=C);var Eo=Mr(an,Ot,ho);Ot+=we+b,ho===z&&(Aa=Ot-b),Eo.h>dt&&(dt=Eo.h)}if(_e=ho+dt,r.groups.length>0){for(var Et=Aa+(oe.length>0?21:0),Cr=0,Lr=0;Lr<r.groups.length;Lr++){var He=Be(r.groups[Lr],Et,z);Et+=He.w+Ar,He.h>Cr&&(Cr=He.h)}z+Cr>_e&&(_e=z+Cr)}}for(var Ie=0;Ie<r.edges.length;Ie++){var Oe=r.edges[Ie],so=ce[Oe.from]||Nr[Oe.from],Xo=ce[Oe.to]||Nr[Oe.to];!so||!Xo||(e+=vr(l("rel"),Oe.label||"","endArrow=block;endFill=1;endSize=8;startArrow=oval;startFill=1;startSize=10;html=1;strokeColor=#000000;fontColor=#000000;fontSize=13;labelBackgroundColor=#FFFFFF;",so,Xo,"1"))}if(r.legend&&r.legend.lines&&r.legend.lines.length>0){var qo=We(r.legend.lines),Yn=er,Nt=_e+20;e+=Tt(qo,Yn,Nt,l,"none"),Fr(Yn+qo.w)}if(r.title){var Da=Math.max(120,de-er,Math.round(r.title.length*8));e+=s(l("title"),r.title,"rounded=0;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",er,er,Da,30,"1")}return e}var ah={Person:{fill:"#08427B",stroke:"#073B6F",font:"#FFFFFF",extFill:"#686868",extStroke:"#666666"},System:{fill:"#1168BD",stroke:"#3C7FC0",font:"#FFFFFF",extFill:"#999999",extStroke:"#8A8A8A"},Container:{fill:"#438DD5",stroke:"#3C7FC0",font:"#FFFFFF",extFill:"#B3B3B3",extStroke:"#8A8A8A"},Component:{fill:"#85BBF0",stroke:"#78A8D8",font:"#000000",extFill:"#CCCCCC",extStroke:"#8A8A8A"}},YC=210;function MC(r,a){var e=ah[r]||ah.Component,h=/_ext$|^ext$/.test(a||"")||/ext/.test(a||""),l=h?e.extFill:e.fill,C=h?e.extStroke:e.stroke,b="html=1;whiteSpace=wrap;fillColor="+l+";strokeColor="+C+";fontColor="+e.font+";strokeWidth=0.5;fontSize=14;verticalAlign=top;spacingTop=6;";return/db/.test(a||"")?"shape=cylinder3;size=10;boundedLbl=1;backgroundOutline=1;"+b:/queue/.test(a||"")?"shape=queue;"+b:(r==="Person"||/person/.test(a||""),"rounded=0;"+b)}function xC(r,a){var e="",h=0;function l(Fe){return Fe+"_"+h++}var C=YC,b=90,Z=r.nodesep||45,v=r.ranksep||55,er=r.nodesep||50,X=30,V=40,tr=16,wr=r.nodesep?Math.round(r.nodesep/2+3):tr,yr=30,fr={},Ar={},jr={},ce=!r.hasLegend,Nr={};function de(Fe){return Nr[Fe.id]||(Nr[Fe.id]=WC(Fe,ce)),Nr[Fe.id]}function Fr(Fe,le,Ne,Qe,tn,Vo,xo,Co){var mn=l("c4");fr[Fe.id]=mn,jr[Fe.id]={x:xo===void 0?le:xo,y:Co===void 0?Ne:Co,w:Qe,h:tn};var pn=MC(Fe.category,Fe.variant),hn=Fe.category==="Person";hn&&!ce&&(pn+="spacingTop=57;");var Dt=K(mn,HC(Fe,ce),pn,le,Ne,Qe,tn,Vo);if(hn){var ca=Qe/2,ea=ce?26:10;Dt+=s(l("c4sp"),"","shape=mxgraph.c4.person2;fillColor=#FFFFFF;strokeColor=none;",ca-24,ea,48,48,mn)}return Dt}for(var Ir={},qe={},To=0;To<r.boundaries.length;To++){var ne=r.boundaries[To];ne.stereotype&&ne.stereotype.toLowerCase()==="layout"&&(Ir[ne.id]=!0)}function po(Fe){for(;Fe&&Ir[Fe];){for(var le=null,Ne=0;Ne<r.boundaries.length;Ne++)if(r.boundaries[Ne].id===Fe){le=r.boundaries[Ne].parent;break}Fe=le}return Fe}for(var ao=[],A=0;A<r.boundaries.length;A++){var J=r.boundaries[A];Ir[J.id]||ao.push({id:J.id,label:J.label,kind:J.kind,stereotype:J.stereotype,children:J.children,parent:po(J.parent)})}for(var ur={__root__:[]},Sr=0;Sr<r.shapes.length;Sr++){var Er=r.shapes[Sr],qr=Er.parent||"__root__",z=qr==="__root__"?"__root__":po(qr)||"__root__";ur[z]||(ur[z]=[]),ur[z].push(Er),qe[Er.id]=z}var Mr=X,Be=Mr,ye=r.title?Wu(r.title).length:0,Le=ye?ye*20+4:0;r.title&&(Mr+=Le+20);for(var _e=[],Ur={},yo=0;yo<ao.length;yo++)Ur[ao[yo].id]=_e.length,_e.push({boundary:ao[yo]});for(var fo=ur.__root__,he=0;he<fo.length;he++)Ur[fo[he].id]=_e.length,_e.push({shape:fo[he]});function Te(Fe){if(Ur[Fe]!==void 0)return Ur[Fe];var le=qe[Fe];return le&&le!=="__root__"&&Ur[le]!==void 0?Ur[le]:-1}for(var ae=[],it=0;it<r.edges.length;it++){var Gt=r.edges[it];ae.push({from:Gt.back?Gt.to:Gt.from,to:Gt.back?Gt.from:Gt.to,label:Gt.label,technology:Gt.technology,direction:Gt.direction})}function oo(Fe,le){for(var Ne=[],Qe=0;Qe<Fe;Qe++)Ne.push(0);for(var tn=0;tn<=Fe;tn++){for(var Vo=!1,xo=0;xo<le.length;xo++){var Co=le[xo];Co.from<0||Co.to<0||Co.from===Co.to||Co.direction==="left"||Co.direction==="right"||Ne[Co.to]<Ne[Co.from]+1&&(Ne[Co.to]=Ne[Co.from]+1,Vo=!0)}if(!Vo)break}for(var mn=0;mn<Fe;mn++){for(var pn=!1,hn=0;hn<le.length;hn++){var Dt=le[hn];Dt.from<0||Dt.to<0||Dt.from===Dt.to||(Dt.direction==="left"||Dt.direction==="right")&&Ne[Dt.to]!==Ne[Dt.from]&&(Ne[Dt.to]=Ne[Dt.from],pn=!0)}if(!pn)break}return Ne}for(var pt=[],rt=0;rt<ae.length;rt++)pt.push({from:Te(ae[rt].from),to:Te(ae[rt].to),direction:ae[rt].direction});for(var jo=oo(_e.length,pt),Qt=0;Qt<_e.length;Qt++){var Me=_e[Qt];if(Me.shape){var Io=de(Me.shape);Me.w=Io.w,Me.h=Io.h;continue}for(var Wo=ur[Me.boundary.id]||[],Ro={},An=0;An<Wo.length;An++)Ro[Wo[An].id]=An;for(var dn=[],rn=0;rn<ae.length;rn++){var Ao=Ro[ae[rn].from],_t=Ro[ae[rn].to];dn.push({from:Ao===void 0?-1:Ao,to:_t===void 0?-1:_t,direction:ae[rn].direction})}for(var ft=oo(Wo.length,dn),Se=[],Go=0;Go<Wo.length;Go++){var wt=ft[Go];Se[wt]||(Se[wt]=[]),Se[wt].push(Wo[Go])}Me.childRows=[],Me.rowHs=[];for(var cn=0,No=0,oe=0;oe<Se.length;oe++)if(!(!Se[oe]||!Se[oe].length)){for(var Uo=Se[oe],Ot=0,ho=0,dt=0;dt<Uo.length;dt++){var Aa=de(Uo[dt]);Ot+=Aa.w+(dt?er:0),ho=Math.max(ho,Aa.h)}Me.childRows.push(Uo),Me.rowHs.push(ho),cn=Math.max(cn,Ot),No+=ho+(Me.childRows.length>1?v:0)}Wo.length===0&&(cn=C-2*tr,No=40),Me.w=cn+2*wr,Me.h=V+tr+No+tr}for(var Sn=[],an=0;an<_e.length;an++){var we=jo[an];Sn[we]||(Sn[we]=[]),Sn[we].push(_e[an])}for(var Eo=[],Et=[],Cr=0,Lr=0;Lr<Sn.length;Lr++)if(!(!Sn[Lr]||!Sn[Lr].length)){for(var He=Sn[Lr],Ie=0,Oe=0;Oe<He.length;Oe++)Ie+=He[Oe].w+(Oe?Z:0);Eo.push(He),Et.push(Ie),Cr=Math.max(Cr,Ie)}r.title&&(e+=K(l("c4title"),R(r.title).replace(/&#10;/g,"<br>"),"text;html=1;rounded=0;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",X,Be,Cr,Le,"1"));for(var so=0;so<Eo.length;so++){for(var Xo=Eo[so],qo=X+(Cr-Et[so])/2,Yn=0,Nt=0;Nt<Xo.length;Nt++)Yn=Math.max(Yn,Xo[Nt].h);for(var Da=0;Da<Xo.length;Da++){var je=Xo[Da];if(je.shape)e+=Fr(je.shape,qo,Mr,je.w,je.h,"1");else{var _r=l("bnd");Ar[je.boundary.id]=_r;var Ho='<font style="font-size:16px;"><b>'+R(je.boundary.label||je.boundary.id)+"</b></font><br>["+XC(je.boundary)+"]",Ce="rounded=0;html=1;whiteSpace=wrap;fillColor=none;strokeColor=#444444;dashed=1;dashPattern=7 7;verticalAlign=top;align=center;fontColor=#444444;fontSize=12;";e+=K(_r,Ho,Ce,qo,Mr,je.w,je.h,"1"),jr[je.boundary.id]={x:qo,y:Mr,w:je.w,h:je.h};for(var ln=qo,nt=Mr,wo=V+tr,xn=0;xn<je.childRows.length;xn++){for(var Lt=je.childRows[xn],Ft=0,fe=0;fe<Lt.length;fe++)Ft+=de(Lt[fe]).w+(fe?er:0);for(var ge=(je.w-Ft)/2,qt=0;qt<Lt.length;qt++){var et=Lt[qt],en=de(et);e+=Fr(et,ge,wo,en.w,en.h,_r,ln+ge,nt+wo),ge+=en.w+er}wo+=je.rowHs[xn]+v}}qo+=je.w+Z}Mr+=Yn+b}for(var Zt=[],qn=0;qn<r.edges.length;qn++){var Ko=r.edges[qn],Hn=fr[Ko.from]||Ar[Ko.from],aa=fr[Ko.to]||Ar[Ko.to];if(!(!Hn||!aa)){if(Ko.back){var Je=Hn;Hn=aa,aa=Je}var sn="endArrow=block;endFill=1;endSize=5;html=1;strokeColor=#666666;fontColor=#666666;fontSize=12;fontStyle=1;";r.linetype==="ortho"?sn+="edgeStyle=orthogonalEdgeStyle;rounded=0;":sn+="curved=1;";var Bn=[];if(Ko.label)for(var $t=Wu(Ko.label),mo=0;mo<$t.length;mo++)Bn.push({t:$t[mo],b:!0});Ko.technology&&Bn.push({t:"["+Ko.technology+"]",i:!0});var Pt=jr[Ko.from],ra=jr[Ko.to];if(Bn.length&&Pt&&ra){for(var Ut=[],Wn=0,yt=Bn.length,Zn=0;Zn<Bn.length;Zn++){var on=Bn[Zn],va=R(on.t);Ut.push(on.b?"<b>"+va+"</b>":on.i?"<i>"+va+"</i>":va),Wn=Math.max(Wn,yf(on.t,12,!!on.b))}var ga=Math.ceil(Wn)+10,jn=yt*16+4,Fn=Pt.x+Pt.w/2,Mn=Pt.y+Pt.h/2,la=ra.x+ra.w/2,Tn=ra.y+ra.h/2,gt=(Fn+la)/2,Rt=(Mn+Tn)/2,Jt=Math.abs(Tn-Mn)>=Math.abs(la-Fn),ct,wn,In;Jt?(ct=gt+4,wn=Rt-jn/2,In="left"):(ct=gt-ga/2,wn=Rt-jn/2,In="center"),Zt.push({html:Ut.join("<br>"),x:ct,y:wn,w:ga,h:jn,align:In})}e+=vr(l("rel"),"",sn,Hn,aa,"1")}}for(var ko=0;ko<Zt.length;ko++)if(!Zt[ko].done){var Do=[Zt[ko]];Zt[ko].done=!0;for(var Rr=ko+1;Rr<Zt.length;Rr++){var xr=Zt[Rr];if(!xr.done)for(var br=0;br<Do.length;br++){var Br=Do[br];if(xr.x<Br.x+Br.w+4&&Br.x<xr.x+xr.w+4&&xr.y<Br.y+Br.h&&Br.y<xr.y+xr.h){Do.push(xr),xr.done=!0;break}}}if(Do.length>1){Do.sort(function(Fe,le){return Fe.x-le.x});for(var Pr=0,Xe=0,zr=0;zr<Do.length;zr++)Pr=Math.max(Pr,Do[zr].w),Xe+=Do[zr].x+Do[zr].w/2;Xe/=Do.length;for(var Ke=Pr+24,De=Xe-Ke*(Do.length-1)/2,ze=0;ze<Do.length;ze++)Do[ze].x=De+ze*Ke-Do[ze].w/2}}for(var So=0;So<Zt.length;So++){var ot=Zt[So];e+=K(l("rellbl"),ot.html,"text;html=1;fillColor=none;strokeColor=none;fontSize=12;fontColor=#666666;align="+ot.align+";verticalAlign=middle;whiteSpace=nowrap;",Math.round(ot.x),Math.round(ot.y),ot.w,ot.h,"1")}if(r.hasLegend){var ve=[{fill:"#08427B",label:"person"},{fill:"#1168BD",label:"system"},{fill:"#438DD5",label:"container"}];r.hasComponent&&ve.push({fill:"#85BBF0",label:"component"}),ve.push({fill:"#686868",label:"external person"},{fill:"#999999",label:"external system"},{fill:"#B3B3B3",label:"external container"}),r.hasComponent&&ve.push({fill:"#CCCCCC",label:"external component"});var Yt=19,At=140,ht=X+Math.max(0,Cr-At),Vt=Mr-b+40;e+=s(l("lg"),"Legend","text;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=left;verticalAlign=middle;",ht,Vt,At,18,"1"),Vt+=18;for(var Pn=0;Pn<ve.length;Pn++){var Ae=ve[Pn];e+=s(l("lg"),Ae.label,"rounded=0;fillColor="+Ae.fill+";strokeColor=none;fontSize=12;fontColor=#FFFFFF;align=left;spacingLeft=6;",ht,Vt+Pn*Yt,At,Yt,"1")}}return e}function Wu(r){return String(r??"").split(/\\n|&#10;|\r?\n/)}function HC(r,a){var e=[];a&&e.push('<font style="font-size:12px;"><i>\xAB'+R(String(r.category||"").toLowerCase())+"\xBB</i></font>"),r.category==="Person"&&a&&e.push('<font style="font-size:36px;">&#160;</font>');for(var h=Wu(r.label||r.id),l=0;l<h.length;l++)e.push('<font style="font-size:16px;"><b>'+R(h[l])+"</b></font>");if(r.technology&&e.push('<font style="font-size:12px;"><i>['+R(r.technology)+"]</i></font>"),r.description){e.push("");for(var C=Wu(r.description),b=0;b<C.length;b++)e.push(R(C[b]))}return e.join("<br>")}function KC(r){return r==="\u23AF"||r==="\u2014"||r==="\u2015"?13.4:`iIljtfr.,:;!|'"()[]{} `.indexOf(r)>=0?4.2:"mwMW".indexOf(r)>=0?11.7:7.8}function yf(r,a,e){for(var h=String(r??""),l=0,C=0;C<h.length;C++)l+=KC(h.charAt(C));return l*(a/14)*(e?1.08:1)}function lh(r,a,e,h){var l=yf(r,a,e);if(!r||l<=h)return{count:1,maxW:l};for(var C=String(r).split(/\s+/),b="",Z=0,v=0,er=0;er<C.length;er++){var X=b?b+" "+C[er]:C[er];b&&yf(X,a,e)>h?(Z++,v=Math.max(v,yf(b,a,e)),b=C[er]):b=X}return b&&(Z++,v=Math.max(v,yf(b,a,e))),{count:Z||1,maxW:v||l}}function zC(r,a){var e=[];a&&e.push({text:"\xAB"+String(r.category||"").toLowerCase()+"\xBB",size:12,bold:!1,kind:"stereo"});for(var h=Wu(r.label||r.id),l=0;l<h.length;l++)e.push({text:h[l],size:16,bold:!0,kind:"name"});if(r.technology&&e.push({text:"["+r.technology+"]",size:12,bold:!1,kind:"tech"}),r.description){e.push({text:"",size:14,bold:!1,kind:"blank"});for(var C=Wu(r.description),b=0;b<C.length;b++)e.push({text:C[b],size:14,bold:!1,kind:"desc"})}return e}var UC=200,Jd=20;function WC(r,a){var e=zC(r,a),h=r.category==="Person",l,C=0;for(l=0;l<e.length;l++)e[l].text&&(C=Math.max(C,lh(e[l].text,e[l].size,e[l].bold,UC).maxW));var b=Math.ceil(C)+Jd,Z=b-8,v=0,er=0,X=0,V=0;for(C=0,l=0;l<e.length;l++){var tr=e[l],wr=tr.text?lh(tr.text,tr.size,tr.bold,Z):{count:1,maxW:0};tr.text&&(C=Math.max(C,wr.maxW)),tr.kind==="name"?v+=wr.count:tr.kind==="desc"?er+=wr.count:tr.kind==="tech"?X+=wr.count:tr.kind==="stereo"&&(V+=wr.count)}b=Math.max(b,Math.ceil(C)+Jd);var yr=!!r.description,fr=Jd+V*16.3+(h?48:0)+v*21.8+X*16.3+(yr?19.04+er*19.04:0);return/db/.test(r.variant||"")&&(fr+=20),{w:b,h:Math.round(Math.max(h?110:66,fr)),sprite:h}}function XC(r){var a=(r.kind||"").toLowerCase();return a.indexOf("container")===0?"container":a.indexOf("system")===0?"system":a.indexOf("enterprise")===0?"enterprise":(r.stereotype||"boundary").toLowerCase()}var ih=[["account-login","account-logout","action-redo","action-undo","align-center","align-left","align-right","aperture","arrow-bottom","arrow-circle-bottom","arrow-circle-left","arrow-circle-right","arrow-circle-top","arrow-left","arrow-right","arrow-thick-bottom","arrow-thick-left","arrow-thick-right","arrow-thick-top","arrow-top","audio-spectrum","audio","badge","ban","bar-chart","basket","battery-empty","battery-full","beaker"],["bell","bluetooth","bold","bolt","book","bookmark","box","briefcase","british-pound","browser","brush","bug","bullhorn","calculator","calendar","camera-slr","caret-bottom","caret-left","caret-right","caret-top","cart","chat","check","chevron-bottom","chevron-left","chevron-right","chevron-top","circle-check","circle-x","clipboard","clock","cloud-download","cloud-upload"],["cloud","cloudy","code","cog","collapse-down","collapse-left","collapse-right","collapse-up","command","comment-square","compass","contrast","copywriting","credit-card","crop","dashboard","data-transfer-download","data-transfer-upload","delete","dial","document","dollar","double-quote-sans-left","double-quote-sans-right","double-quote-serif-left","double-quote-serif-right","droplet","eject","elevator","ellipses","envelope-closed","envelope-open","euro"],["excerpt","expand-down","expand-left","expand-right","expand-up","external-link","eye","eyedropper","file","fire","flag","flash","folder","fork","fullscreen-enter","fullscreen-exit","globe","graph","grid-four-up","grid-three-up","grid-two-up","hard-drive","header","headphones","heart","home","image","inbox","infinity","info","italic","justify-center","justify-left"],["justify-right","key","laptop","layers","lightbulb","link-broken","link-intact","list-rich","list","location","lock-locked","lock-unlocked","loop-circular","loop-square","loop","magnifying-glass","map-marker","map","media-pause","media-play","media-record","media-skip-backward","media-skip-forward","media-step-backward","media-step-forward","media-stop","medical-cross","menu","microphone","minus","monitor","moon","move"],["musical-note","paperclip","pencil","people","person","phone","pie-chart","pin","play-circle","plus","power-standby","print","project","pulse","puzzle-piece","question-mark","rain","random","reload","resize-both","resize-height","resize-width","rss-alt","rss","script","share-boxed","share","shield","signal","signpost","sort-ascending","sort-descending","spreadsheet"],["star","sun","tablet","tag","tags","target","task","terminal","text","thumb-down","thumb-up","timer","transfer","trash","underline","vertical-align-bottom","vertical-align-center","vertical-align-top","video","volume-high","volume-low","volume-off","warning","wifi","wrench","x","yen","zoom-in","zoom-out"]],qC=[14,179,293,453,565,710,825],ZC=[69,4,4,4,4,4,4];function jC(r){r=r||{};var a="",e=8,h=0;function l(de){for(var Fr=0,Ir=0;Ir<de.length;Ir++)Fr=Math.max(Fr,u(de[Ir]).length);return Fr}function C(de){for(var Fr=[],Ir=0;Ir<de.length;Ir++){var qe=de[Ir];/^(?:<#\w+>)?\|.*\|$/.test(qe)&&(qe=qe.replace(/^(?:<#\w+>)?\|\s*|\s*\|$/g,"").split("|").map(function(To){return To.replace(/^\s+|\s+$/g,"").replace(/^=\s*/,"").replace(/^<#\w+>\s*/,"").replace(/^<[lrc]>\s*/,"")}).join(" ")),Fr.push(qe)}return Fr}function b(de,Fr,Ir,qe){var To=de.split(`
252
+ `),ne=Math.max(50,l(To)*Ir*(qe?.62:.56)+24),po=To.length*(Ir+5)+16;a+=s("t_"+h++,de,Fr,5,e,ne,po,"1"),e+=po+6}if(r.header&&b(r.header,"text;html=1;fillColor=none;strokeColor=none;fontSize=10;fontColor=#000000;align=right;verticalAlign=middle;",10,!1),r.title){var Z=r.title.split(`
253
+ `),v=Math.max(50,l(Z)*8+24),er=Z.length>1?Z.length*19+16:39;a+=K("t_title",n(r.title),"text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontStyle=1;fontColor=#000000;align=center;verticalAlign=middle;",5,e,v,er,"1"),e+=er+6}for(var X=r.notes||[],V=0;V<X.length;V++){var tr=C(X[V].lines),wr=tr.join(`
254
+ `),yr=Math.max(40,l(tr)*7+26),fr=Math.max(1,tr.length)*17+12,Ar=X[V].color&&Y(X[V].color)||"#FEFFDD";a+=s("t_note"+V,wr,"shape=note;size=10;fillColor="+Ar+";strokeColor=#181818;fontColor=#000000;fontSize=12;align=left;spacingLeft=6;verticalAlign=middle;whiteSpace=wrap;html=1;",5,e,yr,fr,"1"),e+=fr+10}if(r.legend&&r.legend.lines&&r.legend.lines.length){var jr=C(r.legend.lines),ce=Math.max(40,l(jr)*7+26),Nr=jr.length*17+12;a+=s("t_legend",jr.join(`
255
+ `),"rounded=0;fillColor=#DDDDDD;strokeColor=#000000;strokeWidth=1;fontColor=#000000;fontSize=12;align=left;spacingLeft=8;verticalAlign=middle;whiteSpace=wrap;html=1;",5,e,ce,Nr,"1"),e+=Nr+6}return r.caption&&b(r.caption,"text;html=1;fillColor=none;strokeColor=none;fontSize=14;fontColor=#000000;align=center;verticalAlign=middle;",14,!1),r.footer&&b(r.footer,"text;html=1;fillColor=none;strokeColor=none;fontSize=10;fontColor=#000000;align=right;verticalAlign=middle;",10,!1),a}function JC(){var r="",a=0;function e(Z,v,er,X,V,tr){return' <mxCell id="oi'+a+++'" value="'+Z+'" style="'+v+`" vertex="1" parent="1">
256
+ <mxGeometry x="`+er+'" y="'+X+'" width="'+V+'" height="'+tr+`" as="geometry"/>
257
+ </mxCell>
258
+ `}var h="text;html=1;fontSize=12;fontColor=#000000;align=left;verticalAlign=top;spacingTop=0;";r+=e(d("List Open Iconic"),h+"fontStyle=1;",1,4,150,18),r+=e(d("Credit to"),h+"fontStyle=2;",1,20,150,18),r+=e(d("https://useiconic.com/open"),h,1,36,180,18);for(var l=0;l<ih.length;l++){var C=ih[l],b=C.length*16+6;r+=e(d(C.join(`
259
+ `)),h,qC[l],ZC[l],115,b)}return r}var sh=[["archimate","Version 1.1.0","Delivered by https://github.com/plantuml-stdlib/Archimate-PlantUML"],["aws","Version 18.02.22","Delivered by https://github.com/milo-minderbinder/AWS-PlantUML"],["awslib","Version 14.0.0","Delivered by https://github.com/awslabs/aws-icons-for-plantuml"],["azure","Version 2.2.0","Delivered by https://github.com/plantuml-stdlib/Azure-PlantUML"],["c4","Version 2.10.0","Delivered by https://github.com/plantuml-stdlib/C4-PlantUML"],["classy","Version 1.0.2","Delivered by https://github.com/james-gadrow-kr/classy-plantuml"],["classy-c4","Version 1.0.3","Delivered by https://github.com/james-gadrow-kr/classy-c4"],["cloudinsight","Version 1.0.0","Delivered by https://github.com/plantuml-stdlib/cicon-plantuml-sprites"],["cloudogu","Version 1.0.2","Delivered by https://github.com/cloudogu/plantuml-cloudogu-sprites"],["domainstory","Version 0.3","Delivered by https://github.com/johthor/DomainStory-PlantUML"],["edgy","Version 0.8.0","Delivered by https://github.com/boessu/plantuml-stdlib"],["eip","Version 1.0.0","Delivered by https://github.com/plantuml-stdlib/EIP-PlantUML"],["elastic","Version 0.0.1","Delivered by https://github.com/Crashedmind/PlantUML-Elastic-icons"],["gcp","Version 6.0.0","Delivered by https://github.com/Crashedmind/PlantUML-icons-GCP"],["k8s","Version 1.0.0","Delivered by https://github.com/dcasati/kubernetes-PlantUML"],["kubernetes","Version 5.3.45","Delivered by https://github.com/plantuml-stdlib/plantuml-kubernetes-sprites"],["logos","Version 1.1.0","Delivered by https://github.com/plantuml-stdlib/gilbarbara-plantuml-sprites"],["material","Version 0.0.1","Delivered by https://github.com/Templarian/MaterialDesign"],["office","Version 1.0.0","Delivered by https://github.com/Roemer/plantuml-office"],["osa","Version 0.0.1","Delivered by https://github.com/Crashedmind/PlantUML-opensecurityarchitecture-icons"],["osa2","Version 0.0.1","Delivered by https://github.com/Crashedmind/PlantUML-opensecurityarchitecture2-icons"],["tupadr3","Version 3.0.0","Delivered by https://github.com/tupadr3/plantuml-icon-font-sprites"]];function VC(){for(var r="",a=4,e=0;e<sh.length;e++){var h=sh[e];r+=s("sl_"+e+"_n",h[0],"text;html=1;fontSize=12;fontStyle=1;fontFamily=monospace;fontColor=#000000;align=left;verticalAlign=middle;",5,a,600,14,"1"),r+=s("sl_"+e+"_v",h[1],"text;html=1;fontSize=12;fontFamily=monospace;fontColor=#000000;align=left;verticalAlign=middle;",5,a+14.5,600,14,"1"),r+=s("sl_"+e+"_d",h[2],"text;html=1;fontSize=12;fontFamily=monospace;fontColor=#000000;align=left;verticalAlign=middle;",5,a+29,609,14,"1"),a+=65.7}return r}function QC(r,a){a=a||{};var e="";r.type==="sequence"&&r.ir?e=zt(r.ir,a):r.type==="state"&&r.ir?e=Un(r.ir,a):r.type==="class"&&r.ir?e=Ni(r.ir,a):r.type==="activity"&&r.ir?e=cu(r.ir,a):r.type==="activityLegacy"&&r.ir?e=Du(r.ir,a):r.type==="component"&&r.ir?e=vu(r.ir,a):r.type==="object"&&r.ir?e=Gd(r.ir,a):r.type==="useCase"&&r.ir?e=Uh(r.ir,a):r.type==="mindmap"&&r.ir?e=cC(r.ir,a):r.type==="wbs"&&r.ir?e=pC(r.ir,a):r.type==="json"&&r.ir?e=eh(r.ir):r.type==="yaml"&&r.ir?e=RC(r.ir,a):r.type==="gantt"&&r.ir?e=mC(r.ir,a):r.type==="timing"&&r.ir?e=kC(r.ir,a):r.type==="salt"&&r.ir?e=bC(r.ir,a):r.type==="network"&&r.ir?e=TC(r.ir,a):r.type==="archimate"&&r.ir?e=PC(r.ir,a):r.type==="c4"&&r.ir?e=xC(r.ir,a):r.type==="titleOnly"?e=jC(r.ir):r.type==="openiconicList"?e=JC():r.type==="stdlib"&&(e=VC()),r.ir&&r.type!=="openiconicList"&&r.type!=="stdlib"&&(e+=jt(r.ir,e,r.ir.styleSheet)),r.ir&&r.ir.styleSheet&&(kt.hasUserRules(r.ir.styleSheet)&&(e=gr(e,r.ir.styleSheet)),/^(?:true|on|yes)$/i.test(String(r.ir.styleSheet.skinparams.handwritten||""))&&(e=e.replace(/ style="([^"]*)"/g,function(Z,v){return/(?:^|;)sketch=/.test(v)?Z:' style="'+v+(v.length>0&&v.charAt(v.length-1)!==";"?";":"")+'sketch=1;"'})));var h=null;if(r.ir&&r.ir.styleSheet){var l=kt.pageBackground(r.ir.styleSheet);if(l==null&&(r.type==="timing"||r.type==="salt")&&(l=kt.color(kt.userStyle(r.ir.styleSheet,["root","element",r.type+"Diagram"]),"BackGroundColor")),l!=null&&l!=="none"){var C=$r(l);h=C!=null&&C.fill!=="none"?C.fill:null}}var b="<mxGraphModel"+(h!=null?' background="'+d(h)+'"':"")+`>
260
+ <root>
261
+ <mxCell id="0"></mxCell>
262
+ <mxCell id="1" parent="0"></mxCell>
263
+ `+e+` </root>
264
+ </mxGraphModel>`;return b}return{themeDefaults:pr,registerShape:Xr,createMxGraph:Tr,build:se,buildXml:QC}})();var dd=(function(){function pr(){return typeof mxCodec<"u"&&typeof mxUtils<"u"&&typeof Graph<"u"}function q(Tr,se){var Kr=Xr(Tr,se);return Kr.xml}function Xr(Tr,se){se=se||{};var Kr=zl.parse(Tr,se),Dr=of.buildXml(Kr,se),ar=Kr.config||se,Y=vo.collect(ar),$r=(Dr.match(/<mxCell\b/g)||[]).length;if($r<=2){var rr=vo.typeLabel(Kr.type),H=vo.statementCount(ar),M=ar._droppedLines||0,j="the "+rr+" produced no shapes";H===0?j+=": the body has no statements":M>0?j+=": "+(M>=H?"none of":H-M+" of")+" its "+H+" statement line"+(H===1?"":"s")+(M>=H||H-M===1?" was":" were")+" understood (see the dropped-line warnings)":j+=" from its "+H+" statement line"+(H===1?"":"s")+"; nothing in them is drawn by this converter yet",Y.unshift({code:"empty-result",message:j,line:null})}for(var gr=[],W=0;W<Y.length;W++)gr.push(vo.format(Y[W]));return{xml:Dr,type:Kr.type,warnings:gr,diagnostics:Y}}return{convert:q,convertWithMeta:Xr}})();var Kh=(function(){var pr="group;transparentBounds=1;editIcon=1;lockedGroup=0;groupPadding=10;";function q(rr,H){$r.lastWarnings=[],$r.lastDiagnostics=[];var M=dd.convertWithMeta(rr,H||{});return $r.lastWarnings=M.warnings,$r.lastDiagnostics=M.diagnostics,M}function Xr(rr,H){return q(rr,H).xml}function Tr(rr){return String(rr).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/\r/g,"&#13;").replace(/\n/g,"&#10;").replace(/\t/g,"&#9;")}var se=0;function Kr(rr){for(var H=/<mxCell id="([^"]*)"( value="([^"]*)")?( style="([^"]*)")([^>]*edge="1"[^>]*)>\s*<mxGeometry relative="1" as="geometry">\s*<mxPoint x="([-0-9.]+)" y="([-0-9.]+)" as="sourcePoint"\/>\s*<mxPoint x="([-0-9.]+)" y="([-0-9.]+)" as="targetPoint"\/>\s*<\/mxGeometry>\s*<\/mxCell>\n?/g,M=[],j;(j=H.exec(rr))!=null;){var gr=j[6];gr.indexOf(' source="')>=0||gr.indexOf(' target="')>=0||gr.indexOf('parent="1"')<0||M.push({all:j[0],id:j[1],value:j[3]||"",style:j[5]||"",rest:gr,sx:j[7],sy:j[8],tx:j[9],ty:j[10]})}if(M.length<2)return rr;function W(Yr,Zr){var Ee=new RegExp(Zr+"=([^;]*)").exec(Yr);return Ee!=null?Ee[1]:""}function d(Yr,Zr){return W(Yr.style,"strokeColor")===W(Zr.style,"strokeColor")&&W(Yr.style,"dashed")===W(Zr.style,"dashed")&&W(Yr.style,"dashPattern")===W(Zr.style,"dashPattern")}for(var _={},p=0;p<M.length;p++){var E=M[p].sx+","+M[p].sy;_[E]=_[E]===void 0?p:-1}for(var L={},N={},p=0;p<M.length;p++)if(!L[p]){for(var m=M[p],u=[m],R=m;W(R.style,"endArrow")==="none";){var o=_[R.tx+","+R.ty];if(o===void 0||o===-1||L[o]||o===p)break;var t=M[o];if(!d(R,t)||t.value!==""&&u.some(function(Zr){return Zr.value!==""}))break;u.push(t),L[o]=!0,R=t}if(!(u.length<2)){for(var n=null,f=0;f<u.length;f++)if(u[f].value!==""){n=u[f];break}var O=u[u.length-1].style;if(n!=null&&n!==u[u.length-1])for(var g=["fontSize","fontColor","labelBackgroundColor","verticalAlign"],Q=0;Q<g.length;Q++){var x=W(n.style,g[Q]);x!==""&&W(O,g[Q])===""&&(O+=g[Q]+"="+x+";")}for(var I="",f=0;f<u.length-1;f++)I+='<mxPoint x="'+u[f].tx+'" y="'+u[f].ty+'"/>';var w="";if(n!=null){for(var nr=0,lr=0,ir=0,f=0;f<u.length;f++){var mr=u[f],Or=Math.sqrt(Math.pow(mr.tx-mr.sx,2)+Math.pow(mr.ty-mr.sy,2));mr===n?ir=Or:ir===0&&(lr+=Or),nr+=Or}if(nr>0){var Qr=Math.round((2*(lr+ir/2)/nr-1)*1e3)/1e3;Qr!==0&&(w=' x="'+Qr+'"')}}var ee=u[u.length-1],re='<mxCell id="'+m.id+'" value="'+(n!=null?n.value:"")+'" style="'+O+`" edge="1" parent="1">
265
+ <mxGeometry relative="1"`+w+` as="geometry">
266
+ <mxPoint x="`+m.sx+'" y="'+m.sy+`" as="sourcePoint"/>
267
+ <mxPoint x="`+ee.tx+'" y="'+ee.ty+`" as="targetPoint"/>
268
+ <Array as="points">`+I+`</Array>
269
+ </mxGeometry>
270
+ </mxCell>
271
+ `;N[p]=re}}for(var p=0;p<M.length;p++)N[p]!=null?rr=rr.replace(M[p].all,N[p]):L[p]&&(rr=rr.replace(M[p].all,""));return rr}function Dr(rr){var H={},M=[],j=/<mxCell id="([^"]*)"(?: value="[^"]*")?(?: style="([^"]*)")?([^>]*)>\s*(?:<mxGeometry ([^>]*?)\/>|<mxGeometry ([^>]*?)>)/g,gr;function W(g,Q){var x=new RegExp(Q+'="([^"]*)"').exec(g);return x!=null?x[1]:null}for(;(gr=j.exec(rr))!=null;){var d=gr[3]||"",_=gr[4]!=null?gr[4]:gr[5]||"",p={id:gr[1],style:gr[2]||"",vertex:d.indexOf('vertex="1"')>=0,parent:W(d,"parent"),x:parseFloat(W(_,"x"))||0,y:parseFloat(W(_,"y"))||0,w:parseFloat(W(_,"width"))||0,h:parseFloat(W(_,"height"))||0};H[p.id]=p,M.push(p)}function E(g){for(var Q=g.x,x=g.y,I=H[g.parent],w=0;I!=null&&I.id!=="0"&&I.id!=="1"&&w++<20;)Q+=I.x,x+=I.y,I=H[I.parent];return{x:Q,y:x}}for(var L=[],N=0;N<M.length;N++){var m=M[N];if(!(!m.vertex||m.w<=0||m.h<=0||m.style.indexOf("text;")===0||m.style.indexOf("connectable=0")>=0||m.style.indexOf("line;")===0)){var u=E(m),R=m.style.indexOf("shape=umlLifeline")>=0,o=/(?:^|;)size=([0-9.]+)/.exec(m.style);L.push({id:m.id,x:u.x,y:u.y,w:m.w,h:m.h,style:m.style,lifeline:R,headSize:R&&o!=null?parseFloat(o[1]):m.h})}}var t=5;function n(g,Q){for(var x=null,I=t+1,w=1/0,nr=0;nr<L.length;nr++){var lr=L[nr];if(!(g<lr.x-t||g>lr.x+lr.w+t||Q<lr.y-t||Q>lr.y+lr.h+t)){if(lr.lifeline&&Q>lr.y+lr.headSize+t){var ir=Math.abs(g-(lr.x+lr.w/2));ir<=t&&(ir<I||ir===I&&lr.w*lr.h<w)&&(x=lr,I=ir,w=lr.w*lr.h);continue}var mr=lr.lifeline?lr.headSize:lr.h,Or=Math.max(lr.x-g,0,g-(lr.x+lr.w)),Qr=Math.max(lr.y-Q,0,Q-(lr.y+mr)),ee=Math.abs(g-lr.x),re=Math.abs(g-(lr.x+lr.w)),Yr=Math.abs(Q-lr.y),Zr=Math.abs(Q-(lr.y+mr)),Ee=g>=lr.x-t&&g<=lr.x+lr.w+t,Ze=Q>=lr.y-t&&Q<=lr.y+mr+t,eo=Math.min(Ze?ee:1/0,Ze?re:1/0,Ee?Yr:1/0,Ee?Zr:1/0);eo=Math.max(eo,Math.sqrt(Or*Or+Qr*Qr));var Gr=lr.w*lr.h;eo<=t&&(eo<I||eo===I&&Gr<w)&&(x=lr,I=eo,w=Gr)}}return x}function f(g){return Math.round(Math.max(0,Math.min(1,g))*1e3)/1e3}function O(g,Q,x,I){if(I==null)return!1;var w=g.style||"",nr=w.indexOf("ellipse")===0||w.indexOf("shape=endState")>=0;if(!nr&&(w.indexOf("shape=")>=0||w.indexOf("rhombus")===0))return!1;var lr=g.x+g.w/2,ir=g.y+g.h/2,mr=I.x-lr,Or=I.y-ir;if(mr===0&&Or===0)return!1;var Qr,ee;if(nr){var re=1/Math.sqrt(Math.pow(2*mr/g.w,2)+Math.pow(2*Or/g.h,2));Qr=lr+mr*re,ee=ir+Or*re}else{var Yr=mr!==0?g.w/2/Math.abs(mr):1/0,Zr=Or!==0?g.h/2/Math.abs(Or):1/0,Ee=Math.min(Yr,Zr);Qr=lr+mr*Ee,ee=ir+Or*Ee}return Math.abs(Qr-Q)<=2&&Math.abs(ee-x)<=2}return rr.replace(/<mxCell id="([^"]*)"( value="[^"]*")?( style="([^"]*)")([^>]*edge="1"[^>]*)>([\s\S]*?)<\/mxCell>/g,function(g,Q,x,I,w,nr,lr){if(nr.indexOf(' source="')>=0||nr.indexOf(' target="')>=0)return g;var ir=/<mxPoint x="([-0-9.]+)" y="([-0-9.]+)" as="sourcePoint"\/>/.exec(lr),mr=/<mxPoint x="([-0-9.]+)" y="([-0-9.]+)" as="targetPoint"\/>/.exec(lr);if(ir==null||mr==null)return g;for(var Or=/ parent="([^"]*)"/.exec(nr),Qr=Or!=null&&H[Or[1]]!=null?E({x:0,y:0,parent:Or[1]}):{x:0,y:0},ee=[],re=/<mxPoint x="([-0-9.]+)" y="([-0-9.]+)"\/>/g,Yr;(Yr=re.exec(lr))!=null;)ee.push({x:parseFloat(Yr[1])+Qr.x,y:parseFloat(Yr[2])+Qr.y});var Zr=parseFloat(ir[1])+Qr.x,Ee=parseFloat(ir[2])+Qr.y,Ze=parseFloat(mr[1])+Qr.x,eo=parseFloat(mr[2])+Qr.y,Gr=n(Zr,Ee),$e=n(Ze,eo);if(Gr==null&&$e==null)return g;var Ye="",Hr="";if(Gr!=null){Hr+=' source="'+Gr.id+'"';var Fo=ee.length>0?ee[0]:$e!=null?{x:$e.x+$e.w/2,y:$e.y+$e.h/2}:{x:Ze,y:eo};O(Gr,Zr,Ee,Fo)||(Ye+="exitX="+f((Zr-Gr.x)/Gr.w)+";exitY="+f((Ee-Gr.y)/Gr.h)+";exitDx=0;exitDy=0;")}if($e!=null&&!(Gr!=null&&$e.id===Gr.id)){Hr+=' target="'+$e.id+'"';var k=ee.length>0?ee[ee.length-1]:Gr!=null?{x:Gr.x+Gr.w/2,y:Gr.y+Gr.h/2}:{x:Zr,y:Ee};O($e,Ze,eo,k)||(Ye+="entryX="+f((Ze-$e.x)/$e.w)+";entryY="+f((eo-$e.y)/$e.h)+";entryDx=0;entryDy=0;")}return Hr===""?g:'<mxCell id="'+Q+'"'+(x||"")+' style="'+w+Ye+'"'+Hr+nr+">"+lr+"</mxCell>"})}function ar(rr){return rr.replace(/<mxCell id="([^"]*)"( value="([^"]*)")?( style="([^"]*)")([^>]*edge="1"[^>]*)>/g,function(H,M,j,gr,W,d,_){function p(R){return new RegExp("(?:^|;)"+R+"=").test(d)}function E(R){var o=new RegExp("(?:^|;)"+R+"=([^;]*)").exec(d);return o!=null?o[1]:null}var L="",N=E("endArrow"),m=E("startArrow");N==null&&(L+="endArrow=classic;",N="classic"),p("curved")||(L+="curved=0;"),p("rounded")||(L+="rounded=0;");var u=p("endSize")||p("startSize");return N!=="none"&&!p("endSize")&&(L+="endSize=6;",u=!0),m!=null&&m!=="none"&&!p("startSize")&&(L+="startSize=6;",u=!0),u||(L+="endSize=6;"),p("fontSize")||(L+="fontSize=11;"),!p("sourcePerimeterSpacing")&&!p("targetPerimeterSpacing")&&(L+="sourcePerimeterSpacing=0;targetPerimeterSpacing=0;"),L===""?H:(d!==""&&d.charAt(d.length-1)!==";"&&(d+=";"),'<mxCell id="'+M+'"'+(j||"")+' style="'+d+L+'"'+_+">")})}function Y(rr,H,M){if(rr==null||rr.indexOf("<mxCell")<0)return rr;rr=rr.replace(/<mxCell id="[^"]*" value="" style="text;fillColor=none;strokeColor=none;"[^>]*vertex="1"[^>]*>\s*<mxGeometry [^>]*width="0" height="0"[^>]*\/>\s*<\/mxCell>\n?/g,""),rr=Kr(rr),rr=Dr(rr),rr=ar(rr);var j="plantuml-"+ ++se,gr=!1,W=rr.replace(/<mxCell id="([^"]*)" value="([^"]*)" style="([^"]*)"([^>]*)>([\s\S]*?)<\/mxCell>/g,function(L,N,m,u,R,o){gr=!0;var t=R.replace(' parent="1"',' parent="'+j+'"');return'<UserObject label="'+m+'" plantUmlId="'+N+'" plantUmlBaseStyle="'+u+'" plantUmlBaseValue="'+m+'" id="'+N+'"><mxCell style="'+u+'"'+t+">"+o+"</mxCell></UserObject>"});if(!gr)return rr;var d=JSON.stringify({data:H,config:M||null},null,2),_='<UserObject label="" plantUmlData="'+Tr(d)+'" id="'+j+'"><mxCell style="'+pr+`" vertex="1" connectable="0" parent="1"><mxGeometry x="0" y="0" width="0" height="0" as="geometry"/></mxCell></UserObject>
272
+ `,p='<mxCell id="1" parent="0"></mxCell>',E=W.indexOf(p);return E<0?rr:W.slice(0,E+p.length)+`
273
+ `+_+W.slice(E+p.length)}var $r={groupStyle:pr,parseText:Xr,parseTextWithMeta:q,lastWarnings:[],lastDiagnostics:[],wrapGroup:Y};return $r})();var Gf=(function(){function pr(k,T){T=T||{};var D=zl.parse(k,T),S=of.buildXml(D,T);return q(S,T)}function q(k,T){T=T||{};var D=Xr(k);return Y(D),$r(D,T)}function Xr(k){for(var T=[],D=/<mxCell\b([^>]*?)(?:\/>|>([\s\S]*?)<\/mxCell>)/g,S;(S=D.exec(k))!==null;){var U=se(S[1]),P=S[2]||"",s=Tr(P);T.push({id:U.id||"",parent:U.parent||"",value:Dr(U.value||""),style:U.style||"",vertex:U.vertex==="1",edge:U.edge==="1",source:U.source||"",target:U.target||"",geometry:s,absX:0,absY:0})}return T}function Tr(k){var T=k.match(/<mxGeometry\b([^>]*)\/>/),D="";if(!T){if(T=k.match(/<mxGeometry\b([^>]*)>([\s\S]*?)<\/mxGeometry>/),!T)return null;D=T[2]}var S=se(T[1]),U={x:parseFloat(S.x)||0,y:parseFloat(S.y)||0,width:parseFloat(S.width)||0,height:parseFloat(S.height)||0,relative:S.relative==="1",offset:null,sourcePoint:null,targetPoint:null,points:null};if(D)for(var P=/<mxPoint\b([^>]*)\/>/g,s,$=/<Array\s+as="points">([\s\S]*?)<\/Array>/.exec(D),G=$?$[1]:"";(s=P.exec(D))!==null;){var B=se(s[1]),or={x:parseFloat(B.x)||0,y:parseFloat(B.y)||0};B.as==="sourcePoint"?U.sourcePoint=or:B.as==="targetPoint"?U.targetPoint=or:B.as==="offset"?U.offset=or:!B.as&&G.indexOf(s[0])>=0&&(U.points==null&&(U.points=[]),U.points.push(or))}return U}function se(k){for(var T={},D=/(\w[\w-]*)="([^"]*)"/g,S;(S=D.exec(k))!==null;)T[S[1]]=S[2];return T}function Kr(k){var T={};if(!k)return T;for(var D=k.split(";"),S=0;S<D.length;S++){var U=D[S].trim();if(U){var P=U.indexOf("=");P>0?T[U.slice(0,P).trim().toLowerCase()]=U.slice(P+1).trim():T.shape=U.toLowerCase()}}return T}function Dr(k){return String(k).replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&apos;/g,"'").replace(/&#(\d+);/g,function(T,D){return String.fromCharCode(parseInt(D,10))}).replace(/&#x([0-9a-fA-F]+);/g,function(T,D){return String.fromCharCode(parseInt(D,16))}).replace(/&amp;/g,"&")}function ar(k){return String(k).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Y(k){var T={};k.forEach(function(U){T[U.id]=U});function D(U){if(!U.geometry)return{x:0,y:0};var P=U.geometry.x,s=U.geometry.y,$=T[U.parent],G=0;if(U.geometry.relative&&$&&$.edge){var B=S($,U.geometry.x,U.geometry.y),or=U.geometry.offset||{x:0,y:0};return{x:B.x+or.x,y:B.y+or.y}}for(;$&&$.geometry&&$.id!=="0"&&$.id!=="1"&&G<20;)P+=$.geometry.x,s+=$.geometry.y,$=T[$.parent],G++;return{x:P,y:s}}function S(U,P,s){var $=U.geometry,G=D({geometry:{x:0,y:0},parent:U.parent}),B=[];if($&&$.sourcePoint&&$.targetPoint)B.push($.sourcePoint),$.points&&(B=B.concat($.points)),B.push($.targetPoint);else{var or=T[U.source],K=T[U.target];if(!or||!K||!or.geometry||!K.geometry)return{x:G.x,y:G.y};var hr=D(or),vr=D(K);B.push({x:hr.x+or.geometry.width/2-G.x,y:hr.y+or.geometry.height/2-G.y}),B.push({x:vr.x+K.geometry.width/2-G.x,y:vr.y+K.geometry.height/2-G.y})}for(var Jr=[],Ge=0,no=1;no<B.length;no++){var bo=B[no].x-B[no-1].x,Oo=B[no].y-B[no-1].y,We=Math.sqrt(bo*bo+Oo*Oo);Jr.push(We),Ge+=We}for(var Tt=(P/2+.5)*Ge,Cn=0,un=0;Cn<Jr.length-1&&Tt>=un+Jr[Cn];)un+=Jr[Cn],Cn++;var Kt=Jr[Cn]||0,ut=Kt===0?0:(Tt-un)/Kt,fn=B[Cn],vt=B[Cn+1]||fn,_o=vt.x-fn.x,Zo=vt.y-fn.y,jt=Kt===0?0:Zo/Kt,zt=Kt===0?0:_o/Kt;return{x:G.x+fn.x+_o*ut+jt*(s||0),y:G.y+fn.y+Zo*ut-zt*(s||0)}}k.forEach(function(U){if(U.geometry){var P=D(U);U.absX=P.x,U.absY=P.y}})}function $r(k,T){var D=rr(k),S=7,U=S-D.x,P=S-D.y,s=Math.max(1,Math.ceil(D.w+S*2)),$=Math.max(1,Math.ceil(D.h+S*2)),G=[];G.push('<?xml version="1.0" encoding="UTF-8" standalone="no"?>'),G.push('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+s+'" height="'+$+'" viewBox="0 0 '+s+" "+$+'" font-family="Helvetica, Arial, sans-serif">'),M={};var B=H(k),or=[];return B.forEach(function(K){if(K.edge){var hr=Ye(K,k,U,P);hr&&or.push(hr)}else K.geometry&&(K.vertex||K.value)&&or.push(gr(K,U,P))}),G.push(j()),G=G.concat(or),G.push("</svg>"),G.join(`
274
+ `)}function rr(k){var T=1/0,D=1/0,S=-1/0,U=-1/0;return k.forEach(function(P){if(P.geometry){if(P.vertex){if(P.absX<T&&(T=P.absX),P.absY<D&&(D=P.absY),P.absX+P.geometry.width>S&&(S=P.absX+P.geometry.width),P.absY+P.geometry.height>U&&(U=P.absY+P.geometry.height),P.value){var s=Kr(P.style),$=(s.labelposition||"").toLowerCase();if($==="left"||$==="right"){var G=parseInt(s.fontsize||"12",10),B=0;String(P.value).replace(/<br\s*\/?>/gi,`
275
+ `).replace(/<[^>]+>/g,"").split(`
276
+ `).forEach(function(Oo){var We=Zr(Oo,G,!1);We>B&&(B=We)}),$==="left"&&P.absX-B-8<T&&(T=P.absX-B-8),$==="right"&&P.absX+P.geometry.width+B+8>S&&(S=P.absX+P.geometry.width+B+8)}}}else if(P.edge){var or=P.geometry.sourcePoint,K=P.geometry.targetPoint,hr=[or,K];if(P.geometry.points&&(hr=hr.concat(P.geometry.points)),hr.forEach(function(Oo){Oo&&(Oo.x<T&&(T=Oo.x),Oo.y<D&&(D=Oo.y),Oo.x>S&&(S=Oo.x),Oo.y>U&&(U=Oo.y))}),P.value&&or&&K){var vr=Kr(P.style),Jr=parseInt(vr.fontsize||"12",10),Ge=P.geometry.x?(P.geometry.x+1)/2:.5,no=or.x+(K.x-or.x)*Ge,bo=0;String(P.value).replace(/<br\s*\/?>/gi,`
277
+ `).replace(/<[^>]+>/g,"").split(`
278
+ `).forEach(function(Oo){var We=Zr(Oo,Jr,!1);We>bo&&(bo=We)}),no-bo/2<T&&(T=no-bo/2),no+bo/2>S&&(S=no+bo/2)}}}}),T===1/0?{x:0,y:0,w:100,h:60}:{x:T,y:D,w:S-T,h:U-D}}function H(k){var T={},D={},S=[],U=[];k.forEach(function($){T[$.id]=$}),k.forEach(function($){$.parent!=null&&T[$.parent]?(D[$.parent]=D[$.parent]||[]).push($):S.push($)});function P($,G){if(!(G>20)){U.push($);for(var B=D[$.id]||[],or=0;or<B.length;or++)P(B[or],G+1)}}for(var s=0;s<S.length;s++)P(S[s],0);return U}var M={};function j(){var k=["<defs>"];for(var T in M)if(M.hasOwnProperty(T)){var D=M[T],S=D.color,U,P=11,s=10,$=9,G=4;switch(D.shape){case"halfcircle":s=16,G=8,U='<path d="M9,0 A8,8 0 0 0 9,16" fill="none" stroke="'+S+'"/>';break;case"classic":U='<path d="M0,0 L10,4 L0,8 L4,4 z" fill="'+S+'"/>';break;case"open":U='<path d="M0,0 L10,4 L0,8" fill="none" stroke="'+S+'"/>';break;case"blockfilled":U='<path d="M0,0 L10,4 L0,8 z" fill="'+S+'"/>';break;case"blockhollow":U='<path d="M0.5,0.5 L9.5,4 L0.5,7.5 z" fill="#FFFFFF" stroke="'+S+'"/>';break;case"diamondfilled":P=14,$=12,U='<path d="M0,4 L6,0 L12,4 L6,8 z" fill="'+S+'"/>';break;case"diamondhollow":P=14,$=12,U='<path d="M0.5,4 L6,0.5 L11.5,4 L6,7.5 z" fill="#FFFFFF" stroke="'+S+'"/>';break;case"oval":P=10,$=5,G=5,U='<circle cx="5" cy="5" r="4.5" fill="'+S+'"/>';break;case"cross":P=10,$=8,U='<path d="M1,0.5 L8,7.5 M1,7.5 L8,0.5" fill="none" stroke="'+S+'" stroke-width="1.5"/>';break;case"halftop":U='<path d="M0,0 L10,4 L0,4 z" fill="'+S+'"/>';break;case"halfbottom":U='<path d="M0,4 L10,4 L0,8 z" fill="'+S+'"/>';break;case"erone":P=12,$=10,U='<path d="M5,0 L5,8" fill="none" stroke="'+S+'"/>';break;case"ermandone":P=12,$=10,U='<path d="M3,0 L3,8 M7,0 L7,8" fill="none" stroke="'+S+'"/>';break;case"ermany":P=12,$=10,U='<path d="M0,4 L10,0 M0,4 L10,8 M0,4 L10,4" fill="none" stroke="'+S+'"/>';break;case"eronetomany":P=16,$=14,U='<path d="M2,0 L2,8 M4,4 L14,0 M4,4 L14,8 M4,4 L14,4" fill="none" stroke="'+S+'"/>';break;case"erzerotoone":P=16,$=14,U='<circle cx="4" cy="4" r="3" fill="#FFFFFF" stroke="'+S+'"/><path d="M10,0 L10,8" fill="none" stroke="'+S+'"/>';break;case"erzerotomany":P=18,$=16,U='<circle cx="4" cy="4" r="3" fill="#FFFFFF" stroke="'+S+'"/><path d="M8,4 L17,0 M8,4 L17,8 M8,4 L17,4" fill="none" stroke="'+S+'"/>';break;default:U='<path d="M0,0 L10,4 L0,8 L4,4 z" fill="'+S+'"/>'}D.scale&&D.scale!==1&&(U='<g transform="scale('+D.scale+')">'+U+"</g>",P=P*D.scale,$=$*D.scale,G=G*D.scale),D.start&&(U='<g transform="translate('+P+',0) scale(-1,1)">'+U+"</g>",$=P-$),k.push('<marker id="'+D.id+'" markerWidth="'+P+'" markerHeight="'+s*(D.scale||1)+'" refX="'+$+'" refY="'+G+'" orient="auto" markerUnits="userSpaceOnUse">'+U+"</marker>")}return k.push("</defs>"),k.join("")}function gr(k,T,D){var S=Kr(k.style),U=(S.shape||"rectangle").toLowerCase(),P=k.absX+T,s=k.absY+D,$=k.geometry.width,G=k.geometry.height,B=W(S),or=S.strokecolor||"#000000",K=S.strokewidth||"1",hr=S.dashed==="1",vr="";switch(U){case"ellipse":vr=E(P,s,$,G,B,or,K,hr);break;case"umlactor":vr=L(P,s,$,G,B,or);break;case"swimlane":vr=N(P,s,$,G,B,or,S);break;case"umlframe":vr=m(P,s,$,G,B,or,K,S);break;case"note":vr=u(P,s,$,G,B,or);break;case"hexagon":vr=t(R(P,s,$,G),B,or,K,hr);break;case"triangle":{var Jr=(S.direction||"east").toLowerCase(),Ge;Jr==="north"?Ge=[[P+$/2,s],[P+$,s+G],[P,s+G]]:Jr==="south"?Ge=[[P,s],[P+$,s],[P+$/2,s+G]]:Jr==="west"?Ge=[[P+$,s],[P+$,s+G],[P,s+G/2]]:Ge=[[P,s],[P+$,s+G/2],[P,s+G]],vr=t(Ge,B,or,K,hr);break}case"umllifeline":{var no=Math.max(0,Math.min(G,parseFloat(S.size)||40)),bo=S.lifelinemirror==="1",Oo=S.participant!=null,We=bo?s+G-no:s+G,Tt=Oo?"":p(P,s,$,no,B,or,K,S);s+no<We&&(Tt+='<line x1="'+(P+$/2)+'" y1="'+(s+no)+'" x2="'+(P+$/2)+'" y2="'+We+'" stroke="'+or+'" stroke-width="'+K+'" stroke-dasharray="5 5"/>'),bo&&!Oo&&(Tt+=p(P,s+G-no,$,no,B,or,K,S)),vr=Tt;break}case"table":vr=p(P,s,$,G,B,or,K,S);break;case"tablerow":{var Cn="";B!=="none"&&(Cn+='<rect x="'+P+'" y="'+s+'" width="'+$+'" height="'+G+'" fill="'+B+'" stroke="none"/>'),k.geometry.y>0&&(Cn+='<line x1="'+P+'" y1="'+s+'" x2="'+(P+$)+'" y2="'+s+'" stroke="'+or+'" stroke-width="1"/>'),vr=Cn;break}case"partialrectangle":{for(var un=B!=="none"?'<rect x="'+P+'" y="'+s+'" width="'+$+'" height="'+G+'" fill="'+B+'" stroke="none"/>':"",Kt=[["top",P,s,P+$,s],["bottom",P,s+G,P+$,s+G],["left",P,s,P,s+G],["right",P+$,s,P+$,s+G]],ut=0;ut<Kt.length;ut++)S[Kt[ut][0]]!=="0"&&S[Kt[ut][0]]!=null&&(un+='<line x1="'+Kt[ut][1]+'" y1="'+Kt[ut][2]+'" x2="'+Kt[ut][3]+'" y2="'+Kt[ut][4]+'" stroke="'+or+'" stroke-width="'+K+'"/>');vr=un;break}case"rhombus":vr=t([[P+$/2,s],[P+$,s+G/2],[P+$/2,s+G],[P,s+G/2]],B,or,K,hr);break;case"cylinder":vr=n(P,s,$,G,B,or,Math.min(40,G/5));break;case"cloud":case"mxgraph.basic.cloud_rect":vr=I(P,s,$,G,B,or);break;case"cube":vr=f(P,s,$,G,B,or,K);break;case"umlboundary":vr=O(P,s,$,G,B,or);break;case"umlcontrol":vr=g(P,s,$,G,B,or);break;case"umlentity":vr=Q(P,s,$,G,B,or);break;case"cylinder3":vr=S.direction==="east"?x(P,s,$,G,B,or,Math.min($/2,parseFloat(S.size)||15)):n(P,s,$,G,B,or,Math.min(G/2,parseFloat(S.size)||15));break;case"endstate":vr=w(P,s,$,G,or);break;case"doublecircle":vr=nr(P,s,$,G,B,or);break;case"component":vr=lr(P,s,$,G,B,or);break;case"card":vr=Or(P,s,$,G,B,or);break;case"mxgraph.archimate3.application":vr=ir(P,s,$,G,B,or,K,S);break;case"folder":vr=mr(P,s,$,G,B,or,K,S);break;case"process":vr=t(o(P,s,$,G),B,or,K,hr);break;case"queue":vr=Qr(P,s,$,G,B,or);break;case"cross":vr=ee(P,s,$,G,or);break;case"line":vr=re(P,s,$,G,or,K);break;case"text":vr=B!=="none"||S.strokecolor&&S.strokecolor!=="none"?p(P,s,$,G,B,S.strokecolor&&S.strokecolor!=="none"?S.strokecolor:"none",K,S):"";break;case"rectangle":default:vr=p(P,s,$,G,B,or,K,S);break}var fn=U==="umllifeline"?Math.max(0,Math.min(G,parseFloat(S.size)||40)):G,vt=Ze(k.value,P,s,$,fn,S,U);return U==="umllifeline"&&S.lifelinemirror==="1"&&(vt+=Ze(k.value,P,s+G-fn,$,fn,S,U)),vr+(vt?`
279
+ `+vt:"")}function W(k){var T=k.fillcolor;return!T||T==="none"?"none":T}function d(k){var T="";for(var D in k)k[D]!==""&&k[D]!==null&&k[D]!==void 0&&(T+=" "+D+'="'+k[D]+'"');return T}function _(k,T){if(!k)return"";var D=T?String(T).replace(/\s+/g,","):"5,5";return' stroke-dasharray="'+D+'"'}function p(k,T,D,S,U,P,s,$){var G=0;$.rounded==="1"&&(G=$.absolutearcsize==="1"&&$.arcsize?parseFloat($.arcsize)/2:$.arcsize?Math.min(D,S)*parseFloat($.arcsize)/100:10);var B=$.dashed==="1";return'<rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" rx="'+G+'" ry="'+G+'" fill="'+U+'" stroke="'+P+'" stroke-width="'+s+'"'+_(B,$.dashpattern)+"/>"}function E(k,T,D,S,U,P,s,$){var G=k+D/2,B=T+S/2,or=D/2,K=S/2;return'<ellipse cx="'+G+'" cy="'+B+'" rx="'+or+'" ry="'+K+'" fill="'+U+'" stroke="'+P+'" stroke-width="'+s+'"'+_($)+"/>"}function L(k,T,D,S,U,P){var s=k+D/2,$=Math.min(8,Math.min(D,S)*.2),G=T+$+2,B=G+$,or=T+S*.7,K=B+(or-B)*.2,hr=k+D*.15,vr=k+D*.85,Jr=k+D*.28,Ge=k+D*.72,no=T+S-2,bo=U==="none"?"#FFFFFF":U;return'<ellipse cx="'+s+'" cy="'+G+'" rx="'+$+'" ry="'+$+'" fill="'+bo+'" stroke="'+P+'" stroke-width="1"/><path d="M'+s+","+B+" L"+s+","+or+" M"+hr+","+K+" L"+vr+","+K+" M"+s+","+or+" L"+Jr+","+no+" M"+s+","+or+" L"+Ge+","+no+'" fill="none" stroke="'+P+'" stroke-width="1"/>'}function N(k,T,D,S,U,P,s){var $=parseFloat(s.startsize)||20,G=U==="none"?"#FFFFFF":U,B=s.swimlanefillcolor?s.swimlanefillcolor==="none"?"#FFFFFF":s.swimlanefillcolor:G,or=s.rounded==="0"?0:s.absolutearcsize==="1"&&s.arcsize?parseFloat(s.arcsize)/2:2.5,K=_(s.dashed==="1",s.dashpattern),hr="";return B!==G&&$>0&&(hr='<path d="M'+k+","+(T+$)+" L"+k+","+(T+or)+" Q"+k+","+T+" "+(k+or)+","+T+" L"+(k+D-or)+","+T+" Q"+(k+D)+","+T+" "+(k+D)+","+(T+or)+" L"+(k+D)+","+(T+$)+' Z" fill="'+G+'" stroke="none"/>'),'<g><rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" rx="'+or+'" ry="'+or+'" fill="'+B+'" stroke="none"/>'+hr+'<rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" rx="'+or+'" ry="'+or+'" fill="none" stroke="'+P+'"'+K+'/><line x1="'+k+'" y1="'+(T+$)+'" x2="'+(k+D)+'" y2="'+(T+$)+'" stroke="'+P+'"'+K+"/></g>"}function m(k,T,D,S,U,P,s,$){var G=10,B=Math.min(D,Math.max(G,parseFloat($.width)||60)),or=Math.min(S,Math.max(G*1.5,parseFloat($.height)||30)),K=$.swimlanefillcolor;return'<rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" fill="'+(K&&K!=="none"?K:"none")+'" stroke="'+P+'" stroke-width="'+s+'"/><path d="M'+k+","+T+" L"+(k+B)+","+T+" L"+(k+B)+","+(T+Math.max(0,or-G*1.5))+" L"+(k+Math.max(0,B-G))+","+(T+or)+" L"+k+","+(T+or)+' Z" fill="none" stroke="'+P+'" stroke-width="'+s+'"/>'}function u(k,T,D,S,U,P){var s=Math.min(14,Math.min(D,S)*.2),$="M"+k+","+T+" L"+(k+D-s)+","+T+" L"+(k+D)+","+(T+s)+" L"+(k+D)+","+(T+S)+" L"+k+","+(T+S)+" Z",G="M"+(k+D-s)+","+T+" L"+(k+D-s)+","+(T+s)+" L"+(k+D)+","+(T+s);return'<path d="'+$+'" fill="'+U+'" stroke="'+P+'" stroke-width="1"/><g fill="none" stroke="'+P+'" stroke-width="1"><path d="'+G+'"/></g>'}function R(k,T,D,S){var U=Math.min(D*.2,S*.5);return[[k+U,T],[k+D-U,T],[k+D,T+S/2],[k+D-U,T+S],[k+U,T+S],[k,T+S/2]]}function o(k,T,D,S){var U=Math.min(D*.15,20);return[[k,T],[k+D,T],[k+D-U,T+S/2],[k+D,T+S],[k,T+S],[k+U,T+S/2]]}function t(k,T,D,S,U){var P=k.map(function(s){return s[0]+","+s[1]}).join(" ");return'<polygon points="'+P+'" fill="'+T+'" stroke="'+D+'" stroke-width="'+S+'"'+_(U)+"/>"}function n(k,T,D,S,U,P,s){s>0||(s=Math.min(S*.1,12));var $=D/2,G='<path d="M'+k+","+(T+s)+" L"+k+","+(T+S-s)+" A"+$+","+s+" 0 0 0 "+(k+D)+","+(T+S-s)+" L"+(k+D)+","+(T+s)+" A"+$+","+s+" 0 0 0 "+k+","+(T+s)+' Z" fill="'+U+'" stroke="'+P+'"/>',B='<path d="M'+k+","+(T+s)+" A"+$+","+s+" 0 0 0 "+(k+D)+","+(T+s)+'" fill="none" stroke="'+P+'"/>';return"<g>"+G+B+"</g>"}function f(k,T,D,S,U,P,s){var $=Math.min(10,Math.min(D,S)/5),G="M"+k+","+(T+$)+" L"+(k+$)+","+T+" L"+(k+D)+","+T+" L"+(k+D)+","+(T+S-$)+" L"+(k+D-$)+","+(T+S)+" L"+k+","+(T+S)+" Z";function B(or,K,hr,vr){return'<line x1="'+or+'" y1="'+K+'" x2="'+hr+'" y2="'+vr+'" stroke="'+P+'" stroke-width="'+s+'"/>'}return'<path d="'+G+'" fill="'+U+'" stroke="'+P+'" stroke-width="'+s+'"/>'+B(k,T+$,k+D-$,T+$)+B(k+D-$,T+$,k+D,T)+B(k+D-$,T+$,k+D-$,T+S)}function O(k,T,D,S,U,P){var s=S/2,$=k+D-s,G=T+s;return'<g stroke="'+P+'" fill="none"><circle cx="'+$+'" cy="'+G+'" r="'+s+'" fill="'+U+'"/><line x1="'+k+'" y1="'+(T+S*.15)+'" x2="'+k+'" y2="'+(T+S*.85)+'"/><line x1="'+k+'" y1="'+G+'" x2="'+($-s)+'" y2="'+G+'"/></g>'}function g(k,T,D,S,U,P){var s=k+D/2,$=S/2-2,G=T+2+$;return'<g stroke="'+P+'" fill="none"><circle cx="'+s+'" cy="'+G+'" r="'+$+'" fill="'+U+'"/><path d="M'+(s+6)+","+(T-2)+" L"+s+","+(T+2)+" L"+(s+6)+","+(T+6)+'"/></g>'}function Q(k,T,D,S,U,P){var s=k+D/2,$=(S-4)/2;return'<g stroke="'+P+'"><circle cx="'+s+'" cy="'+(T+$)+'" r="'+$+'" fill="'+U+'"/><line x1="'+(s-$)+'" y1="'+(T+S)+'" x2="'+(s+$)+'" y2="'+(T+S)+'"/></g>'}function x(k,T,D,S,U,P,s){s>0||(s=Math.min(D*.15,10));var $=S/2,G='<path d="M'+(k+s)+","+T+" L"+(k+D-s)+","+T+" A"+s+","+$+" 0 0 1 "+(k+D-s)+","+(T+S)+" L"+(k+s)+","+(T+S)+" A"+s+","+$+" 0 0 1 "+(k+s)+","+T+' Z" fill="'+U+'" stroke="'+P+'"/>',B='<path d="M'+(k+D-s)+","+T+" A"+s+","+$+" 0 0 0 "+(k+D-s)+","+(T+S)+'" fill="none" stroke="'+P+'"/>';return"<g>"+G+B+"</g>"}function I(k,T,D,S,U,P){if(D>110||S>95){let We=function(Tt,Cn,un,Kt,ut,fn){for(var vt=un-Tt,_o=Kt-Cn,Zo=Math.sqrt(vt*vt+_o*_o),jt=Math.max(1,Math.round(Zo/$)),zt=0;zt<jt;zt++)s.push({x:Tt+vt*zt/jt,y:Cn+_o*zt/jt,nx:ut,ny:fn})};var s=[],$=26,G=9;We(k,T,k+D,T,0,-1),We(k+D,T,k+D,T+S,1,0),We(k+D,T+S,k,T+S,0,1),We(k,T+S,k,T,-1,0);for(var B=function(Tt){return Math.round(Tt*10)/10},or="M"+B(s[0].x)+","+B(s[0].y),K=1;K<=s.length;K++){var hr=s[K-1],vr=s[K%s.length],Jr=(hr.x+vr.x)/2+hr.nx*G,Ge=(hr.y+vr.y)/2+hr.ny*G;or+=" Q"+B(Jr)+","+B(Ge)+" "+B(vr.x)+","+B(vr.y)}return'<path d="'+or+' Z" fill="'+U+'" stroke="'+P+'"/>'}var no=k+D/2,bo=T+S/2,Oo="M"+(k+D*.2)+","+(T+S*.55)+" C"+(k+D*0)+","+(T+S*.3)+" "+(k+D*.2)+","+(T+S*.1)+" "+(k+D*.35)+","+(T+S*.2)+" C"+(k+D*.4)+","+(T+S*0)+" "+(k+D*.65)+","+(T+S*0)+" "+(k+D*.7)+","+(T+S*.2)+" C"+(k+D*.9)+","+(T+S*.1)+" "+(k+D*1)+","+(T+S*.5)+" "+(k+D*.8)+","+(T+S*.6)+" C"+(k+D*.95)+","+(T+S*.85)+" "+(k+D*.7)+","+(T+S*1)+" "+(k+D*.55)+","+(T+S*.85)+" C"+(k+D*.4)+","+(T+S*1)+" "+(k+D*.1)+","+(T+S*.95)+" "+(k+D*.2)+","+(T+S*.55)+" Z";return'<path d="'+Oo+'" fill="'+U+'" stroke="'+P+'"/>'}function w(k,T,D,S,U){var P=k+D/2,s=T+S/2,$=Math.min(D,S)/2,G=$*.5;return'<g><circle cx="'+P+'" cy="'+s+'" r="'+$+'" fill="#FFFFFF" stroke="'+U+'"/><circle cx="'+P+'" cy="'+s+'" r="'+G+'" fill="'+U+'" stroke="none"/></g>'}function nr(k,T,D,S,U,P){var s=k+D/2,$=T+S/2,G=Math.min(D,S)/2,B=G-4;return'<g><circle cx="'+s+'" cy="'+$+'" r="'+G+'" fill="'+U+'" stroke="'+P+'"/><circle cx="'+s+'" cy="'+$+'" r="'+B+'" fill="none" stroke="'+P+'"/></g>'}function lr(k,T,D,S,U,P){var s=12,$=10,G=T+S*.25-$/2,B=T+S*.75-$/2,or=U==="none"?"#FFFFFF":U;return'<g><rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" fill="'+or+'" stroke="'+P+'"/><rect x="'+(k-s/2)+'" y="'+G+'" width="'+s+'" height="'+$+'" fill="'+or+'" stroke="'+P+'"/><rect x="'+(k-s/2)+'" y="'+B+'" width="'+s+'" height="'+$+'" fill="'+or+'" stroke="'+P+'"/></g>'}function ir(k,T,D,S,U,P,s,$){var G=$.architype||"square",B=$.dashed==="1",or;if(G==="oct"){var K=Math.min(12,D/4,S/4);or=t([[k+K,T],[k+D-K,T],[k+D,T+K],[k+D,T+S-K],[k+D-K,T+S],[k+K,T+S],[k,T+S-K],[k,T+K]],U,P,s,B)}else{var hr=G==="rounded"?12.5:.5;or='<rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" rx="'+hr+'" ry="'+hr+'" fill="'+U+'" stroke="'+P+'" stroke-width="'+s+'"'+_(B)+"/>"}var vr="";if($.apptype&&$.apptype!=="generic"){var Jr=k+D-24,Ge=T+7;vr='<path d="M'+Jr+","+Ge+" h14 v10 h-14 Z M"+(Jr+1)+","+(Ge+1)+' h12 v8 h-12 Z" fill="#000000" fill-rule="evenodd" stroke="none"/>'}return or+vr}function mr(k,T,D,S,U,P,s,$){var G=Math.min(D,parseFloat($.tabwidth)||50),B=Math.min(S,parseFloat($.tabheight)||15),or=U,K=_($.dashed==="1",$.dashpattern),hr="M"+k+","+T+" L"+(k+G-7)+","+T+" L"+(k+G)+","+(T+B)+" L"+(k+D)+","+(T+B)+" L"+(k+D)+","+(T+S)+" L"+k+","+(T+S)+" Z";return'<path d="'+hr+'" fill="'+or+'" stroke="'+P+'" stroke-width="'+s+'"'+K+'/><line x1="'+k+'" y1="'+(T+B)+'" x2="'+(k+G)+'" y2="'+(T+B)+'" stroke="'+P+'" stroke-width="'+s+'"'+K+"/>"}function Or(k,T,D,S,U,P){var s=Math.min(D,S)*.15,$="M"+(k+s)+","+T+" L"+(k+D)+","+T+" L"+(k+D)+","+(T+S)+" L"+k+","+(T+S)+" L"+k+","+(T+s)+" Z";return'<path d="'+$+'" fill="'+U+'" stroke="'+P+'"/>'}function Qr(k,T,D,S,U,P){var s=Math.min(D*.1,14);return'<g><rect x="'+k+'" y="'+T+'" width="'+D+'" height="'+S+'" fill="'+U+'" stroke="'+P+'"/><line x1="'+(k+D-s)+'" y1="'+T+'" x2="'+(k+D-s)+'" y2="'+(T+S)+'" stroke="'+P+'"/></g>'}function ee(k,T,D,S,U){var P=k+D/2,s=T+S/2,$=Math.min(D,S)/2;return'<g stroke="'+U+'" stroke-width="2"><line x1="'+(P-$)+'" y1="'+(s-$)+'" x2="'+(P+$)+'" y2="'+(s+$)+'"/><line x1="'+(P-$)+'" y1="'+(s+$)+'" x2="'+(P+$)+'" y2="'+(s-$)+'"/></g>'}function re(k,T,D,S,U,P){var s=T+S/2;return'<line x1="'+k+'" y1="'+s+'" x2="'+(k+D)+'" y2="'+s+'" stroke="'+U+'" stroke-width="'+P+'"/>'}var Yr={" ":278,"!":278,'"':355,"#":556,$:556,"%":889,"&":667,"'":191,"(":333,")":333,"*":389,"+":584,",":278,"-":333,".":278,"/":278,0:556,1:556,2:556,3:556,4:556,5:556,6:556,7:556,8:556,9:556,":":278,";":278,"<":584,"=":584,">":584,"?":556,"@":1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,"[":278,"\\":278,"]":278,"^":469,_:556,"`":333,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,"{":334,"|":260,"}":334,"~":584};function Zr(k,T,D){for(var S=String(k??""),U=0,P=0;P<S.length;P++){var s=Yr[S.charAt(P)];U+=s===void 0?556:s}return U/1e3*T*(D?1.06:1)}function Ee(k,T){if(!k.text||Zr(k.text,k.size,k.bold)<=T)return[k];for(var D=k.text.split(/\s+/),S=[],U="",P=0;P<D.length;P++){var s=U?U+" "+D[P]:D[P];U&&Zr(s,k.size,k.bold)>T?(S.push({text:U,size:k.size,bold:k.bold,italic:k.italic}),U=D[P]):U=s}return U&&S.push({text:U,size:k.size,bold:k.bold,italic:k.italic}),S.length?S:[k]}function Ze(k,T,D,S,U,P,s){if(!k)return"";var $=parseInt(P.fontsize||"12",10),G=P.fontcolor||"#000000",B=P.fontstyle||"",or=B&1||B==="1"||B==="3"||B==="5"||B==="7",K=B&2||B==="2"||B==="3"||B==="6"||B==="7",hr=Gr(k,$,or,K);if(hr.length===0)return"";var vr=(P.align||"center").toLowerCase(),Jr=(P.verticalalign||"middle").toLowerCase(),Ge=parseFloat(P.spacingleft)||0,no=parseFloat(P.spacingtop)||0,bo=vr==="left"?"start":vr==="right"?"end":"middle",Oo=vr==="left"?T+4+Ge:vr==="right"?T+S-4:T+S/2+Ge/2,We=(P.labelposition||"").toLowerCase();if(We==="left"?(bo="end",Oo=T-4):We==="right"&&(bo="start",Oo=T+S+4),s==="swimlane"||s==="umlframe"){for(var Tt=s==="umlframe"?parseFloat(P.height)||30:parseFloat(P.startsize)||20,Cn=0,un=0;un<hr.length;un++)Cn+=hr[un].size*1.33;var Kt=D+Tt/2-Cn/2+hr[0].size,ut=[];for(un=0;un<hr.length;un++)hr[un].text&&ut.push(eo(Oo,Kt,hr[un].text,hr[un].size,G,hr[un].bold,hr[un].italic,bo,P.fontfamily)),Kt+=hr[un].size*1.33;return ut.join("")}if(P.whitespace==="wrap"){for(var fn=Math.max(20,S-8-Ge),vt=[],_o=0;_o<hr.length;_o++)for(var Zo=Ee(hr[_o],fn),jt=0;jt<Zo.length;jt++)vt.push(Zo[jt]);hr=vt}for(var zt=hr[0].size*1.33,Ga=1;Ga<hr.length;Ga++)zt+=hr[Ga].size*1.33;var $n,zn=(P.verticallabelposition||"").toLowerCase();zn==="bottom"?$n=D+U+hr[0].size+2:zn==="top"?$n=D-zt+hr[0].size-2:Jr==="top"?$n=D+no+hr[0].size+2:Jr==="bottom"?$n=D+U-zt+hr[0].size:$n=D+no+U/2-zt/2+hr[0].size;for(var Dn=[],xe=0;xe<hr.length;xe++)hr[xe].rule?Dn.push($e(hr[xe],T,S,$n)):hr[xe].text&&Dn.push(eo(Oo,$n,hr[xe].text,hr[xe].size,G,hr[xe].bold,hr[xe].italic,bo,P.fontfamily)),$n+=(xe+1<hr.length?hr[xe+1].size:hr[xe].size)*1.33;return Dn.join(`
280
+ `)}function eo(k,T,D,S,U,P,s,$,G){var B=' x="'+k+'" y="'+T+'" font-size="'+S+'" fill="'+U+'" text-anchor="'+$+'"';return $==="start"&&(B+=' textLength="'+Zr(D,S,P).toFixed(2)+'" lengthAdjust="spacing"'),P&&(B+=' font-weight="bold"'),s&&(B+=' font-style="italic"'),G&&(B+=' font-family="'+ar(G)+'"'),"<text"+B+">"+ar(D)+"</text>"}function Gr(k,T,D,S){if(k==null)return[];var U=String(k);U=U.replace(/<br\s*\/?>/gi,`
281
+ `),U=U.replace(/<li\b[^>]*>/gi,`
282
+ \u2022 `).replace(/<\/(?:ul|ol)>/gi,`
283
+ `).replace(/<(?:\/?li|ul|ol)\b[^>]*>/gi,""),U=U.replace(/<hr\b([^>]*)>/gi,function(Ge,no){var bo=/dotted/i.test(no)?"dotted":/double/i.test(no)?"double":"solid";return`
284
+ hr:`+bo+`
285
+ `}),U=U.replace(/<\/?(?:div|p)\b[^>]*>/gi,""),U=U.replace(/\n?\u0002(?:\n|\u0002)*/g,`
286
+ `);for(var P=U.split(/\r?\n/),s=[],$=0;$<P.length;$++){var G=P[$],B=/^hr:(\w+)$/.exec(G);if(B){s.push({text:"",rule:B[1],size:7.5,bold:!1,italic:!1});continue}var or=T||12,K=G.match(/font-size\s*:\s*(\d+(?:\.\d+)?)px/i);K&&(or=parseFloat(K[1]));var hr=!!D||/<b>|font-weight\s*:\s*bold/i.test(G),vr=!!S||/<i>|font-style\s*:\s*italic/i.test(G),Jr=Dr(G.replace(/<[^>]+>/g,"")).replace(/^\s+|\s+$/g,"");s.push({text:Jr,size:or,bold:hr,italic:vr})}for(;s.length&&!s[s.length-1].text&&!s[s.length-1].rule;)s.pop();for(;s.length&&!s[0].text&&!s[0].rule;)s.shift();return s}function $e(k,T,D,S){for(var U=S-2.5,P=k.rule==="dotted"?' stroke-dasharray="1,2"':"",s=k.rule==="double"?[U-1,U+1]:[U],$="",G=0;G<s.length;G++)$+='<line x1="'+(T+2)+'" y1="'+s[G]+'" x2="'+(T+D-2)+'" y2="'+s[G]+'" stroke="#181818" stroke-width="1"'+P+"/>";return $}function Ye(k,T,D,S){var U=Kr(k.style),P={};T.forEach(function(Rl){P[Rl.id]=Rl});var s,$,G=null,B=P[k.source],or=P[k.target],K=P[k.parent],hr=K&&K.absX!=null?K.absX:0,vr=K&&K.absY!=null?K.absY:0;if(k.geometry&&k.geometry.sourcePoint&&k.geometry.targetPoint){s={x:k.geometry.sourcePoint.x+hr,y:k.geometry.sourcePoint.y+vr},$={x:k.geometry.targetPoint.x+hr,y:k.geometry.targetPoint.y+vr};var Jr=k.geometry.points;if(Jr&&Jr.length>0){for(var Ge=$.x-s.x,no=$.y-s.y,bo=Math.sqrt(Ge*Ge+no*no)||1,Oo=!1,We=0;We<Jr.length&&!Oo;We++){var Tt=Jr[We].x+hr-s.x,Cn=Jr[We].y+vr-s.y;Oo=Math.abs(Tt*no-Cn*Ge)/bo>.5}Oo&&(G=Jr.map(function(Rl){return{x:Rl.x+hr,y:Rl.y+vr}}))}}else if(B&&or&&B.geometry&&or.geometry){var un={x:B.absX+B.geometry.width/2,y:B.absY+B.geometry.height/2},Kt={x:or.absX+or.geometry.width/2,y:or.absY+or.geometry.height/2};k.geometry&&k.geometry.points&&k.geometry.points.length>0&&(G=k.geometry.points.map(function(Rl){return{x:Rl.x+hr,y:Rl.y+vr}}));var ut=G?G[0]:Kt,fn=G?G[G.length-1]:un;s=U.exitx!=null&&U.exity!=null?{x:B.absX+B.geometry.width*parseFloat(U.exitx),y:B.absY+B.geometry.height*parseFloat(U.exity)}:Fo(B,un,ut),$=U.entryx!=null&&U.entryy!=null?{x:or.absX+or.geometry.width*parseFloat(U.entryx),y:or.absY+or.geometry.height*parseFloat(U.entryy)}:Fo(or,Kt,fn)}else return"";var vt=s.x+D,_o=s.y+S,Zo=$.x+D,jt=$.y+S,zt=null;if(G){zt=[{x:vt,y:_o}];for(var Ga=0;Ga<G.length;Ga++)zt.push({x:G[Ga].x+D,y:G[Ga].y+S});zt.push({x:Zo,y:jt})}var $n=U.strokecolor||"#000000",zn=U.strokewidth||"1",Dn=U.dashed==="1",xe=(U.endarrow||"classic").toLowerCase();(U.endhalf==="top"||U.endhalf==="bottom")&&(xe="half"+U.endhalf);var i=(U.startarrow||"none").toLowerCase(),c=U.endfill,F=Hr(xe,c,$n,!1,U.endsize,zn),y=Hr(i,U.startfill,$n,!0,U.startsize,zn),sr;if((U.shape||"").toLowerCase()==="arrow"){var kr=(parseFloat(U.width)||12)/2,be=(parseFloat(U.endwidth)||1)/2,dr=Math.sqrt((Zo-vt)*(Zo-vt)+(jt-_o)*(jt-_o))||1,Mo=-(jt-_o)/dr,io=(Zo-vt)/dr,go=U.fillcolor&&U.fillcolor!=="none"?U.fillcolor:$n;sr='<path d="M'+(vt+Mo*kr)+","+(_o+io*kr)+" L"+(Zo+Mo*be)+","+(jt+io*be)+" L"+(Zo-Mo*be)+","+(jt-io*be)+" L"+(vt-Mo*kr)+","+(_o-io*kr)+' Z" fill="'+go+'" stroke="'+$n+'" stroke-width="'+zn+'"/>'}else if(U.curved==="1"&&!zt){var gn=vt+(Zo-vt)/2;sr='<path d="M'+vt+","+_o+" C"+gn+","+_o+" "+gn+","+jt+" "+Zo+","+jt+'" fill="none" stroke="'+$n+'" stroke-width="'+zn+'"'+_(Dn,U.dashpattern)+(F?' marker-end="'+F+'"':"")+(y?' marker-start="'+y+'"':"")+"/>"}else if(zt){for(var On="",co=0;co<zt.length;co++)On+=(co===0?"M":" L")+zt[co].x+","+zt[co].y;sr='<path d="'+On+'" fill="none" stroke="'+$n+'" stroke-width="'+zn+'"'+_(Dn,U.dashpattern)+(F?' marker-end="'+F+'"':"")+(y?' marker-start="'+y+'"':"")+"/>";var Gn=Math.floor((zt.length-1)/2);vt=zt[Gn].x,_o=zt[Gn].y,Zo=zt[Gn+1].x,jt=zt[Gn+1].y}else sr='<line x1="'+vt+'" y1="'+_o+'" x2="'+Zo+'" y2="'+jt+'" stroke="'+$n+'" stroke-width="'+zn+'"'+_(Dn,U.dashpattern)+(F?' marker-end="'+F+'"':"")+(y?' marker-start="'+y+'"':"")+"/>";var lo="";if(k.value){var It=parseInt(U.fontsize||"12",10),Un=U.fontstyle||"",wa=Un==="1"||Un==="3"||Un==="5"||Un==="7",Ta=Gr(k.value,It,wa,!1);if(Ta.length>0){var Ea=k.geometry&&k.geometry.x?(k.geometry.x+1)/2:.5,Ua=vt+(Zo-vt)*Ea,oa=k.geometry&&k.geometry.y||0,vn=0,Jl=0;if(oa){var Ul=Math.sqrt((Zo-vt)*(Zo-vt)+(jt-_o)*(jt-_o))||1;vn=-(jt-_o)/Ul*oa,Jl=(Zo-vt)/Ul*oa}Ua+=vn;var _l=U.fontcolor||"#000000",Ma=U.labelbackgroundcolor,gl=[],Ia=It*1.25,tt=(_o+jt)/2-4-(Ta.length-1)*Ia+Jl;if(Ma&&Ma!=="none"){for(var Vn=0,sl=0;sl<Ta.length;sl++){var El=Zr(Ta[sl].text,Ta[sl].size,Ta[sl].bold);El>Vn&&(Vn=El)}Vn+=4;var ui=Ia*Ta.length;gl.push('<rect x="'+(Ua-Vn/2)+'" y="'+(tt-It)+'" width="'+Vn+'" height="'+ui+'" fill="'+Ma+'" stroke="none"/>')}for(var rl=0;rl<Ta.length;rl++)gl.push(eo(Ua,tt+rl*Ia,Ta[rl].text,Ta[rl].size,_l,Ta[rl].bold,Ta[rl].italic,"middle",U.fontfamily));lo=`
287
+ `+gl.join(`
288
+ `)}}return sr+lo}function Hr(k,T,D,S,U,P){if(!k||k==="none")return"";var s;k==="block"?s=T==="1"?"blockfilled":"blockhollow":k==="open"||k==="openthin"?s="open":k==="halfcircle"?s="halfcircle":k==="diamond"||k==="diamondthin"?s=T==="1"?"diamondfilled":"diamondhollow":k==="oval"||k==="circle"?s="oval":k==="cross"?s="cross":k==="halftop"||k==="halfbottom"||k==="erone"||k==="ermandone"||k==="ermany"||k==="eronetomany"||k==="erzerotoone"||k==="erzerotomany"?s=k:k==="triangle"?s="blockhollow":s="classic";var $=D||"#000000",G=(U?parseFloat(U):6)+(parseFloat(P)||1)+2,B=Math.max(.3,G/10);s==="oval"&&(B=((U?parseFloat(U):6)+(parseFloat(P)||1))/9);var or=s+"-"+$.replace(/[^0-9a-zA-Z]/g,"")+(S?"-s":"")+(B!==1?"-z"+Math.round(B*100):"");return M[or]||(M[or]={id:"ah-"+or,shape:s,color:$,start:!!S,scale:B}),"url(#"+M[or].id+")"}function Fo(k,T,D){var S=k.absX,U=k.absY,P=k.geometry.width,s=k.geometry.height,$=D.x-T.x,G=D.y-T.y;if($===0&&G===0)return{x:T.x,y:T.y};var B=$===0?1/0:$>0?(S+P-T.x)/$:(S-T.x)/$,or=G===0?1/0:G>0?(U+s-T.y)/G:(U-T.y)/G,K=Math.min(B,or);return K<0||!isFinite(K)?{x:T.x,y:T.y}:{x:T.x+$*K,y:T.y+G*K}}return{convert:pr,convertXml:q}})();var zh=(function(){function pr(){if(typeof document<"u"&&typeof Image<"u"&&typeof document.createElement=="function")return se;throw new Error("PlantUml2Png.render requires a browser environment or a canvas polyfill. In pure Node.js, call PlantUml2Svg.convert() and pipe the result through an external SVG\u2192PNG rasteriser (resvg-js, sharp, Inkscape, or plantuml.jar -tpng).")}function q(Dr,ar){try{var Y=Gf.convert(Dr,ar);return Tr(Y,ar)}catch($r){return Promise.reject($r)}}function Xr(Dr,ar){try{var Y=Gf.convertXml(Dr,ar);return Tr(Y,ar)}catch($r){return Promise.reject($r)}}function Tr(Dr,ar){ar=ar||{};var Y;try{Y=pr()}catch($r){return Promise.reject($r)}return Y(Dr,ar)}function se(Dr,ar){var Y=Math.max(.1,parseFloat(ar.scale)||1),$r=ar.backgroundColor||null,rr=ar.mimeType||"image/png";return new Promise(function(H,M){var j=Kr(Dr),gr=typeof Blob<"u"?new Blob([Dr],{type:"image/svg+xml;charset=utf-8"}):null,W=gr&&typeof URL<"u"&&URL.createObjectURL?URL.createObjectURL(gr):"data:image/svg+xml;charset=utf-8,"+encodeURIComponent(Dr),d=new Image;d.onload=function(){try{var _=(d.width||j.width)*Y,p=(d.height||j.height)*Y,E=document.createElement("canvas");E.width=Math.max(1,Math.round(_)),E.height=Math.max(1,Math.round(p));var L=E.getContext("2d");$r&&(L.fillStyle=$r,L.fillRect(0,0,E.width,E.height)),L.drawImage(d,0,0,E.width,E.height);var N=E.toDataURL(rr);W.slice(0,5)==="blob:"&&URL.revokeObjectURL&&URL.revokeObjectURL(W),H(N)}catch(m){M(m)}},d.onerror=function(_){W.slice(0,5)==="blob:"&&typeof URL<"u"&&URL.revokeObjectURL&&URL.revokeObjectURL(W),M(new Error("Failed to rasterise SVG (Image load error): "+(_&&_.message?_.message:"unknown")))},d.src=W})}function Kr(Dr){var ar=Dr.match(/\bwidth="(\d+(?:\.\d+)?)"/),Y=Dr.match(/\bheight="(\d+(?:\.\d+)?)"/),$r=Dr.match(/\bviewBox="\s*([\d.\-]+)\s+([\d.\-]+)\s+([\d.\-]+)\s+([\d.\-]+)"/),rr=ar?parseFloat(ar[1]):0,H=Y?parseFloat(Y[1]):0;return(!rr||!H)&&$r&&(rr||(rr=parseFloat($r[3])),H||(H=parseFloat($r[4]))),{width:rr||800,height:H||600}}return{render:q,renderXml:Xr,renderSvg:Tr}})();var cd=(function(){for(var pr=["participant","actor","boundary","control","entity","database","collections","queue"],q={},Xr=0;Xr<pr.length;Xr++)q[pr[Xr]]=!0;function Tr(d,_){var p=d.length,E=_,L="none",N="none",m=null,u=0,R=0,o=se(d,E,"<"),t=o;for(E=o.end;E<p&&d[E]==="-";)u++,E++;for(;E<p&&d[E]===".";)R++,E++;var n=!1;if(E<p&&d[E]==="["){var f=d.indexOf("]",E);if(f>E){for(var O=d.substring(E+1,f).split(","),g=0;g<O.length;g++){var Q=O[g].replace(/^\s+|\s+$/g,""),x=Q.toLowerCase();x==="dashed"||x==="dotted"?n=!0:x==="bold"||x==="hidden"||x===""||(m=Q.charAt(0)==="#"?Q:"#"+Q)}E=f+1}}for(;E<p&&d[E]==="-";)u++,E++;for(;E<p&&d[E]===".";)R++,E++;if(u+R===0)return null;var I=se(d,E,">"),w=I;if(E=I.end,L=Kr(o),N=Kr(I),L==="none"&&N==="none"&&u+R<2)return null;var nr=R>0&&u===0?"dotted":u>2||R>0?"dashed":"solid";return u===2&&R===0&&L==="none"&&N==="none"?null:(R===0&&(nr=u>=2?"dashed":"solid"),n&&nr==="solid"&&(nr="dashed"),{end:E,lineStyle:nr,leftHead:L,rightHead:N,left:t,right:w,color:m})}function se(d,_,p){for(var E={arrow:!1,async:!1,cross:!1,circle:!1,part:null,end:_},L=_;L<d.length;){var N=d[L];if(N===p)E.arrow&&(E.async=!0),E.arrow=!0;else if(N==="x")E.cross=!0;else if(N==="o")E.circle=!0;else if(N==="\\")E.part="halfTop";else if(N==="/")E.part="halfBottom";else break;L++}return E.end=L,E}function Kr(d){return d.cross?"lost":d.circle?"circle":d.part?d.part:d.async?"open":d.arrow?"filled":"none"}function Dr(d){return d.cross?"lost":d.part?d.part:d.async?"open":"filled"}function ar(d,_){return _==="o"||d.circle?"circle":_==="x"||d.cross?"lost":null}function Y(d,_){if(_==null)return"<b>"+d+"</b>";var p=String(_).match(/^([^0#]*)([0#]+)([^0#]*)$/);if(p==null)return String(d);for(var E=p[2].replace(/[^0]/g,"").length,L=String(d);L.length<E;)L="0"+L;return p[1]+L+p[3]}function $r(d,_,p,E){var L=d;if(p.hasOwnProperty(L))return L;for(var N in p)if(p.hasOwnProperty(N)&&_[p[N]].name===d)return N;var m={id:L,name:d,kind:"participant",color:null,stereotype:null,order:E.value++,created:!1,box:null};return p[L]=_.length,_.push(m),L}function rr(d){return d==null?d:String(d).replace(/\\r\\n|\\n|\\r/g,`
289
+ `).replace(/\\t/g," ")}function H(d,_){for(;_<d.length&&(d[_]===" "||d[_]===" ");)_++;if(_>=d.length)return null;if(d[_]==='"'){var p=d.indexOf('"',_+1);return p<0&&(p=d.length),{name:rr(d.substring(_+1,p)),end:p+1}}for(var E=_;E<d.length&&!/[\s:<>\-\[\]"+*!]/.test(d[E]);)E++;return E===_?null:{name:d.substring(_,E),end:E}}function M(d,_,p,E){var L=/^&\s*/.exec(d);L&&(d=d.substring(L[0].length));var N=d.match(/^(?:([\[\]?])\s*([ox]?))?\s*(?=[<\-\/\\])/);if(N){var m=N[1]==="]"?"right":"left",u=Tr(d,N[0].length);if(u!=null){for(var R=u.end;R<d.length&&(d[R]===" "||d[R]===" ");)R++;var o=H(d,R);if(o!=null){var t=/^\s*([+*!-]+)?\s*(#\w+)?\s*(?:\[\[(?:[^\]]|\](?!\]))*\]\])?/.exec(d.substring(o.end)),n=t&&t[1]?t[1]:null,f="",O=d.indexOf(":",o.end+(t?t[0].length:0));O>=0&&(f=d.substring(O+1).replace(/^\s+|\s+$/g,""));var g=$r(o.name,_,p,E),Q=u.right.arrow||!u.left.arrow,x=ar(u.left,N[2]);return{type:"message",from:Q?null:g,to:Q?g:null,fromEdge:Q?m:null,toEdge:Q?null:m,short:N[1]==="?",label:f,lineStyle:u.lineStyle,arrowHead:Q?Dr(u.right):x==="lost"?"lost":Dr(u.left),headDecor:Q?u.right.circle?"circle":null:x==="circle"?"circle":null,tailDecor:Q?x:ar(u.right,""),color:u.color,activate:n&&n.indexOf("+")>=0?g:null,activateColor:t&&t[2]?t[2]:null,deactivate:n&&n.indexOf("-")>=0?g:null,activationSpec:n}}}}var I=null,w=-1,nr=-1,lr=H(d,0);if(lr==null)return null;for(var ir=lr.end;ir<d.length&&(d[ir]===" "||d[ir]===" ");)ir++;if(ir>=d.length)return null;var mr=Tr(d,ir);if(mr==null)return null;for(var Or=mr.end;Or<d.length&&Or<d.length&&(d[Or]===" "||d[Or]===" ");)Or++;var Qr=/^([ox]?)\s*([\[\]?])/.exec(d.substring(Or));if(Qr){var ee=Qr[2]==="["?"left":"right",re=Or+Qr[0].length,Yr=/^\s*([+*!-]+)?\s*(#\w+)?/.exec(d.substring(re)),Zr=Yr&&Yr[1]?Yr[1]:null,Ee="",Ze=d.indexOf(":",re+(Yr?Yr[0].length:0));Ze>=0&&(Ee=d.substring(Ze+1).replace(/^\s+|\s+$/g,""));var eo=$r(lr.name,_,p,E),Gr=mr.right.arrow||!mr.left.arrow,$e=ar(mr.right,Qr[1]);return{type:"message",from:Gr?eo:null,to:Gr?null:eo,fromEdge:Gr?null:ee,toEdge:Gr?ee:null,short:Qr[2]==="?",label:Ee,lineStyle:mr.lineStyle,arrowHead:Gr?$e==="lost"?"lost":Dr(mr.right):Dr(mr.left),headDecor:Gr?$e==="circle"?"circle":null:mr.left.circle?"circle":null,tailDecor:Gr?ar(mr.left,""):$e,color:mr.color,activate:Zr&&Zr.indexOf("+")>=0?eo:null,activateColor:Yr&&Yr[2]?Yr[2]:null,deactivate:Zr&&Zr.indexOf("-")>=0?eo:null,activationSpec:Zr}}var Ye=H(d,Or);if(Ye==null)return null;var Hr=Ye.end,Fo=null,k=null,T=d.substring(Hr),D=T.match(/^\s*(\+\+--|--\+\+|\+\+|--|\*\*|!!)\s*(#\w+)?/),S=null,U=null;D&&(S=D[1],U=D[2]||null,Hr+=D[0].length);var P=/^\s*\[\[(?:[^\]]|\](?!\]))*\]\]/.exec(d.substring(Hr));P&&(Hr+=P[0].length);var s="",$=d.indexOf(":",Hr);$>=0&&(s=d.substring($+1).replace(/^\s+|\s+$/g,""));var G=$r(lr.name,_,p,E),B=$r(Ye.name,_,p,E),or=G,K=B,hr=mr.right,vr=mr.left,Jr;mr.left.arrow&&mr.right.arrow?Jr="bidirectional":(mr.left.arrow&&(or=B,K=G,hr=mr.left,vr=mr.right),Jr=hr.cross?"lost":hr.part?hr.part:hr.async?"open":"filled");var Ge=Jr!=="bidirectional"&&hr.circle?"circle":null,no=vr.circle?"circle":vr.cross?"lost":null;(S==="++"||S==="--++"||S==="++--")&&(Fo=K),(S==="--"||S==="--++"||S==="++--")&&(k=or);var bo=S==="**"?K:null,Oo=S==="!!"?K:null;return{type:"message",from:or,to:K,label:rr(s),lineStyle:mr.lineStyle,arrowHead:Jr,headDecor:Ge,tailDecor:no,color:mr.color,activate:Fo,activateColor:U,deactivate:k,activationSpec:S,createTarget:bo,destroyTarget:Oo,number:null}}function j(d,_,p){for(var E=[],L=0,N=_+1;N<d.length;N++){var m=d[N].replace(/^\s+|\s+$/g,"");if(m==="{{")L++;else if(m==="}}"&&L>0)L--;else if(L===0&&(p instanceof RegExp?p.test(m):m.toLowerCase()===p))return{text:E.join(`
290
+ `),endIdx:N};E.push(m)}return{text:E.join(`
291
+ `),endIdx:d.length-1}}function gr(d){d=d.replace(/^\s+|\s+$/g,"");var _=/^(.*?)(?:^|\s)(#[A-Za-z0-9][A-Za-z0-9\/|:;.\-]*)\s*$/.exec(d);return _?{str:_[1].replace(/^\s+|\s+$/g,""),color:_[2]}:{str:d,color:null}}function W(d,_){_=_||{};for(var p=d.split(/\r\n|\r|\n/),E=[],L={},N=[],m=[],u=null,R=!1,o=null,t={},n=0,f={value:0},O=null,g={},Q=_.styleSheet||kt.createSheet(),x=!1,I=0,w=/^skinparam\s+monochrome\s+(true|on|yes)\s*$/im.test(d)||/^skinparam\s*\{[^}]*\bmonochrome\s+(true|on|yes)/im.test(d),nr=0;nr<p.length;nr++){var lr=p[nr],ir=lr.replace(/^\s+|\s+$/g,"");if(ir!==""&&ir.charAt(0)!=="'"&&ir.charAt(0)!=="!"){var mr=/^(?:&\s*)?(?:\/\s*(?=[hr]?note\b))?/i.exec(ir);if(mr[0].length>0&&(ir=ir.substring(mr[0].length)),/^<style>$/i.test(ir)){for(var Or=[];nr+1<p.length;){nr++;var Qr=p[nr].replace(/^\s+|\s+$/g,"");if(/^<\/?style>$/i.test(Qr))break;Qr.charAt(0)!=="'"&&Or.push(p[nr])}try{Q.addBlock(Or.join(`
292
+ `))}catch{}continue}var ee=/^<style>(.*)<\/style>$/i.exec(ir);if(ee!=null){try{Q.addBlock(ee[1])}catch{}continue}if(!/^<style\b/i.test(ir)){if(/^skinparam\b/i.test(ir)){var re=ir.match(/^skinparam\s+([A-Za-z][A-Za-z0-9]*)?\s*\{\s*$/i);if(re||/\{\s*$/.test(ir))for(var Yr=re&&re[1]?re[1].toLowerCase():"",Zr=1;Zr>0&&nr+1<p.length;){nr++;var Ee=p[nr].replace(/^\s+|\s+$/g,"");if(Ee.indexOf("{")>=0&&Zr++,Ee.indexOf("}")>=0){Zr--;continue}if(Zr===1){var Ze=Ee.match(/^([A-Za-z][A-Za-z0-9]*)\s*(<<[^>]*>>)?\s+(\S.*)$/);Ze&&(g[Yr+Ze[1].toLowerCase()+(Ze[2]?Ze[2].toLowerCase():"")]=Ze[3].replace(/\s+$/,""))}}else{var eo=ir.match(/^skinparam\s+([A-Za-z][A-Za-z0-9]*)\s*(<<[^>]*>>)?\s+(\S.*)$/i);eo&&(g[eo[1].toLowerCase()+(eo[2]?eo[2].toLowerCase():"")]=eo[3].replace(/\s+$/,""))}continue}if(/^hide\s+stereotypes?\s*$/i.test(ir)){x=!0;continue}var Gr=ir.match(/^(?:(?:center|left|right)\s+)?(title|header|footer|caption)\s+(.+)$/i);if(Gr){t[Gr[1].toLowerCase()]=Gr[2].replace(/^\s+|\s+$/g,"");continue}var $e=ir.match(/^(?:(?:center|left|right)\s+)?(title|header|footer|caption)\s*$/i);if($e){for(var Ye=$e[1].toLowerCase(),Hr=new RegExp("^end\\s*"+Ye+"$","i"),Fo=[];nr+1<p.length;){nr++;var k=p[nr].replace(/^\s+|\s+$/g,"");if(Hr.test(k))break;Fo.push(k)}t[Ye]=Fo.join(`
293
+ `);continue}if(/^(hide|show)\b/i.test(ir)){/^show\s+footbox\b/i.test(ir)||vo.ignoredDirective(_,"sequence",nr,lr);continue}if(/^(mainframe|newpage|rotate)\b/i.test(ir)){vo.ignoredDirective(_,"sequence",nr,lr);continue}if(!/^scale\b/i.test(ir)){var T=ir.match(/^legend((?:\s+(?:left|right|center|top|bottom))*)\s*$/i);if(T){for(var D=T[1].toLowerCase().split(/\s+/).filter(function(bi){return bi!==""}),S=null,U=0;U<D.length;U++)(S==null||/^(left|right|center)$/.test(D[U]))&&(S=D[U]);for(var P=[];nr+1<p.length;){nr++;var s=p[nr].replace(/^\s+|\s+$/g,"");if(/^end\s*legend\b/i.test(s))break;P.push(s)}o={position:S||"center",lines:P};continue}if(!/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(ir)){var $=ir.toLowerCase(),G=ir.match(/^autoactivate\s+(on|off)$/i);if(G){R=G[1].toLowerCase()==="on";continue}var B=ir.match(/^autonumber(?:\s+(\d+))?(?:\s+(\d+))?(?:\s+"([^"]*)")?$/i);if(B){u={start:B[1]?parseInt(B[1],10):1,increment:B[2]?parseInt(B[2],10):1,format:B[3]||null},n=u.start;continue}if(/^autonumber\s+stop$/i.test(ir)){u=null;continue}if(/^autonumber\s+resume/i.test(ir)){u==null&&(u={start:1,increment:1,format:null});continue}var or=ir.match(/^box(?:\s+"([^"]*)"|\s+(\S+))?(?:\s+(#\S+))?$/i);if(or){O={label:rr(or[1]||or[2]||""),color:or[3]||null,participants:[]},m.push(O);continue}if(/^end\s*box$/i.test(ir)){O=null;continue}var K=ir.match(/^(participant|actor|boundary|control|entity|database|collections|queue)\s+(.+)$/i);if(K&&!/^[<\-]/.test(K[2])){var hr=K[1].toLowerCase(),vr=K[2],Jr=null,Ge=null,no=null,bo=null,Oo=vr.match(/^(\S+)\s*\[\s*$/);if(Oo){for(var We=[];nr+1<p.length;){nr++;var Tt=p[nr].replace(/^\s+|\s+$/g,"");if(Tt==="]")break;We.push(Tt)}var Cn=Oo[1];L.hasOwnProperty(Cn)||(L[Cn]=E.length,E.push({id:Cn,name:Cn,kind:hr,color:null,stereotype:null,stereoLetter:null,stereoColor:null,bodyLines:We,order:f.value++,created:!1,box:O?m.indexOf(O):null}),O&&O.participants.push(Cn));continue}var un=H(vr,0);if(un){Jr=un.name;var Kt=vr.substring(un.end).replace(/^\s+/,""),ut=Kt.match(/^as\s+/i);if(ut){var fn=Kt.substring(ut[0].length),vt=H(fn,0);vt&&(fn.charAt(0)==='"'&&vr.charAt(0)!=='"'?(Ge=Jr,Jr=vt.name):Ge=vt.name,Kt=fn.substring(vt.end).replace(/^\s+/,""))}var _o=Kt.match(/^(#\S+)(.*)/);_o&&(no=_o[1],Kt=_o[2].replace(/^\s+/,""));var Zo=Kt.match(/^<<\s*([^>]*)\s*>>/),jt=null,zt=null;if(Zo){bo=Zo[1].replace(/^\s+|\s+$/g,"");var Ga=bo.match(/^\(\s*([A-Za-z])\s*,\s*(#[0-9A-Fa-f]{3,8})\s*\)\s*(.*)$/);Ga&&(jt=Ga[1],zt=Ga[2],bo=Ga[3].replace(/^\s+|\s+$/g,"")||null)}var $n=Ge||Jr;if(L.hasOwnProperty($n)){var Dn=L[$n],xe=E[Dn];hr!=="participant"&&(xe.kind=hr),no&&(xe.color=no),bo&&(xe.stereotype=bo)}else{var zn={id:$n,name:Jr,kind:hr,color:no,stereotype:bo,stereoLetter:jt,stereoColor:zt,order:f.value++,created:!1,box:O?m.indexOf(O):null};L[$n]=E.length,E.push(zn),O&&O.participants.push($n)}}continue}var i=ir.match(/^create\s+(?:(participant|actor|boundary|control|entity|database|collections|queue)\s+)?(.+)$/i);if(i){var c=i[1]?i[1].toLowerCase():"participant",F=H(i[2],0);if(F){var y=F.name,sr=i[2].substring(F.end).replace(/^\s+/,""),kr=sr.match(/^as\s+(\S+)/i);if(kr&&(y=kr[1]),L.hasOwnProperty(y))E[L[y]].created=!0;else{var be={id:y,name:F.name,kind:c,color:null,stereotype:null,order:f.value++,created:!0,box:O?m.indexOf(O):null};L[y]=E.length,E.push(be),O&&O.participants.push(y)}N.push({type:"create",participant:y})}continue}var dr=ir.match(/^(activate|deactivate|destroy)\s+("[^"]*"|\S+?)\s*(#\w+)?(?:\s+(#\w+))?\s*$/i);if(dr){var Mo=dr[1].toLowerCase(),io=dr[2];io.charAt(0)==='"'&&(io=rr(io.substring(1,io.length-1)));var go={type:Mo,participant:$r(io,E,L,f)};Mo==="activate"&&(go.color=dr[3]||null,go.lineColor=dr[4]||null),N.push(go);continue}if(/^deactivate$/i.test(ir)){N.push({type:"deactivate",participant:null});continue}var gn=ir.match(/^return(?:\s+(#\w+)\s+|\s+|$)(.*)$/i);if(gn){var On={type:"message",from:null,to:null,label:gn[2]?rr(gn[2].replace(/^\s+|\s+$/g,"")):"",lineStyle:"dashed",arrowHead:"filled",color:gn[1]||null,activate:null,deactivate:null,number:null,isReturn:!0,index:nr,raw:lr};u&&(On.number=n,On.numberText=Y(n,u.format),n+=u.increment),N.push(On);continue}var co=ir.match(/^(h?note|rnote)(?:\s*<<[^>]*>>)?\s+(left|right|over|across|top|bottom)\b(?:\s+of\b)?(?:(.+?)\s*)?$/i);if(co){var Gn=co[1].toLowerCase(),lo=co[2].toLowerCase(),It=co[3]||"";It=It.replace(/^((?:[^:\[]|\[(?!\[))*?)\s*\[\[(?:[^\]]|\](?!\]))*\]\]/,"$1");var Un=It.indexOf(":"),wa=Un>=0,Ta=wa?It.substring(0,Un):It,Ea=wa?It.substring(Un+1).replace(/^\s+|\s+$/g,""):"",Ua=gr(Ta.replace(/\s*<<[^>]*>>/g,"")),oa=Ua.color,vn=Ua.str?Ua.str.split(/\s*,\s*/):[];if((lo==="top"||lo==="bottom")&&vn.length>0){vo.droppedLine(_,"sequence",nr,lr,'is not sequence diagram syntax (plantuml.jar answers "Syntax Error?": a note goes left, right or over a participant, or top / bottom of the previous arrow)');var Jl=wa?-1:vo.blockEnd(p,nr,/^\s*end\s*[rh]?note\b/i);Jl>=0&&(nr=Jl);continue}for(var Ul=0;Ul<vn.length;Ul++)vn[Ul]=$r(vn[Ul],E,L,f);if(!wa){var _l=j(p,nr,/^end\s*[hr]?note$/i);nr=_l.endIdx,Ea=_l.text}N.push({type:"note",position:lo,over:vn,text:rr(Ea),color:oa,shape:Gn==="rnote"?"box":Gn==="hnote"?"hexagon":"note"});continue}var Ma=ir.match(/^==\s*(.*?)\s*==$/);if(Ma){N.push({type:"divider",label:rr(Ma[1])});continue}var gl=ir.match(/^(?:\.{3}|…)(?:(.*)(?:\.{3}|…))?$/);if(gl){N.push({type:"delay",label:rr((gl[1]||"").replace(/^\s+|\s+$/g,""))});continue}var Ia=ir.match(/^\|\|(\d+)\|\|$/);if(/^\|\|\|$/.test(ir)||Ia){N.push({type:"gap",h:Ia?parseInt(Ia[1],10):null});continue}var tt=ir.match(/^(group|alt|else|also|opt|loop|par|par2|break|critical|end)\b\s*(.*)$/i);if(tt){var Vn=tt[1].toLowerCase(),sl=tt[2].replace(/^\s+|\s+$/g,"");if((Vn==="end"||Vn==="else"||Vn==="also")&&I===0){vo.droppedLine(_,"sequence",nr,lr,(Vn==="end"?"closes":"continues")+" a group but no group is open here");continue}if(Vn==="end"){I--,N.push({type:"groupEnd"});continue}var El=null,ui=null,rl=sl.match(/^(#[A-Za-z0-9]+)(?:\s+(#[A-Za-z0-9]+))?\s*(.*)$/);if(rl&&(rl[2]?(El=rl[1],ui=rl[2]):ui=rl[1],sl=rl[3]),Vn==="else"||Vn==="also")N.push({type:"groupElse",label:rr(sl),color:ui});else{var Rl=null;if(Vn==="group"&&sl!==""){var pl=/^(.*\[\[.*\]\].*?|.*?)\[(.*)\]$/.exec(sl);pl&&(sl=pl[1].replace(/^\s+|\s+$/g,""),Rl=pl[2])}I++,N.push({type:"groupStart",kind:Vn,label:rr(sl),cond:Rl!=null?rr(Rl):null,color:ui,headColor:El})}continue}var Al=ir.match(/^ref(?:#\w+)?\s+over\s+(.+?)\s*:\s*(.*)$/i);if(Al){for(var Wa=gr(Al[1]),ai=Wa.str.split(/\s*,\s*/),Nl=0;Nl<ai.length;Nl++)ai[Nl]=$r(ai[Nl],E,L,f);N.push({type:"ref",over:ai,color:Wa.color,label:Al[2].replace(/^\s+|\s+$/g,"")});continue}var xa=ir.match(/^ref(?:#\w+)?\s+over\s+(.+)$/i);if(xa){for(var fi=gr(xa[1].replace(/^\s+|\s+$/g,"")),Ni=fi.str.split(/\s*,\s*/),Oi=0;Oi<Ni.length;Oi++)Ni[Oi]=$r(Ni[Oi],E,L,f);var Vl=j(p,nr,/^end\s*(?:ref)?$/i);nr=Vl.endIdx,N.push({type:"ref",over:Ni,color:fi.color,label:Vl.text});continue}var gi=ir.replace(/^(\S+)\s+-{2,}>?\s*$/,"$1 ->]"),el=M(gi,E,L,f);if(el){el.createTarget!=null&&(L.hasOwnProperty(el.createTarget)&&(E[L[el.createTarget]].created=!0),N.push({type:"create",participant:el.createTarget})),R&&el.activationSpec==null&&el.arrowHead!=="lost"&&el.arrowHead!=="none"&&(el.lineStyle!=="solid"?el.deactivate=el.from!=null?el.from:el.to:el.activate=el.to!=null?el.to:el.from),u&&(el.number=n,el.numberText=Y(n,u.format),n+=u.increment),N.push(el),el.destroyTarget!=null&&N.push({type:"destroy",participant:el.destroyTarget});continue}if(/^[rh]?note\b/i.test(ir)){vo.droppedLine(_,"sequence",nr,lr,'is not sequence diagram syntax (plantuml.jar answers "Syntax Error?")');var $a=/:/.test(ir)?-1:vo.blockEnd(p,nr,/^\s*end\s*[rh]?note\b/i);$a>=0&&(nr=$a);continue}vo.droppedLine(_,"sequence",nr,lr)}}}}}if(kt.hasUserRules(Q)){for(var li=kt.createSheet(),wl=function(bi,Ki,ts,di){var ns=kt.plainStyle(bi,kt.signature(["root","element","sequenceDiagram"].concat(Ki),-1,[],!1)),Vi=di?kt.color(ns,ts):kt.raw(ns,ts);return Vi==null||Vi==="none"?null:String(Vi)},Xa=function(bi,Ki,ts,di){var ns=wl(Q,Ki,ts,di);ns!=null&&ns!==wl(li,Ki,ts,di)&&(g[bi]=ns)},Ql=["participant","actor","boundary","control","entity","database","collections","queue"],Ll=0;Ll<Ql.length;Ll++)Xa(Ql[Ll]+"backgroundcolor",[Ql[Ll]],"BackGroundColor",!0),Xa(Ql[Ll]+"bordercolor",[Ql[Ll]],"LineColor",!0),Xa(Ql[Ll]+"fontcolor",[Ql[Ll]],"FontColor",!0);Xa("sequencearrowcolor",["arrow"],"LineColor",!0),Xa("sequencearrowthickness",["arrow"],"LineThickness",!1),Xa("sequencelifelinebackgroundcolor",["lifeLine"],"BackGroundColor",!0),Xa("sequencelinethickness",["lifeLine"],"LineThickness",!1),Xa("sequencedividerbackgroundcolor",["separator"],"BackGroundColor",!0),Xa("sequencedividerbordercolor",["separator"],"LineColor",!0),Xa("sequencedividerfontcolor",["separator"],"FontColor",!0)}for(var Dl=0;Dl<E.length;Dl++){var qa=E[Dl],pi=(qa.kind||"participant").toLowerCase(),Fi=qa.stereotype?"<<"+qa.stereotype.toLowerCase()+">>":null;qa.colorInline=qa.color!=null,qa.color==null&&(qa.color=(Fi?g[pi+"backgroundcolor"+Fi]:null)||g[pi+"backgroundcolor"]||null),qa.borderColor=(Fi?g[pi+"bordercolor"+Fi]:null)||g[pi+"bordercolor"]||null,qa.fontColor=(Fi?g[pi+"fontcolor"+Fi]:null)||g[pi+"fontcolor"]||null}return{participants:E,elements:N,boxes:m,autonumber:u,legend:o,title:t.title||null,header:t.header||null,footer:t.footer||null,caption:t.caption||null,monochrome:w,skin:g,hideStereotype:x}}return{parse:W}})();var hd=(function(){function pr(d){return d.replace(/^\s+|\s+$/g,"")}function q(d){if(d==null)return"state";var _=d.toLowerCase();switch(_){case"fork":case"join":case"choice":case"start":case"end":case"entrypoint":case"exitpoint":return _;default:return"state"}}function Xr(d,_){for(var p=0;p<_.length;p++){var E=_[p];if(E.children){for(var L=0;L<E.children.length;L++)if(E.children[L].id===d)return E.children[L];var N=Xr(d,E.children);if(N!=null)return N}if(E.regions)for(var m=0;m<E.regions.length;m++){var u=E.regions[m].children||[],R=Xr(d,u);if(R!=null)return R;for(var o=0;o<u.length;o++)if(u[o].id===d)return u[o]}}return null}function Tr(d,_,p){if(p.hasOwnProperty(d))return _[p[d]];var E=Xr(d,_);if(E!=null)return E;var L="state";d==="[*]_start"||d==="[*]_end"?L=d==="[*]_start"?"initial":"final":d==="[H]"?L="history_shallow":d==="[H*]"&&(L="history_deep");var N={id:d,name:d,description:[],stereotype:null,color:null,kind:L,children:null,concurrent:!1};return p[d]=_.length,_.push(N),N}function se(d){return d==="[*]_start"||d==="[*]_end"||d==="[H]"||d==="[H*]"}function Kr(d,_){if(d.children)for(var p=d.children.length-1;p>=0;p--){var E=d.children[p];if(!(E.id!==d.id||E.kind!=="state"||E.children&&E.children.length>0)){for(var L=!1,N=0;N<_.length;N++)(_[N].from===E.id||_[N].to===E.id)&&(L=!0);if(!L){for(var m=0;m<E.description.length;m++)d.description.push(E.description[m]);d.children.splice(p,1)}}}}function Dr(d,_,p){for(var E={},L=0;L<_.length;L++){var N=_[L];if(se(N.id)){var m=d+"$"+N.id;E[N.id]=m,N.id=m}}for(var u=0;u<p.length;u++){var R=p[u];E.hasOwnProperty(R.from)&&(R.from=E[R.from]),E.hasOwnProperty(R.to)&&(R.to=E[R.to])}}function ar(d,_){var p=d.length,E=_,L=null,N=0;if(E>=p||d[E]!=="-")return null;E++,N++;var m=d.substring(E).match(/^(left|right|up|down|l|r|u|d)(?=-)/i);if(m){var u=m[1].toLowerCase();switch(u){case"left":case"l":L="left";break;case"right":case"r":L="right";break;case"up":case"u":L="up";break;case"down":case"d":L="down";break}E+=m[1].length}for(;E<p&&d[E]==="-";)N++,E++;return N<1||E>=p||d[E]!==">"?null:(E++,{end:E,direction:L,dashCount:N})}function Y(d,_){for(;_<d.length&&(d[_]===" "||d[_]===" ");)_++;if(_>=d.length)return null;if(d[_]==="["){var p=d.indexOf("]",_);if(p>=0){var E=d.substring(_+1,p);if(E==="*"||E==="H"||E==="H*")return{name:"["+E+"]",end:p+1}}return null}if(d[_]==="="){var L=d.substring(_).match(/^==+\s*([\w.]+)\s*==+/);return L?{name:L[1],end:_+L[0].length,bar:!0}:null}if(d[_]==='"'){var N=d.indexOf('"',_+1);return N<0&&(N=d.length),{name:d.substring(_+1,N),end:N+1}}for(var m=_;m<d.length&&/[\w]/.test(d[m]);)m++;return m===_?null:{name:d.substring(_,m),end:m}}function $r(d,_,p,E){var L=1,N=[],m=pr(pr(d[_]).substring(p+1));if(m!==""&&m!=="}"&&N.push(m),m==="}")return{children:[],transitions:[],notes:[],concurrent:!1,regions:null,endIdx:_};for(var u=_+1;u<d.length;u++){for(var R=d[u],o=pr(R),t=0;t<o.length;t++)if(o[t]==="{")L++;else if(o[t]==="}"&&(L--,L===0)){var n=pr(o.substring(0,t));return n!==""&&N.push(n),rr(N,u,E)}N.push(R)}return rr(N,u-1,E)}function rr(d,_,p){for(var E=p||"composite",L=[[]],N=null,m=0;m<d.length;m++){var u=pr(d[m]).match(/^(--+|\|\|+)$/);u?(N==null&&(N=u[1].charAt(0)),L.push([])):L[L.length-1].push(d[m])}for(var R=[],o=0;o<L.length;o++)L[o].length>0&&R.push(L[o]);if(R.length>1){for(var t=[],n=[],f=[],O=[],g=0;g<R.length;g++){var Q=j(R[g].join(`
294
+ `));Dr(E+"#"+g,Q.states,Q.transitions),t.push({states:Q.states,transitions:Q.transitions,notes:Q.notes});for(var x=0;x<Q.states.length;x++)n.push(Q.states[x]);for(var I=0;I<Q.transitions.length;I++)f.push(Q.transitions[I]);for(var w=0;w<Q.notes.length;w++)O.push(Q.notes[w])}return{children:n,transitions:f,notes:O,concurrent:!0,regions:t,sepChar:N,endIdx:_}}var nr=j(R.length?R[0].join(`
295
+ `):"");return Dr(E,nr.states,nr.transitions),{children:nr.states,transitions:nr.transitions,notes:nr.notes,concurrent:!1,regions:null,sepChar:null,endIdx:_}}var H=null,M=null;function j(d,_){for(var p=d.split(/\r\n|\r|\n/),E=[],L={},N=[],m=[],u=!1,R=0;R<p.length;R++){var o=p[R],t=pr(o);if(t!==""&&t.charAt(0)!=="'"&&t.charAt(0)!=="!"){if(/^<style\b/i.test(t)){for(;!/<\/style>/i.test(pr(p[R]))&&R+1<p.length;)R++;continue}if(/^skinparam\b/i.test(t)){if(/\{\s*$/.test(t))for(var n=1;n>0&&R+1<p.length;){R++;var f=pr(p[R]);f.indexOf("{")>=0&&n++,f.indexOf("}")>=0&&n--}continue}if(/^(hide|show|newpage)\b/i.test(t)){/^hide\s+empty\s+description\s*$/i.test(t)||vo.ignoredDirective(H,"state",_?R:null,o);continue}if(/^note\s+(?:"[^"]*"\s+)?as\s+\S+\s*(?:#[\w:;.]+)?\s*$/i.test(t)){var O=Ba.take(M,p,R);if(O>=0){R=O;continue}}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(t)){var g=Ba.take(M,p,R);if(g>=0){R=g;continue}}if(!(/^(title|header|footer|caption|scale|mainframe)\b/i.test(t)||/^set\s+(?:namespace)?separator\b/i.test(t))&&!/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(t)){if(/^(--+|\|\|+)$/.test(t)){u=!0;continue}var Q=t.match(/^note\s+(left|right)\s+of\s+(\S+)(?:\s+#[\w;:.]+)?\s*:\s*(.*)$/i);if(Q){m.push({position:Q[1].toLowerCase(),target:Q[2],text:pr(Q[3])});continue}var x=t.match(/^note\s+(left|right)\s+of\s+(\S+)(?:\s+#[\w;:.]+)?\s*$/i);if(x){for(var I=x[1].toLowerCase(),w=x[2],nr=[],lr=R+1;lr<p.length;lr++){var ir=pr(p[lr]);if(/^end\s*note$/i.test(ir)){R=lr;break}nr.push(pr(p[lr]))}m.push({position:I,target:w,text:nr.join(`
296
+ `)});continue}var mr=t.match(/^note(?:\s+(left|right|top|bottom))?\s+on\s+link\s*(?::\s*(.*))?$/i);if(mr&&N.length>0){var Or={position:"link",side:(mr[1]||"right").toLowerCase(),target:null,linkIndex:N.length-1,text:""};if(mr[2]!=null)Or.text=pr(mr[2]);else{for(var Qr=[],ee=R+1;ee<p.length;ee++){if(/^end\s*note$/i.test(pr(p[ee]))){R=ee;break}Qr.push(pr(p[ee]))}Or.text=Qr.join(`
297
+ `)}m.push(Or);continue}var re=t.match(/^state\s+(.+)$/i);if(re){var Yr=re[1],Zr=null,Ee=null,Ze=null,eo=null,Gr=Y(Yr,0);if(Gr){Zr=Gr.name;var $e=Yr.substring(Gr.end),Ye=$e.match(/^\s+as\s+(\S+)(.*)/i);Ye&&(Ee=Ye[1],$e=Ye[2]);var Hr=$e.match(/\s*<<\s*([^>]*)\s*>>/);Hr&&(Ze=pr(Hr[1]),$e=$e.substring(0,$e.indexOf("<<"))+$e.substring($e.indexOf(">>")+2));var Fo=$e.match(/\s*(#\S+)/);Fo&&(eo=Fo[1],$e=$e.replace(Fo[0],""));var k=Ee||Zr,T=q(Ze),D;L.hasOwnProperty(k)?(D=E[L[k]],Ze&&(D.stereotype=Ze,D.kind=T),eo&&(D.color=eo),Ee&&Zr!==k&&(D.name=Zr)):(D={id:k,name:Ee?Zr:k,description:[],stereotype:Ze,color:eo,kind:T,children:null,concurrent:!1,regions:null,regionSep:null},L[k]=E.length,E.push(D));var S=$e.match(/^\s*:\s*(.+?)\s*$/);if(S&&D.description.push(S[1]),$e=pr($e),$e.length>0&&$e.charAt($e.length-1)==="{"){var U=t.lastIndexOf("{"),P=$r(p,R,U,k);if(D.children=P.children||[],D.concurrent=P.concurrent,D.regions=P.regions||null,D.regionSep=P.sepChar||null,Kr(D,P.transitions||[]),P.transitions)for(var s=0;s<P.transitions.length;s++)N.push(P.transitions[s]);if(P.notes)for(var $=0;$<P.notes.length;$++)m.push(P.notes[$]);R=P.endIdx}else if($e==="{"){var G=t.lastIndexOf("{"),B=$r(p,R,G,k);if(D.children=B.children||[],D.concurrent=B.concurrent,D.regions=B.regions||null,D.regionSep=B.sepChar||null,B.transitions)for(var or=0;or<B.transitions.length;or++)N.push(B.transitions[or]);if(B.notes)for(var K=0;K<B.notes.length;K++)m.push(B.notes[K]);R=B.endIdx}}continue}var hr=t.match(/^(\S+)\s*:\s*(.*)$/);if(hr){var vr=hr[1];if(vr!=="note"&&vr.indexOf("-")<0){var Jr=Tr(vr,E,L);Jr.description.push(pr(hr[2]));continue}}var Ge=gr(t,E,L);if(Ge){N.push(Ge);continue}if(/^[rh]?note\b/i.test(t)){vo.droppedNote(H,"state","note form",_?R:null,o);var no=/:/.test(t)?-1:vo.blockEnd(p,R,/^\s*end\s*[rh]?note\b/i);no>=0&&(R=no);continue}vo.droppedLine(H,"state",_?R:null,o)}}}return{states:E,transitions:N,notes:m,hasConcurrentSep:u}}function gr(d,_,p){var E=null,L=null,N=!1;d=d.replace(/(-)\[([^\]\[]*)\](?=[-\w>])/,function(Ee,Ze,eo){for(var Gr=eo.split(","),$e=0;$e<Gr.length;$e++){var Ye=Gr[$e].replace(/^\s+|\s+$/g,"");Ye.charAt(0)==="#"?E=Ye:/^(dashed|dotted)$/i.test(Ye)?L=Ye.toLowerCase():(/^bold$/i.test(Ye)||/^thickness\s*=\s*\d+/i.test(Ye))&&(N=!0)}return Ze});var m=Y(d,0);if(m==null)return null;for(var u=m.end;u<d.length&&(d[u]===" "||d[u]===" ");)u++;if(u>=d.length)return null;var R=ar(d,u);if(R==null)return null;for(var o=R.end;o<d.length&&(d[o]===" "||d[o]===" ");)o++;var t=Y(d,o);if(t==null)return null;var n=m.name,f=t.name,O,g;if(n==="[*]")O="[*]_start",Tr(O,_,p);else if(n==="[H]"||n==="[H*]")O=n,Tr(O,_,p);else{O=n;var Q=Tr(O,_,p);m.bar&&Q.kind==="state"&&(Q.kind="fork")}var x=d.substring(t.end).match(/^\[(H\*?)\]/),I=!1;if(x&&f!=="[*]"&&f.charAt(0)!=="["){var w=p.hasOwnProperty(f)?_[p[f]]:Xr(f,_);if(w!=null){var nr=f+"$["+x[1]+"]",lr=null;w.children==null&&(w.children=[]);for(var ir=0;ir<w.children.length;ir++)w.children[ir].id===nr&&(lr=w.children[ir]);lr==null&&w.children.push({id:nr,name:x[1],description:[],stereotype:null,color:null,kind:x[1]==="H*"?"history_deep":"history_shallow",children:null,concurrent:!1,regions:null}),g=nr,I=!0}}if(!I)if(f==="[*]")g="[*]_end",Tr(g,_,p);else if(f==="[H]"||f==="[H*]")g=f,Tr(g,_,p);else{g=f;var mr=Tr(g,_,p);t.bar&&mr.kind==="state"&&(mr.kind="fork")}var Or="",Qr=null,ee=t.end,re=d.indexOf(":",ee);if(re>=0){Or=pr(d.substring(re+1));var Yr=Or.match(/^\[([^\]]*)\]/),Zr=Or.match(/\[([^\]]*)\]\s*$/);Yr?Qr=Yr[1]:Zr&&(Qr=Zr[1])}return{from:O,to:g,label:Or,guard:Qr,dashCount:R.dashCount,direction:R.direction,color:E,lineStyle:L,bold:N}}function W(d,_){_=_||{},H=_,M={title:null,header:null,footer:null,caption:null,legend:null};var p;try{p=j(d,!0)}finally{H=null}var E=null;if(p.transitions&&p.transitions.length>0){for(var L=!0,N=!1,m=0;m<p.transitions.length;m++){var u=p.transitions[m];if(u.from&&u.to&&u.from.indexOf("[*]")<0&&u.to.indexOf("[*]")<0&&u.dashCount!=null&&(N=!0,u.dashCount>1)){L=!1;break}}N&&L&&(E="LR")}return Ba.merge({states:p.states,transitions:p.transitions,notes:p.notes,direction:E},M)}return{parse:W}})();var Cd=(function(){var pr=null;function q(m,u){var R=m.split(/\r\n|\r|\n/),o=[],t=!1;o.lines=[],o.config=u||null;for(var n=0;n<R.length;n++){var f=R[n],O=f.replace(/^\s+|\s+$/g,"");if(t){f.indexOf("'/")>=0&&(t=!1);continue}if(O!==""){if(O.substring(0,2)==="/'"){O.indexOf("'/",2)<0&&(t=!0);continue}if(O.charAt(0)!=="'"&&O.charAt(0)!=="!"){if(/^skinparam\b/i.test(O)){if(/\{\s*$/.test(O))for(var g=1;g>0&&n+1<R.length;){n++;var Q=R[n].replace(/^\s+|\s+$/g,"");Q.indexOf("{")>=0&&g++,Q.indexOf("}")>=0&&g--}continue}if(/^(hide|show|newpage)\b/i.test(O)){vo.ignoredDirective(u,"activity",n,f);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(O)){var x=Ba.take(pr,R,n);if(x>=0){n=x;continue}}if(!/^(title|header|footer|caption|scale|mainframe)\b/i.test(O)){if(/^legend\b/i.test(O)){vo.droppedNote(u,"activity","legend",n,f);continue}/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(O)||(o.push(O),o.lines.push(n))}}}}return o}function Xr(m){return m==null?"":m.replace(/^\s*(?:->)?\s*(?:\[#[^\]]*\]|#[a-zA-Z0-9.]+)?\s*/,"").replace(/^\s+|\s+$/g,"")}function Tr(){for(var m=0;m<arguments.length;m++)if(arguments[m]!=null)return arguments[m].replace(/^\s+|\s+$/g,"");return""}function se(m,u){var R=m.replace(/;\s*$/,"").replace(/\s+$/,""),o=new RegExp("^"+u.split(/\s+/).join("\\s*"),"i").exec(R);if(o==null)return!1;var t=R.substring(o[0].length);return t===""||/^[\s(]/.test(t)}function Kr(m,u){for(var R=0;R<m.length;R++)if(m[R].replace(/\s+/g,"")===u)return R;return-1}function Dr(m){for(var u={color:null,colors:[],dashed:!1,dotted:!1,bold:!1,hidden:!1,thickness:null},R=String(m??"").split(/[;,]/),o=0;o<R.length;o++){var t=R[o].replace(/^\s+|\s+$/g,"").toLowerCase();t!==""&&(t.charAt(0)==="#"?(u.colors.push(t),u.color==null&&(u.color=t)):t==="dashed"?u.dashed=!0:t==="dotted"?u.dotted=!0:t==="bold"?u.bold=!0:t==="hidden"?u.hidden=!0:/^thickness=/.test(t)&&(u.thickness=parseFloat(t.substring(10))))}return u}function ar(m,u,R,o,t){for(;u<m.length;){var n=m[u],f=n.toLowerCase();if(o){for(var O=0;O<o.length;O++)if(se(n,o[O]))return u;if(Kr(o,"elseif")>=0&&rr.test(n))return u}var g=n.match(/^(?:-\[([^\]]*)\]->|-+>)\s*(?:(.*?)\s*;|(.*?))\s*$/);if(g){var Q=Dr(g[1]);Q.type="arrowLabel",Q.label=g[2]!=null?g[2]:g[3]||"",R.push(Q),u++;continue}var x=n.match(/^start\s*;?\s*((?:<<[^>]*>>\s*)*)$/i);if(x){var I=W(x[1]);R.push({type:"start",color:I.color,lineColor:I.lineColor}),u++;continue}var w=n.match(/^stop\s*;?\s*((?:<<[^>]*>>\s*)*)$/i);if(w){var nr=W(w[1]);R.push({type:"stop",color:nr.color,lineColor:nr.lineColor}),u++;continue}var lr=n.match(/^end\s*;?\s*((?:<<[^>]*>>\s*)*)$/i);if(lr){var ir=W(lr[1]);R.push({type:"end",color:ir.color,lineColor:ir.lineColor}),u++;continue}if(/^(?:detach|kill)\s*;?\s*$/i.test(n)){R.push({type:"detach"}),u++;continue}if(/^break\s*;?\s*$/i.test(n)){R.push({type:"break"}),u++;continue}var mr=n.match(/^(label|goto)\s+([\w.]+)\s*;?\s*$/i);if(mr){R.push({type:mr[1].toLowerCase(),name:mr[2]}),u++;continue}var Or=n.match(/^\((\S)\)\s*;?\s*$/);if(Or){R.push({type:"spot",letter:Or[1]}),u++;continue}var Qr=n.match(/^\|(\s*#([^|]*)\s*)?\|?\s*([^|]+?)\s*\|$/);if(Qr||(Qr=n.match(/^\|([^|]*)\|$/)),Qr){var ee=null,re=null,Yr=n.match(/^\|#([^|]+)\|([^|]+)\|$/);if(Yr)re="#"+Yr[1],ee=Yr[2].replace(/^\s+|\s+$/g,"");else{var Zr=n.match(/^\|([^|]+)\|$/);Zr&&(ee=Zr[1].replace(/^\s+|\s+$/g,""))}if(ee){for(var Ee=!1,Ze=0;Ze<t.length;Ze++)if(t[Ze].name===ee){Ee=!0,re&&!t[Ze].color&&(t[Ze].color=re);break}Ee||t.push({name:ee,color:re}),R.push({type:"swimlane",name:ee})}u++;continue}var eo=n.match(/^(floating\s+)?note(?:\s+(left|right))?((?:\s*(?:#[\w\-\\|/]+|<<[^>]*>>))*)\s*(:\s*(.*))?$/i);if(eo&&(eo[4]!=null||/^\s*$/.test(n.substring(eo[0].length)))){var Gr=eo[3]||"",$e=Gr.match(/#[\w\-\\|/]+/),Ye=Gr.match(/<<\s*([^>]*?)\s*>>/),Hr={type:"note",position:(eo[2]||"left").toLowerCase(),text:"",floating:!!eo[1],color:$e?$e[0]:null,stereotype:Ye?Ye[1]:null};if(eo[4]!=null){Hr.text=(eo[5]||"").replace(/^\s+|\s+$/g,""),R.push(Hr),u++;continue}var Fo=[];for(u++;u<m.length;){if(/^end\s*note$/i.test(m[u])){u++;break}Fo.push(m[u]),u++}Hr.text=Fo.join(`
298
+ `),R.push(Hr);continue}var k=_(m,u,/^(?:\[\[[^\]]*\]\]\s*)?if\s*(?:<<[^>]*>>\s*)?\s*\(/i,Y),T=k!=null?k.line.match(Y):null;if(T){var D={type:"if",condition:T[1].replace(/^\s+|\s+$/g,""),thenLabel:Tr(T[2],T[3],T[4]),elseLabel:"",thenBranch:[],elseBranch:[],elseIfBranches:[]};for(u=k.next,u=ar(m,u,D.thenBranch,["else","elseif","endif","end if"],t);u<m.length;){if(M.test(m[u])){u++;break}var S=_(m,u,/^(?:\[\[[^\]]*\]\]\s*)?(?:\([^)]*\)\s*)?else\s*if\s*/i,$r),U=S!=null?S.line.match($r):null;if(U){var P={condition:U[2].replace(/^\s+|\s+$/g,""),incomingLabel:Xr(U[1]),thenLabel:Tr(U[3],U[4],U[5]),body:[]};u=S.next,u=ar(m,u,P.body,["else","elseif","endif","end if"],t),D.elseIfBranches.push(P);continue}var s=m[u].match(H),$=s||m[u].match(/^else\s*(?:\((?:->)?([\s\S]*?)\))?\s*;?\s*$/i);if($){D.elseLabel=$[1]!=null?$[1].replace(/^\s+|\s+$/g,""):"",u++,u=ar(m,u,D.elseBranch,["endif","end if"],t),u<m.length&&M.test(m[u])&&u++;break}u++;break}R.push(D);continue}var G=n.match(/^while\s*\(([^)]*)\)\s*(?:is\s*\(([^)]*)\))?\s*$/i);if(G){var B={type:"while",condition:G[1].replace(/^\s+|\s+$/g,""),isLabel:G[2]!=null?G[2].replace(/^\s+|\s+$/g,""):"",endLabel:"",body:[]};if(u++,u=ar(m,u,B.body,["end while","while end"],t),u<m.length){var or=m[u].match(/^(?:end\s*while|while\s*end)\s*(?:\(([^)]*)\))?\s*;?\s*$/i);or&&(B.endLabel=or[1]!=null?or[1].replace(/^\s+|\s+$/g,""):"",u++)}R.push(B);continue}var K=n.match(/^(?:#([a-zA-Z0-9.]+)\s+)?repeat\s*(?::\s*(.*?)\s*;)?(?:\s*<<[^>]*>>)?\s*$/i);if(K){var hr={type:"repeat",label:K[2]!=null?K[2]:"",color:K[1]?"#"+K[1]:null,backward:null,body:[],condition:"",isLabel:"",notLabel:""};u++,u=ar(m,u,hr.body,["repeat while"],t);for(var vr=[],Jr=0;Jr<hr.body.length;Jr++)hr.body[Jr].type==="backward"?hr.backward==null&&(hr.backward=hr.body[Jr]):vr.push(hr.body[Jr]);if(hr.body=vr,u<m.length){var Ge=m[u].match(gr);Ge&&(hr.condition=Tr(Ge[1]),hr.isLabel=Tr(Ge[2]),hr.notLabel=Tr(Ge[3]),(Ge[4]!=null||Ge[5])&&(hr.exitArrow=Dr(Ge[4]),hr.exitArrow.label=Tr(Ge[5])),hr.testColor=d(Ge[6]),u++)}R.push(hr);continue}var no=n.match(/^(?:\(([^)]*)\)\s*)?backward\s*:\s*(.*?)\s*;(?:\s*\(([^)]*)\))?(?:\s*<<[^>]*>>)?\s*$/i);if(no){R.push({type:"backward",label:no[2],incomingLabel:Xr(no[1]),outgoingLabel:Xr(no[3])}),u++;continue}var bo=n.match(/^backward\s*:\s*(.*)$/i);if(bo&&n.charAt(n.length-1)!==";"){var Oo=[bo[1]];for(u++;u<m.length;){var We=m[u];if(We.charAt(We.length-1)===";"){Oo.push(We.substring(0,We.length-1)),u++;break}Oo.push(We),u++}R.push({type:"backward",label:Oo.join(`
299
+ `).replace(/^\s+|\s+$/g,""),incomingLabel:"",outgoingLabel:""});continue}if(/^fork\s*;?\s*$/i.test(n)){var Tt={type:"fork",branches:[[]]};for(u++,u=ar(m,u,Tt.branches[0],["fork again","end fork","fork end","end merge"],t);u<m.length;){if(j.test(m[u])){u++;break}if(/^fork\s*again\s*;?\s*$/i.test(m[u])){var Cn=[];Tt.branches.push(Cn),u++,u=ar(m,u,Cn,["fork again","end fork","fork end","end merge"],t);continue}u++;break}R.push(Tt);continue}if(/^split\s*;?\s*$/i.test(n)){var un={type:"split",branches:[[]]};for(u++,u=ar(m,u,un.branches[0],["split again","end split","split end"],t);u<m.length;){if(/^(?:end\s*split|split\s*end)\s*;?\s*$/i.test(m[u])){u++;break}if(/^split\s*again\s*;?\s*$/i.test(m[u])){var Kt=[];un.branches.push(Kt),u++,u=ar(m,u,Kt,["split again","end split","split end"],t);continue}u++;break}R.push(un);continue}var ut=n.match(/^switch\s*\(([^)]*)\)\s*((?:<<[^>]*>>\s*)*);?\s*$/i);if(ut){var fn={type:"switch",condition:ut[1].replace(/^\s+|\s+$/g,""),color:d(ut[2]),cases:[]};for(u++;u<m.length;){if(/^end\s*switch\s*;?\s*$/i.test(m[u])){u++;break}var vt=m[u].match(/^case\s*\(([^)]*)\)\s*((?:<<[^>]*>>\s*)*);?\s*$/i);if(vt){var _o={label:vt[1].replace(/^\s+|\s+$/g,""),body:[]};u++,u=ar(m,u,_o.body,["case","end switch"],t),fn.cases.push(_o);continue}vo.droppedLine(m.config,"activity",m.lines!=null?m.lines[u]:null,m[u]),u++}R.push(fn);continue}var Zo=n.match(/^group\s+(?:"([^"]*)"|(.+?))\s*$/i);if(Zo){var jt={type:"partition",name:Zo[1]||Zo[2],body:[]};u++,u=ar(m,u,jt.body,["end group"],t),u<m.length&&/^end\s+group$/i.test(m[u])&&u++,R.push(jt);continue}var zt=n.match(/^partition\s+(?:(#\S+)\s+)?(?:"([^"]*)"|([^#\s{]+))(?:\s+(#\S+))?\s*\{\s*$/i);if(zt){var Ga={type:"partition",name:zt[2]||zt[3],color:zt[1]||zt[4]||null,body:[]};u++,u=ar(m,u,Ga.body,["}"],t),u<m.length&&m[u]==="}"&&u++,R.push(Ga);continue}var $n=n.match(/^(?:\[\[[^\]]*\]\]\s*)?(?:#([a-zA-Z0-9]+))?:(.*?)([;|/<>\]}\\])\s*((?:<<[^>]*>>\s*)*)$/);if($n){R.push(L($n[2],$n[3],$n[4],$n[1]?"#"+$n[1]:null)),u++;continue}var zn=n.match(/^[-*][ \t]?(?![-.>\[])((?:<<[^>]*>>\s*)*)(.*?)\s*((?:<<[^>]*>>\s*)*)$/);if(zn&&zn[2].replace(/^\s+|\s+$/g,"")!==""){R.push(L(zn[2],";",zn[1]+zn[3],null)),u++;continue}var Dn=n.match(/^(?:\[\[[^\]]*\]\]\s*)?(?:#([a-zA-Z0-9]+))?:(.*)$/);if(Dn&&!/[;|/<>\]}\\]\s*$/.test(n)){var xe=Dn[1]?"#"+Dn[1]:null,i=[Dn[2]],c=";",F="";for(u++;u<m.length;){var y=m[u].match(/^(.*?)([;|/<>\]}\\])\s*((?:<<[^>]*>>\s*)*)$/);if(y){i.push(y[1]),c=y[2],F=y[3],u++;break}i.push(m[u]),u++}R.push(L(i.join(`
300
+ `),c,F,xe));continue}if(n==="}"){u++;continue}vo.droppedLine(m.config,"activity",m.lines!=null?m.lines[u]:null,m[u]),u++}return u}var Y=/^(?:\[\[[^\]]*\]\]\s*)?if\s*(?:<<[^>]*>>\s*)?\s*\(([\s\S]*?)\)\s*(?:then\s+when\s+([\s\S]+?)|then\s*(?:\(([\s\S]+?)\))?|(?:is|equals?)\s*\(([\s\S]+?)\)\s*then)?\s*;?\s*(?:<<[^>]*>>\s*)*$/i,$r=/^(?:\[\[[^\]]*\]\]\s*)?(?:\((?:->|-\[[^\]]*\]->)?([\s\S]*?)\)\s*)?else\s*if\s*(?:<<[^>]*>>\s*)?\s*\(([\s\S]*?)\)\s*(?:then\s+when\s+([\s\S]+?)|then\s*(?:\(([\s\S]+?)\))?|(?:is|equals?)\s*\(([\s\S]+?)\)\s*then)?\s*;?\s*(?:<<[^>]*>>\s*)*$/i,rr=/^\((?:->|-\[[^\]]*\]->)?[^)]*\)\s*else\s*if\s*\(/i,H=/^else\s+when\s+(.*?)\s*;?\s*$/i,M=/^end\s*if\s*;?\s*$/i,j=/^(?:end\s*fork|fork\s*end|end\s*merge)\s*;?\s*$/i,gr=new RegExp("^repeat\\s*while\\s*(?:\\(([\\s\\S]*?)\\))?\\s*(?:(?:is|equals?)\\s*\\(([^)]*)\\))?\\s*(?:not\\s*\\(([^)]*)\\))?\\s*(?:(?:-\\[([^\\]]*)\\]->|->)\\s*(.*?))?\\s*;?\\s*((?:<<[^>]*>>\\s*)*)$","i");function W(m){var u={color:null,lineColor:null},R=/<<\s*(#[^>]*?)\s*>>/.exec(m||"");if(R==null)return u;for(var o=R[1].split(";"),t=0;t<o.length;t++){var n=o[t].replace(/^\s+|\s+$/g,""),f=n.match(/^line\s*:\s*(#?[\w-]+)$/i);f?u.lineColor=f[1].charAt(0)==="#"?f[1]:"#"+f[1]:n.charAt(0)==="#"&&u.color==null&&(u.color=n)}return u}function d(m){return W(m).color}function _(m,u,R,o){if(u>=m.length||!R.test(m[u]))return null;for(var t=m[u],n=u+1;!o.test(t)&&n<m.length&&n-u<50;)t+=`
301
+ `+m[n],n++;return o.test(t)?{line:t,next:n}:null}var p={"|":"procedure","<":"input",">":"output","/":"save","\\":"load","]":"task","}":"continuous"},E={input:1,output:1,procedure:1,load:1,save:1,continuous:1,task:1};function L(m,u,R,o){for(var t={type:"action",label:m.replace(/^\s+|\s+$/g,""),color:o,shape:p[u]||null,stereotype:null,stereotypes:[]},n=/<<\s*([^>]*?)\s*>>/g,f;(f=n.exec(R||""))!=null;){var O=f[1];if(/^#/.test(O)){t.color||(t.color=O);continue}O&&t.stereotypes.push(O),E[O.toLowerCase()]?t.shape=O.toLowerCase():O&&!t.stereotype&&(t.stereotype=O)}return t}function N(m,u){u=u||{},pr={title:null,header:null,footer:null,caption:null,legend:null};var R=q(m,u),o=[],t=[],n=/^skinparam\s+monochrome\s+(true|on|yes)\s*$/im.test(m)||/^skinparam\s*\{[^}]*\bmonochrome\s+(true|on|yes)/im.test(m),f=m.match(/^skinparam\s+ArrowHeadColor\s+(\S+)\s*$/im)||m.match(/^skinparam(?:\s+\w+)?\s*\{[^}]*\bArrowHeadColor\s+(\S+)/im);return ar(R,0,o,null,t),Ba.merge({nodes:o,swimlanes:t,monochrome:n,arrowHeadColor:f?f[1].toLowerCase():null},pr)}return{parse:N}})();var vd=(function(){var pr="A-Za-z0-9_\\u00A0-\\uFFFF",q=pr+".",Xr="["+pr+"]["+q+"]*",Tr="["+q+"]+",se="(?:#\\w+[-\\\\|/]\\w+|#\\w+)",Kr="(?:#\\w+|dotted|dashed|plain|bold|hidden|norank|single|node|thickness=\\d+)(?:,(?:#\\w+|dotted|dashed|plain|bold|hidden|norank|single|node|thickness=\\d+))*",Dr="([-.]+)(?:\\[("+Kr+")\\])?(\\*|left|right|up|down|le?|ri?|up?|do?)?(?:\\[("+Kr+")\\])?([-.]*)>",ar="(?:\\[([^\\]*][^\\]]*)\\])?",Y="(?:(\\(\\*(?:top)?\\))|("+Xr+")|(?:==+)\\s*("+Tr+')\\s*(?:==+)|"([^"]+)"(?:\\s+as\\s+('+Tr+"))?)?",$r="\\s*(<<[^>]*>>)?\\s*("+se+")?\\s*(?:\\[\\[[^\\]]*\\]\\])?\\s*",rr="(?:(\\(\\*(?:top|\\d+)?\\))|(\\{)|("+Xr+")|(?:==+)\\s*("+Tr+')\\s*(?:==+)|"([^"]+)"(?:\\s+as\\s+('+Xr+"))?|(["+pr+"].*?))",H='\\s*(<<[^>]*>>)?(?:\\s+in\\s+("[^"]+"|\\S+))?\\s*('+se+")?\\s*$",M=new RegExp("^"+Y+$r+Dr+"\\s*"+ar+"\\s*"+rr+H,"i"),j=new RegExp("^"+Y+$r+Dr+"\\s*"+ar+'\\s*"([^"]*)$',"i"),gr=new RegExp('^\\s*([^"]*)"(?:\\s+as\\s+('+Xr+'))?\\s*(<<.*>>)?\\s*(?:in\\s+("[^"]+"|\\S+))?\\s*('+se+")?\\s*$","i"),W="(?:(\\(\\*(?:top)?\\))|(?:==+)\\s*("+Tr+')\\s*(?:==+)|"([^"]*)"(?:\\s+as\\s+('+Tr+"))?|("+Xr+"))?",d=new RegExp("^"+W+"\\s*(?:"+Dr+")?\\s*"+ar+'\\s*if(?:\\s*"([^"]*)"\\s*(?:as\\s+('+Tr+")\\s+)?|\\s+(.+?)\\s*)(?:then)?\\s*$","i"),_=/^else\s*$/i,p=/^end\s*if\s*$/i,E=new RegExp('^partition\\s+("[^"]+"|\\S+)\\s*('+se+"|\\w+)?\\s*(<<[^>]*>>)?\\s*(\\{)?\\s*$","i"),L=/^(?:end\s*partition|\})\s*$/i,N=new RegExp("^note\\s*(right|left|top|bottom)?\\s*(?:on|of)\\s+link\\s*("+se+")?\\s*:\\s*(.*)$","i"),m=new RegExp("^note\\s*(right|left|top|bottom)?\\s*(?:on|of)\\s+link\\s*("+se+")?\\s*$","i"),u=new RegExp("^note\\s+(right|left|top|bottom)\\s*("+se+")?\\s*:\\s*(.*)$","i"),R=new RegExp("^note\\s+(right|left|top|bottom)\\s*("+se+")?\\s*$","i"),o=/^end\s?note\s*$/i;function t(x){return x==null?"":String(x).replace(/^\s+|\s+$/g,"")}function n(x){return x==null?"":t(String(x).replace(/\[\[([^\]\s{]*)(?:\{[^}]*\})?(?:\s+([^\]]*))?\]\]/g,function(I,w,nr){return nr??""}).replace(/\s{2,}/g," "))}function f(x){return x=t(x),x.length>=2&&x.charAt(0)==='"'&&x.charAt(x.length-1)==='"'?x.substring(1,x.length-1):x}function O(x,I,w,nr,lr){x=x||"",lr=lr||"",w=(w||"").toLowerCase();var ir=null;w.indexOf("l")===0?ir="left":w.indexOf("r")===0?ir="right":w.indexOf("u")===0?ir="up":w.indexOf("d")===0&&(ir="down");var mr=(x+lr).replace(/=/g,"-");(ir==="left"||ir==="right")&&(mr=mr.replace(/-+/g,"-")),mr.length===1&&(ir==="up"||ir==="down")&&(mr=mr.charAt(0)+mr);for(var Or={length:Math.max(1,mr.length),direction:ir,constraint:w!=="*",dotted:(x+lr).indexOf(".")>=0,dashed:!1,bold:!1,hidden:!1,color:null},Qr=((I||"")+","+(nr||"")).split(","),ee=0;ee<Qr.length;ee++){var re=t(Qr[ee]).toLowerCase();re!==""&&(re.charAt(0)==="#"?Or.color=re:re==="dashed"?Or.dashed=!0:re==="dotted"?Or.dotted=!0:re==="bold"?Or.bold=!0:re==="hidden"&&(Or.hidden=!0))}return Or}function g(x,I,w,nr,lr){var ir=x.split(/\r\n|\r|\n/),mr=!1,Or=null,Qr=0;I.lines=[];for(var ee=0;ee<ir.length;ee++){var re=ir[ee],Yr=t(re);if(mr){re.indexOf("'/")>=0&&(mr=!1);continue}if(Or!=null){Or.test(Yr)&&(Or=null);continue}if(Qr>0){if(Yr.indexOf("{")>=0&&Qr++,Yr.indexOf("}")>=0&&Qr--,nr.skinBlock!=null&&Qr>0){var Zr=Yr.match(/^([A-Za-z][\w<>]*)\s+(.+)$/);Zr&&(w[(nr.skinBlock+Zr[1]).toLowerCase()]=t(Zr[2]))}Qr===0&&(nr.skinBlock=null);continue}if(Yr!==""){if(Yr.substring(0,2)==="/'"){Yr.indexOf("'/",2)<0&&(mr=!0);continue}if(Yr.charAt(0)!=="'"&&Yr.charAt(0)!=="!"&&!/^@(start|end)/i.test(Yr)){if(/^<style\b/i.test(Yr)){/<\/style>/i.test(Yr)||(Or=/<\/style>/i);continue}var Ee=Yr.match(/^skinparam\s+(?:(\w+)\s*)?\{\s*$/i);if(Ee){Qr=1,nr.skinBlock=Ee[1]||"";continue}var Ze=Yr.match(/^skinparam\s+([\w<>]+)\s+(.+)$/i);if(Ze){w[Ze[1].toLowerCase()]=t(Ze[2]);continue}if(!/^skinparam\b/i.test(Yr)){if(/^sprite\b/i.test(Yr)){/\{\s*$/.test(Yr)&&(Qr=1);continue}var eo=Yr.match(/^(?:(?:center|left|right)\s+)?title\b\s*:?\s*(.*)$/i);if(eo){eo[1]===""?Or=/^end\s*title\s*$/i:nr.title=eo[1];continue}var Gr=Yr.match(/^(?:(?:center|left|right)\s+)?(header|footer|caption|legend)\b\s*(.*)$/i);if(Gr){(Gr[2]===""||/^(?:center|left|right)\s*$/i.test(Gr[2]))&&(Or=new RegExp("^end\\s*"+Gr[1]+"\\s*$","i"));continue}if(/^(hide|show)\b/i.test(Yr)){vo.ignoredDirective(lr,"activityLegacy",ee,re);continue}/^(scale|mainframe|autonumber|url)\b/i.test(Yr)||/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(Yr)||(I.push(Yr),I.lines.push(ee))}}}}}function Q(x,I){I=I||{};var w=[],nr={},lr={title:null,skinBlock:null};g(x||"",w,nr,lr,I);var ir=[],mr={},Or=[],Qr=[],ee={},re=[],Yr=[],Zr=null,Ee=0,Ze=0,eo=0,Gr=null;function $e(){for(var xe=re.length-1;xe>=0;xe--)if(re[xe]!=null)return re[xe];return null}function Ye(xe,i,c,F){var y={id:xe,type:i,label:c??"",color:null,stereotype:null,partition:F===void 0?$e():F};return ir.push(y),mr[xe]=y,Gr!=null&&Gr.from!=null&&i!=="note"&&y.partition===Gr.group&&(s(Gr.from,xe,Gr.label,Gr.info),Gr=null),i!=="note"&&(Zr=xe),y}function Hr(xe,i,c){var F=f(xe),y=ee[F];y==null?(y={id:F,name:n(F),color:i||null,stereotype:c||null,parent:$e()},Qr.push(y),ee[F]=y):i&&!y.color&&(y.color=i),re.push(F)}function Fo(){re.length>0&&re.pop()}function k(xe){return xe[1]!=null?T():xe[2]!=null?S(xe[2],xe[2],"activity"):xe[3]!=null?S(t(xe[3]),"","bar"):xe[4]!=null?S(xe[5]!=null?xe[5]:xe[4],xe[4],"activity"):Zr}function T(){return mr.start==null?Ye("start","start",""):Zr="start","start"}function D(xe){var i=xe==null||xe===""||/^top$/i.test(xe)?"end":"end$"+xe;return mr[i]==null?Ye(i,"end",""):Zr=i,i}function S(xe,i,c,F){return mr[xe]!=null?(Zr=xe,xe):(Ye(xe,c,n(i),F),xe)}function U(xe,i,c,F,y,sr,kr,be){var dr=void 0;if(be!=null&&(Hr(be,null,null),dr=$e(),Fo()),xe!=null){var Mo=xe.match(/^\(\*(top|\d+)?\)$/i);return D(Mo?Mo[1]:null)}if(i!=null){eo++;var io="inner#"+eo,go={id:io,name:"",color:null,stereotype:null,parent:$e(),inner:!0};return Qr.push(go),ee[io]=go,re.push(io),Gr={group:io,from:null,label:"",info:null},Zr=null,null}if(c!=null)return S(c,c,"activity",dr);if(F!=null)return S(t(F),"","bar",dr);if(y!=null)return S(sr??y,y,"activity",dr);if(kr!=null){var gn=t(kr);return S(gn,gn,"activity",dr)}return null}function P(xe,i,c){var F=xe!=null?mr[xe]:null;F!=null&&(i!=null&&(F.stereotype=t(i).replace(/^<<\s*|\s*>>$/g,"")),c!=null&&(F.color=c))}function s(xe,i,c,F){if(xe==null||i==null)return null;var y={from:xe,to:i,label:n(c),length:F.length,direction:F.direction,constraint:F.constraint,dotted:F.dotted,dashed:F.dashed,bold:F.bold,hidden:F.hidden,color:F.color};return Or.push(y),y}function $(xe,i,c,F,y){if(y!=null)for(var sr=ir.length-1;sr>=0;sr--)ir[sr].type==="note"&&ir[sr].edge===y&&(delete mr[ir[sr].id],ir.splice(sr,1));Ze++;var kr="note#"+Ze,be=Ye(kr,"note",xe);return be.position=i?i.toLowerCase():null,be.color=c||null,be.target=F,be.edge=y??null,be}function G(xe){var i=1/0,c;for(c=0;c<xe.length;c++)if(t(xe[c])!==""){var F=xe[c].match(/^\s*/)[0].length;F<i&&(i=F)}isFinite(i)||(i=0);var y=[];for(c=0;c<xe.length;c++)y.push(xe[c].substring(Math.min(i,xe[c].match(/^\s*/)[0].length)).replace(/\s+$/,""));return y}for(var B=0;B<w.length;){var or=w[B],K;if(K=or.match(d),K){var hr;K[1]!=null?hr=T():K[2]!=null?hr=S(t(K[2]),"","bar"):K[3]!=null?hr=S(K[4]!=null?K[4]:K[3],K[3],"activity"):K[5]!=null?hr=S(K[5],K[5],"activity"):hr=Zr;var vr=K[12]!=null?K[12]:K[14]!=null?K[14]:"",Jr=K[13]!=null?K[13]:null;Jr==null&&(Ee++,Jr="#"+Ee);var Ge=mr[Jr];Ge==null?Ge=Ye(Jr,"branch",""):Zr=Jr,Ge.condition=n(vr),Yr.push(Jr);var no=K[6]!=null?O(K[6],K[7],K[8],K[9],K[10]):{length:2,direction:null,constraint:!0,dotted:!1,dashed:!1,bold:!1,hidden:!1,color:null};hr!=null&&s(hr,Jr,K[11],no),Zr=Jr,B++;continue}if(_.test(or)){Yr.length>0&&(Zr=Yr[Yr.length-1]),B++;continue}if(p.test(or)){Yr.length>0&&Yr.pop(),B++;continue}if(K=or.match(E),K){var bo=K[1];K[4]==null&&bo.charAt(bo.length-1)==="{"&&bo.charAt(0)!=='"'&&(bo=bo.substring(0,bo.length-1));var Oo=K[2]!=null&&K[2].charAt(0)==="#"?K[2]:null;Hr(bo,Oo,K[3]),B++;continue}if(L.test(or)){Fo(),B++;continue}if(K=or.match(N),K){Or.length>0&&$(t(K[3]),K[1]||"right",K[2],null,Or.length-1),B++;continue}if(K=or.match(m),K){var We=[];for(B++;B<w.length&&!o.test(w[B]);)We.push(w[B]),B++;B<w.length&&B++,Or.length>0&&$(We.join(`
302
+ `),K[1]||"right",K[2],null,Or.length-1);continue}if(K=or.match(u),K){var Tt=Zr??T();$(t(K[3]),K[1],K[2],Tt,null),B++;continue}if(K=or.match(R),K){var Cn=[];for(B++;B<w.length&&!o.test(w[B]);)Cn.push(w[B]),B++;B<w.length&&B++;var un=Zr??T();$(G(Cn).join(`
303
+ `),K[1],K[2],un,null);continue}if(K=or.match(j),K&&B+1<w.length){for(var Kt=[],ut=null,fn=B+1;fn<w.length&&(ut=w[fn].match(gr),!ut);)Kt.push(w[fn]),fn++;if(ut){var vt=k(K);P(vt,K[6],K[7]);var _o=[];t(K[14])!==""&&_o.push(t(K[14]));for(var Zo=0;Zo<Kt.length;Zo++)_o.push(Kt[Zo]);t(ut[1])!==""&&_o.push(t(ut[1]));var jt=_o.join(`
304
+ `),zt=ut[2]!=null?ut[2]:jt,Ga=void 0;ut[4]!=null&&(Hr(ut[4],null,null),Ga=$e(),Fo());var $n=S(zt,jt,"activity",Ga);Zr=$n,P($n,ut[3],ut[5]),s(vt,$n,K[13],O(K[8],K[9],K[10],K[11],K[12])),B=fn+1;continue}}if(K=or.match(M),K){var zn=k(K);if(zn!=null){P(zn,K[6],K[7]);var Dn=U(K[14],K[15],K[16],K[17],K[18],K[19],K[20],K[22]);Dn!=null?(Zr=Dn,P(Dn,K[21],K[23]),s(zn,Dn,K[13],O(K[8],K[9],K[10],K[11],K[12]))):Gr!=null&&Gr.from==null&&(Gr.from=zn,Gr.label=K[13],Gr.info=O(K[8],K[9],K[10],K[11],K[12]))}B++;continue}vo.droppedLine(I,"activityLegacy",w.lines!=null?w.lines[B]:null,w[B]),B++}return{nodes:ir,edges:Or,partitions:Qr,skin:nr,title:lr.title}}return{parse:Q}})();var pd=(function(){for(var pr=["class","interface","enum","annotation","struct","protocol","exception","entity","metaclass","stereotype"],q={},Xr=0;Xr<pr.length;Xr++)q[pr[Xr]]=!0;function Tr(o,t){var n=o.length,f=t,O="none",g="none",Q=0,x=0;for(f<n&&o[f]==="<"?(f++,f<n&&o[f]==="|"?(O="triangle",f++):O="arrow"):f<n&&o[f]==="*"?(O="diamond_filled",f++):f<n&&o[f]==="x"?f+1<n&&(o[f+1]==="-"||o[f+1]===".")&&(O="cross",f++):f<n&&o[f]==="o"?f+1<n&&(o[f+1]==="-"||o[f+1]===".")&&(O="diamond_open",f++):f<n&&o[f]==="+"?(O="plus",f++):f<n&&o[f]==="#"?(O="hash",f++):f+1<n&&o[f]==="|"&&o[f+1]==="|"?(O="doublebar",f+=2):f+1<n&&o[f]==="}"&&o[f+1]==="o"?(O="crow_zero_many",f+=2):f+1<n&&o[f]==="}"&&o[f+1]==="|"?(O="crow_one_many",f+=2):f+1<n&&o[f]==="}"&&(o[f+1]==="-"||o[f+1]===".")?(O="crow_many",f++):f+1<n&&o[f]==="|"&&o[f+1]==="o"&&(O="crow_zero_one",f+=2);f<n&&o[f]==="-";)Q++,f++;for(;f<n&&o[f]===".";)x++,f++;for(;f<n&&(o[f]==="-"||o[f]===".");)o[f]==="-"?Q++:x++,f++;if(Q+x===0)return null;f<n&&o[f]==="|"?f+1<n&&o[f+1]===">"?(g="triangle",f+=2):f+1<n&&o[f+1]==="|"?(g="doublebar",f+=2):f+1<n&&o[f+1]==="{"&&(g="crow_one_many",f+=2):f<n&&o[f]===">"?(g="arrow",f++):f<n&&o[f]==="*"?(g="diamond_filled",f++):f+1<n&&o[f]==="o"&&o[f+1]==="{"?(g="crow_zero_many",f+=2):f+1<n&&o[f]==="o"&&o[f+1]==="|"?(g="crow_zero_one",f+=2):f<n&&o[f]==="{"?(g="crow_many",f++):f<n&&o[f]==="o"?(g="diamond_open",f++):f<n&&o[f]==="x"&&(f+1>=n||o[f+1]===" "||o[f+1]===" "||o[f+1]==='"'||o[f+1]===":")?(g="cross",f++):f<n&&o[f]==="+"?(g="plus",f++):f<n&&o[f]==="#"&&(g="hash",f++);var I=x>0&&Q===0?"dotted":"solid";return{end:f,lineStyle:I,leftDeco:O,rightDeco:g,stemLen:Q+x}}function se(o,t,n){return t==="triangle"||o==="triangle"?n==="dotted"?"implements":"extends":o==="diamond_filled"||t==="diamond_filled"?"composition":o==="diamond_open"||t==="diamond_open"?"aggregation":o==="arrow"||t==="arrow"?n==="dotted"?"dependency":"association":"link"}function Kr(o,t){var n=null,f=null;switch(t){case"triangle":f="triangle";break;case"diamond_filled":f="diamond_filled";break;case"diamond_open":f="diamond_open";break;case"arrow":f="open";break;case"crow_zero_many":f="ERzeroToMany";break;case"crow_one_many":f="ERoneToMany";break;case"crow_many":f="ERmany";break;case"crow_zero_one":f="ERzeroToOne";break;case"doublebar":f="ERmandOne";break;case"cross":f="cross";break;case"plus":f="circlePlus";break;default:break}switch(o){case"triangle":n="triangle";break;case"diamond_filled":n="diamond_filled";break;case"diamond_open":n="diamond_open";break;case"arrow":n="open";break;case"crow_zero_many":n="ERzeroToMany";break;case"crow_one_many":n="ERoneToMany";break;case"crow_many":n="ERmany";break;case"crow_zero_one":n="ERzeroToOne";break;case"doublebar":n="ERmandOne";break;case"cross":n="cross";break;case"plus":n="circlePlus";break;default:break}return{fromArrow:n,toArrow:f}}function Dr(o,t){for(;t<o.length&&(o[t]===" "||o[t]===" ");)t++;if(t>=o.length)return null;if(o[t]==='"'){var n=o.indexOf('"',t+1);return n<0&&(n=o.length),{name:o.substring(t+1,n),end:n+1}}for(var f=t,O=0;f<o.length;){var g=o[f];if(g==="<")O++,f++;else if(g===">"&&O>0)O--,f++;else if(O>0)f++;else if(/[\w]/.test(g))f++;else break}return f===t?null:{name:o.substring(t,f),end:f}}function ar(o){var t=o.indexOf("<");if(t<0)return{baseName:o,generics:null};var n=o.lastIndexOf(">");return n<t?{baseName:o,generics:null}:{baseName:o.substring(0,t),generics:o.substring(t+1,n).replace(/^\s+|\s+$/g,"")}}function Y(o,t){var n=o.replace(/^\s+|\s+$/g,"");if(n==="")return null;var f=n.substring(0,2);if(n.length>=2&&n!=="..."&&(f==="--"||f===".."||f==="=="||f==="__")&&n.substring(n.length-2)===f){var O=n.length>4?n.substring(2,n.length-2).replace(/^\s+|\s+$/g,""):"",g=f.charAt(0);return new RegExp("^\\"+g+"*$").test(O)&&(O=""),{kind:"separator",style:g,title:O}}if(t&&!/^[+\-#~{]/.test(n))return{kind:"field",visibility:null,name:n,type:null,returnType:null,params:null,modifiers:[]};for(var Q=[],x=null,I=n;;){var w=I.match(/^\{(static|abstract|classifier|field|method)\}\s*/);if(w){var nr=w[1];nr==="classifier"?(nr="static",Q.push(nr)):nr==="field"||nr==="method"?x=nr:Q.push(nr),I=I.substring(w[0].length)}else break}var lr=null;if(I.length>2&&I[1]!==I[0]){var ir=I[0];(ir==="+"||ir==="-"||ir==="#"||ir==="~"||ir==="*")&&(lr=ir,I=I.substring(1).replace(/^\s*/,""))}for(;;){var mr=I.match(/^\{(static|abstract|classifier|field|method)\}\s*/);if(mr){var Or=mr[1];Or==="classifier"?(Or="static",Q.push(Or)):Or==="field"||Or==="method"?x=Or:Q.push(Or),I=I.substring(mr[0].length)}else break}var Qr=I.replace(/^\s+|\s+$/g,""),ee=I.indexOf("("),re=x==="method"||x!=="field"&&ee>=0;if(re){var Yr,Zr,Ee;if(ee>=0){Yr=I.substring(0,ee).replace(/^\s+|\s+$/g,"");var Ze=I.indexOf(")",ee);Ze<0&&(Ze=I.length),Zr=I.substring(ee+1,Ze).replace(/^\s+|\s+$/g,""),Ee=I.substring(Ze+1).replace(/^\s+|\s+$/g,"")}else Yr=I.replace(/^\s+|\s+$/g,""),Zr=null,Ee="";var eo=null,Gr=Ee.indexOf(":");return Gr>=0?eo=Ee.substring(Gr+1).replace(/^\s+|\s+$/g,""):Ee.length>0&&(eo=Ee),{kind:"method",visibility:lr,name:Yr,type:null,returnType:eo,params:Zr,modifiers:Q,text:Qr}}else{var $e=I.indexOf(":"),Ye,Hr;return $e>=0?(Ye=I.substring(0,$e).replace(/^\s+|\s+$/g,""),Hr=I.substring($e+1).replace(/^\s+|\s+$/g,"")):(Ye=I.replace(/^\s+|\s+$/g,""),Hr=null),{kind:"field",visibility:lr,name:Ye,type:Hr,returnType:null,params:null,modifiers:Q,text:Qr}}}function $r(o,t,n,f){var O=[],g=1,Q=t;for(Q=t+1;Q<o.length;Q++){var x=o[Q],I=x.replace(/^\s+|\s+$/g,"");if(I.indexOf("{")>=0&&g++,I.indexOf("}")>=0&&(g--,g<=0)){var w=I.substring(0,I.indexOf("}"));if(w.replace(/^\s+|\s+$/g,"").length>0){var nr=Y(w,f);nr&&O.push(nr)}return{members:O,endIdx:Q}}if(g===1){var lr=Y(I,f);lr&&O.push(lr)}}return{members:O,endIdx:o.length-1}}function rr(o,t){if(t.hasOwnProperty(o))return o;for(var n in t)if(t.hasOwnProperty(n)&&t[n].alias===o)return n;return o}function H(o,t,n,f){if(f.hasOwnProperty(o))return f[o];var O=ar(t||o),g={id:o,name:O.baseName,kind:"class",stereotype:null,generics:O.generics,color:null,members:[]};return f[o]=g,n.push(g),g}var M=new RegExp('^(hide|show)\\s+(?:(class|object|interface|enum|annotation|dataclass|record|abstract|protocol|struct|exception|metaclass|entity|"[^"]+"|<<.*>>|(?!empty\\s)[^\\s<>"]+)\\s+)?(?:(empty)\\s+)?(members?|attributes?|fields?|methods?|circles?|circled|stereotypes?)\\s*$',"i"),j=/^(hide|show|remove|restore|hide-class|show-class)\s+("[^"]+"|<<.*>>|\S+)\s*$/i,gr=["class","object","interface","enum","annotation","dataclass","record","abstract","protocol","struct","exception","metaclass","entity"];function W(o){var t=o.match(M);if(t){var n=t[1].toLowerCase()==="show",f=t[2],O={type:"all",value:null};if(f){var g=f.toLowerCase();gr.indexOf(g)>=0?O={type:"kind",value:g}:f.charAt(0)==="<"?O={type:"stereotype",value:f.replace(/^<<|>>$/g,"").replace(/^\s+|\s+$/g,"")}:O={type:"name",value:f.replace(/^"|"$/g,"")}}for(var Q=!!t[3],x=t[4].substring(0,3).toLowerCase(),I=x==="met"?["method"]:x==="mem"?["field","method"]:x==="cir"?["circle"]:x==="ste"?["stereotype"]:["field"],w=[],nr=0;nr<I.length;nr++)w.push({show:n,gender:O,empty:Q&&(I[nr]==="field"||I[nr]==="method"),portion:I[nr]});return w}if(t=o.match(j),t){var lr=t[1].toLowerCase();return[{show:lr==="show"||lr==="restore"||lr==="show-class",what:t[2].replace(/^"|"$/g,"")}]}return null}function d(o,t){for(var n=[],f=t+1;f<o.length;f++){var O=o[f].replace(/^\s+|\s+$/g,"");if(/^end\s*note$/i.test(O))return{text:n.join(`
305
+ `),endIdx:f};n.push(o[f])}return{text:n.join(`
306
+ `),endIdx:o.length-1}}function _(o,t){for(var n=[],f=t+1;f<o.length;f++){if(/^\s*\}\s*$/.test(o[f]))return{text:n.join(`
307
+ `),endIdx:f};n.push(o[f])}return{text:n.join(`
308
+ `),endIdx:o.length-1}}function p(o){for(var t=[],n=/<<\s*([^<>]*?)\s*>>/g,f;o&&(f=n.exec(o))!=null;)f[1]!==""&&t.push(f[1]);return t}function E(o,t){t=t||{};var n=o.split(/\r\n|\r|\n/),f=[],O={},g=[],Q=[],x=[],I=[],w=[],nr=[],lr=[],ir={};function mr(Fi,bi,Ki,ts){for(var di=Fi!=null?[Fi]:bi.indexOf(".")>0&&!/^\.|\.$|\.\./.test(bi)?bi.split("."):[bi],ns=null,Vi=0;Vi<di.length;Vi++){for(var cu=null,Ns=w.length-1;Ns>=0;Ns--)if(!w[Ns]._together){cu=x.indexOf(w[Ns]);break}for(var ds=null,gs=0;gs<x.length;gs++)if(x[gs].name===di[Vi]&&(x[gs].parentIndex==null?null:x[gs].parentIndex)===cu){ds=x[gs];break}ds==null?(ds={name:di[Vi],stereotype:Vi===di.length-1?Ki:null,classes:[],parentIndex:cu},x.push(ds)):Vi===di.length-1&&Ki&&!ds.stereotype&&(ds.stereotype=Ki),(ts||Vi<di.length-1)&&w.push(ds),ns=ds}if(di.length>1)if(ts)ns._implicitParents=di.length-1;else for(var Ws=0;Ws<di.length-1;Ws++)w.pop();return ns}for(var Or=/^skinparam\s+monochrome\s+(true|on|yes)\s*$/im.test(o)||/^skinparam\s*\{[^}]*\bmonochrome\s+(true|on|yes)/im.test(o),Qr=/^skinparam\s+style\s+strictuml\s*$/im.test(o)||/^skinparam\s*\{[^}]*\bstyle\s+strictuml/im.test(o),ee=/^\s*hide\s+circle\s*$/im.test(o),re=o.match(/^skinparam\s+linetype\s+(ortho|polyline)\s*$/im),Yr=re?re[1].toLowerCase():null,Zr=o.match(/^\s*set\s+(?:namespace)?separator\s+(\S+)\s*$/im),Ee=Zr?Zr[1]:null,Ze=Ee??".",eo=!/^\s*!pragma\s+useIntermediatePackages\s+false\s*$/im.test(o),Gr=null,$e=null,Ye={header:null,footer:null,caption:null},Hr=0;Hr<n.length;Hr++){var Fo=n[Hr],k=Fo.replace(/^\s+|\s+$/g,"");if(k!==""&&k.charAt(0)!=="'"&&k.charAt(0)!=="!"){if(/^skinparam\b/i.test(k)){if(/\{\s*$/.test(k))for(var T=1;T>0&&Hr+1<n.length;){Hr++;var D=n[Hr].replace(/^\s+|\s+$/g,"");D.indexOf("{")>=0&&T++,D.indexOf("}")>=0&&T--}continue}var S=/^title\s+(.*)$/i.exec(k);if(S){Gr=S[1];continue}if(/^title\s*$/i.test(k)){var U=vo.blockEnd(n,Hr,/^\s*end\s*title\b/i);if(U>=0){Gr=n.slice(Hr+1,U).map(function(Fi){return Fi.replace(/^\s+|\s+$/g,"")}).join(`
309
+ `),Hr=U;continue}}var P=k.match(/^legend((?:\s+(?:left|right|center|top|bottom))*)\s*$/i),s=P?null:k.match(/^legend(?:\s*:\s*|\s+)(?:"(.*)"|(\S.*))$/i);if(P||s){var $=[],G="center",B="bottom";if(s)$.push((s[1]!=null?s[1]:s[2]).replace(/\s+$/,""));else{for(var or=P[1].toLowerCase().split(/\s+/),K=0;K<or.length;K++)/^(left|right|center)$/.test(or[K])&&(G=or[K]),/^(top|bottom)$/.test(or[K])&&(B=or[K]);var hr=vo.blockEnd(n,Hr,/^\s*end\s*legend\b/i);if(hr<0){vo.droppedLine(t,"class",Hr,Fo,"opens a legend that never closes (no `end legend`)");continue}for(var vr=Hr+1;vr<hr;vr++)$.push(n[vr].replace(/^\s+|\s+$/g,""));Hr=hr}for(;$.length>0&&$[$.length-1]==="";)$.pop();for(;$.length>0&&$[0]==="";)$.shift();if($.length===0){vo.droppedLine(t,"class",Hr,Fo,'defines an empty legend (plantuml.jar answers "No legend defined")');continue}for(var Jr=-1,Ge=w.length-1;Ge>=0;Ge--)if(!w[Ge]._together){Jr=x.indexOf(w[Ge]);break}Jr>=0?I.push({position:null,target:null,method:null,text:$.join(`
310
+ `),legend:!0,lines:$,pkgIndex:Jr}):$e={position:G,vertical:B,lines:$};continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:header|footer|caption)\b/i.test(k)){var no=Ba.take(Ye,n,Hr);if(no>=0){Hr=no;continue}}if(!/^(header|footer|caption|scale|mainframe)\b/i.test(k)&&!/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(k)){if(/^<style>$/i.test(k)){for(;Hr+1<n.length&&(Hr++,!/^<\/?style>$/i.test(n[Hr].replace(/^\s+|\s+$/g,""))););continue}if(!/^<style>.*<\/style>$/i.test(k)){if(/^sprite\s+\$?\w+/i.test(k)){if(/\{\s*$/.test(k)){for(;Hr+1<n.length&&!/^\s*\}\s*$/.test(n[Hr+1]);)Hr++;Hr++}continue}if(/^newpage\b/i.test(k))break;if(/^(hide|show|remove|restore)(-class)?\b/i.test(k)){var bo=W(k);if(bo)for(var Oo=0;Oo<bo.length;Oo++)bo[Oo].portion?nr.push(bo[Oo]):lr.push(bo[Oo]);continue}var We=k.match(/^<>\s*([^\s<>"{}]+)\s*$/);if(We){var Tt=H(We[1],We[1],f,O);Tt.kind="diamond",Tt.name="",w.length>0&&w[w.length-1].classes.push(We[1]);continue}var Cn=k.toLowerCase();if(/^together\s*\{/i.test(k)){var un=w.length>0?w[w.length-1]:null;w.push({_together:!0,name:null,stereotype:null,classes:un?un.classes:[]});continue}var Kt=k.match(/^package\s+(?:"([^"]+)"|(\S+))(?:\s+<<\s*([^>]*)\s*>>)?(?:\s+(#\S+))?\s*(\{\s*\}|\{)?\s*$/i);if(Kt){mr(Kt[1],Kt[2],Kt[3]||null,!/\{\s*\}$/.test(Kt[5]||""));continue}var ut=k.match(/^namespace\s+(?:"([^"]+)"|(\S+))(?:\s+(#\S+))?\s*(\{\s*\}|\{)?\s*$/i);if(ut){mr(ut[1],ut[2],null,!/\{\s*\}$/.test(ut[4]||""));continue}if(k==="}"){if(w.length>0)for(var fn=w.pop(),vt=fn._implicitParents||0;vt-- >0&&w.length>0;)w.pop();continue}var _o=k.match(/^note\s+(?:"([^"]*)"\s+)?as\s+([^\s$#]+)((?:\s+\$\w+)*)(?:\s+(#\S+))?\s*$/i);if(_o){var Zo=_o[1];if(Zo==null){var jt=d(n,Hr);Hr=jt.endIdx,Zo=jt.text}else Zo=Zo.replace(/\\n/g,`
311
+ `);for(var zt={position:null,target:null,method:null,text:Zo,id:_o[2],tags:(_o[3]||"").match(/\$\w+/g)?_o[3].match(/\$\w+/g).map(function(Fi){return Fi.substring(1)}):[]},Ga=w.length-1;Ga>=0;Ga--)if(!w[Ga]._together){zt.pkgIndex=x.indexOf(w[Ga]);break}I.push(zt),ir[_o[2]]=zt;continue}var $n=k.match(/^("[^"]+"|[^\s"<>.-][^\s"<>]*?)\s*(<?[-.]{1,4}>?)\s*("[^"]+"|[^\s"<>-][^\s"<>]*)\s*$/);if($n&&(ir.hasOwnProperty($n[1])||ir.hasOwnProperty($n[3]))&&/^<?[-.]+>?$/.test($n[2])){var zn=ir.hasOwnProperty($n[1]),Dn=ir[zn?$n[1]:$n[3]],xe=(zn?$n[3]:$n[1]).replace(/^"|"$/g,"");ir.hasOwnProperty(xe)||(H(xe,xe,f,O),Dn.target==null&&(Dn.target=xe,Dn.position=zn?"top":"bottom"),Dn.targets=Dn.targets||[],Dn.targets.indexOf(xe)<0&&Dn.targets.push(xe));continue}var i=k.match(/^note\s+(left|right|top|bottom)((?:\s*<<[^<>]*>>)*)(?:\s+(#[^\s\[]+))?(?:\s+\[\[([^\]]*)\]\])?\s*(?:(\{)|:\s*(.*))?$/i);if(i&&f.length>0){var c=i[6];if(c==null){var F=i[5]?_(n,Hr):d(n,Hr);Hr=F.endIdx,c=F.text}I.push({position:i[1].toLowerCase(),target:f[f.length-1].id,method:null,stereotypes:p(i[2]),color:i[3]||null,url:i[4]||null,text:c.replace(/^\s+|\s+$/g,"")});continue}var y=k.match(/^note\s+(left|right|top|bottom)\s+of\s+("[^"]+"|[^\s:"<]+)(?:::([^\s<]+))?((?:\s*<<[^<>]*>>)*)(?:\s+(#[^\s\[]+))?(?:\s+\[\[([^\]]*)\]\])?\s*:(?!:)\s*(.*)$/i);if(y){I.push({position:y[1].toLowerCase(),target:y[2].replace(/^"|"$/g,""),method:y[3]||null,stereotypes:p(y[4]),color:y[5]||null,url:y[6]||null,text:y[7].replace(/^\s+|\s+$/g,"")});continue}var sr=k.match(/^note\s+(left|right|top|bottom)\s+of\s+("[^"]+"|[^\s:"<]+)(?:::("[^"]+"|[^\s<]+))?((?:\s*<<[^<>]*>>)*)(?:\s+(#[^\s\[]+))?(?:\s+\[\[([^\]]*)\]\])?\s*(\{)?\s*$/i);if(sr){var kr=sr[7]?_(n,Hr):d(n,Hr);Hr=kr.endIdx,I.push({position:sr[1].toLowerCase(),target:sr[2].replace(/^"|"$/g,""),method:sr[3]?sr[3].replace(/^"|"$/g,""):null,stereotypes:p(sr[4]),color:sr[5]||null,url:sr[6]||null,text:kr.text});continue}var be=k.match(/^note(?:\s+(left|right|top|bottom))?\s+on\s+link(?:\s+(#\S+))?\s*(?::\s*(.*))?$/i);if(be){var dr=be[3];if(dr==null){var Mo=d(n,Hr);Hr=Mo.endIdx,dr=Mo.text}if(g.length===0){vo.droppedLine(t,"class",Hr,Fo,'has no link before it (plantuml.jar answers "No link defined")');continue}for(var io=I.length-1;io>=0;io--)I[io].position==="link"&&I[io].linkIndex===g.length-1&&I.splice(io,1);I.push({position:"link",target:null,method:null,color:be[2]||null,linkIndex:g.length-1,text:dr.replace(/^\s+|\s+$/g,"")});continue}var go=/^abstract\b/i.test(k)?m(k):null;if(go){var gn=go.name,On=go.generics,co=go.stereotype,Gn=go.color,lo=go.id,It=H(lo,gn,f,O);if(It.kind="abstract",It.name=gn,It.generics=On,co&&(It.stereotype=co),Gn&&(It.color=Gn),go.tags.length&&(It.tags=(It.tags||[]).concat(go.tags)),go.quoted&&(It._quoted=!0),w.length>0&&w[w.length-1].classes.push(lo),!go.brace&&Hr+1<n.length&&/^\s*\{\s*$/.test(n[Hr+1])&&(Hr++,go.brace=!0),go.brace){var Un=$r(n,Hr,!0,!1);Hr=Un.endIdx,It.members=It.members.concat(Un.members)}L(k,lo,g,f,O,w);continue}var wa=k.match(/^\(\)\s+(?:"([^"]+)"|(\S+))(?:\s+as\s+(\S+))?\s*$/);if(wa){var Ta=wa[1]||wa[2],Ea=wa[3]||Ta;if(!O.hasOwnProperty(Ea)){var Ua={id:Ea,name:Ta,kind:"circle",members:[],stereotype:null,generics:null,color:null};O[Ea]=f.length,f.push(Ua),w.length>0&&w[w.length-1].classes.push(Ea)}continue}var oa=/^(?:class|interface|enum|annotation|struct|protocol|exception|entity|metaclass|stereotype|record|dataclass|static|object)\b/i.test(k)?m(k):null;if(oa){var vn=oa.kind,Jl=oa.name,Ul=oa.generics,_l=oa.stereotype,Ma=oa.color,gl=oa.id,Ia=H(gl,Jl,f,O);if(Ia.kind=vn,Ia.name=Jl,Ia.generics=Ul,_l&&(Ia.stereotype=_l),Ma&&(Ia.color=Ma),oa.tags.length&&(Ia.tags=(Ia.tags||[]).concat(oa.tags)),oa.quoted&&(Ia._quoted=!0),w.length>0&&w[w.length-1].classes.push(gl),!oa.brace&&Hr+1<n.length&&/^\s*\{\s*$/.test(n[Hr+1])&&(Hr++,oa.brace=!0),oa.brace){var tt=$r(n,Hr,!0,vn==="enum");if(Hr=tt.endIdx,vn==="object")for(var Vn=0;Vn<tt.members.length;Vn++)tt.members[Vn].kind==="method"&&(tt.members[Vn].kind="field");Ia.members=Ia.members.concat(tt.members)}L(k,gl,g,f,O,w);continue}var sl=k.match(/^\(\s*("[^"]+"|\S+?)\s*,\s*("[^"]+"|\S+?)\s*\)\s*([-.]+)\s*("[^"]+"|\S+)\s*$/);if(!sl){var El=k.match(/^("[^"]+"|[^\s("]+)\s*([-.]+)\s*\(\s*("[^"]+"|\S+?)\s*,\s*("[^"]+"|\S+?)\s*\)\s*$/);El&&(sl=[El[0],El[3],El[4],El[2],El[1]])}if(sl){var ui=sl[1].replace(/^"|"$/g,""),rl=sl[2].replace(/^"|"$/g,""),Rl=sl[4].replace(/^"|"$/g,"");H(ui,ui,f,O),H(rl,rl,f,O),H(Rl,Rl,f,O),Q.push({a:ui,b:rl,cls:Rl});continue}var pl=k.match(/^("[^"]+"|[^\s:"<>{}()\-.](?:[^\s:"<>{}()]|::)*)\s*:(?!:)\s*(\S.*)$/);if(pl&&!/^(title|caption|header|footer|legend|skinparam|note|hide|show|remove|restore)$/i.test(pl[1])){var Al=u(pl[1].replace(/^"|"$/g,""),O,{packages:x,nsSep:Ze,stack:w});if(!Al.group){var Wa=H(Al.id,Al.id,f,O),ai=Y(pl[2],Wa.kind==="enum");if(ai&&Wa.members.push(ai),(!O.hasOwnProperty(Al.id)||Wa.members.length===1)&&w.length>0&&Wa.members.length===1){for(var Nl=w[w.length-1],xa=!1,fi=0;fi<x.length&&!xa;fi++)xa=x[fi].classes.indexOf(Al.id)>=0;!xa&&Nl.classes.indexOf(Al.id)<0&&Nl.classes.push(Al.id)}continue}}var Ni=R(k,f,O,w,{packages:x,nsSep:Ze,stack:w});if(Ni){g.push(Ni);continue}if(!/^set\s+(?:namespace)?separator\b/i.test(k)){if(/^[rh]?note\b/i.test(k)){vo.droppedNote(t,"class","note form",Hr,Fo);var Oi=/:/.test(k)?-1:vo.blockEnd(n,Hr,/^\s*end\s*[rh]?note\b/i);Oi>=0&&(Hr=Oi);continue}if(!/^allow_?mixing\s*$/i.test(k)){if(/^newpage\b/i.test(k)){vo.ignoredDirective(t,"class",Hr,Fo);continue}vo.droppedLine(t,"class",Hr,Fo)}}}}}}if(Ze.toLowerCase()!=="none"){for(var Vl={},gi=0;gi<x.length;gi++)for(var el=0;el<x[gi].classes.length;el++)Vl[x[gi].classes[el]]=!0;for(var $a=0;$a<f.length;$a++){var li=f[$a];if(!(Vl[li.id]||li._quoted||li.kind==="circle"||li.kind==="diamond")&&!(li.id.indexOf(Ze)<0)){for(var wl=li.id.split(Ze),Xa=wl.pop(),Ql=Xa===""||wl.length===0,Ll=0;Ll<wl.length&&!Ql;Ll++)wl[Ll]===""&&(Ql=!0);if(!Ql){eo||(wl=[wl.join(Ze)]);var Dl=null;for(Ll=0;Ll<wl.length;Ll++){for(var qa=-1,pi=0;pi<x.length;pi++)if(x[pi].name===wl[Ll]&&(x[pi].parentIndex==null?null:x[pi].parentIndex)===Dl){qa=pi;break}qa<0&&(x.push({name:wl[Ll],stereotype:null,classes:[],parentIndex:Dl}),qa=x.length-1),Dl=qa}x[Dl].classes.push(li.id),li.name=Xa}}}}return{classes:f,relationships:g,associationClasses:Q,packages:x,notes:I,monochrome:Or,hideCircle:ee,strictUml:Qr,hideRules:nr,hideEntities:lr,linetype:Yr,title:Gr,header:Ye.header,footer:Ye.footer,caption:Ye.caption,legend:$e}}function L(o,t,n,f,O,g){var Q=o.indexOf("{");Q>=0&&(o=o.substring(0,Q));var x=o.match(/\bextends\s+(\S+)/i);if(x){var I=x[1].replace(/,\s*$/,""),w=I;if(H(w,I,f,O),g.length>0){var nr=g[g.length-1];nr.classes.indexOf(w)<0&&nr.classes.push(w)}n.push({from:t,to:w,type:"extends",fromCardinality:null,toCardinality:null,label:null,lineStyle:"solid",fromArrow:null,toArrow:"triangle",_topId:w,_botId:t})}var lr=o.match(/\bimplements\s+(.+?)(?:\s*\{|\s*$)/i);if(lr)for(var ir=lr[1].split(/\s*,\s*/),mr=0;mr<ir.length;mr++){var Or=ir[mr].replace(/^\s+|\s+$/g,"");Or!==""&&(H(Or,Or,f,O),n.push({from:t,to:Or,type:"implements",fromCardinality:null,toCardinality:null,label:null,lineStyle:"dotted",fromArrow:null,toArrow:"triangle",_topId:Or,_botId:t}))}}var N=new RegExp('^(abstract(?:\\s+class)?|static\\s+class|class|interface|enum|annotation|struct|protocol|exception|entity|metaclass|stereotype|record|dataclass|object)\\s+(?:"([^"]+)"\\s*(?:<([^<>]*)>)?\\s+as\\s+(\\S+?)|(\\S+?)\\s+as\\s+"([^"]+)"\\s*(?:<([^<>]*)>)?|"([^"]+)"|(\\S+?))\\s*(?:<([^<>]*)>)?((?:\\s*<{2,3}[^>]*>{2,3})*)((?:\\s*\\$[\\w]+)*)\\s*(?:\\[\\[[^\\]]*\\]\\])?\\s*(#\\S+(?:\\s+##\\S+)?|##\\S+)?(?:\\s+extends\\s+[^{]+?)?(?:\\s+implements\\s+[^{]+?)?\\s*(\\{\\s*\\}|\\{)?\\s*$',"i");function m(o){var t=o.match(N);if(t==null)return null;var n=t[1].toLowerCase(),f=/^abstract/.test(n)?"abstract":/^static/.test(n)?"class":n,O=t[2]||t[6]||t[8]||null,g=t[4]||t[5]||t[9]||null,Q=O!=null;Q&&(O=O.replace(/\\n/g,`
312
+ `));for(var x=O??g,I=g??O,w=t[3]||t[7]||t[10]||null,nr=[],lr=t[11]||"",ir,mr=/(<{2,3})\s*([^>]*?)\s*>{2,3}/g;(ir=mr.exec(lr))!=null;)ir[1].length===2&&nr.push(ir[2]);if(!Q){var Or=ar(x);Or.generics&&(x=Or.baseName,w=w||Or.generics)}return{kind:f,id:I,name:x,generics:w,stereotype:nr.length?nr.join("\xBB \xAB"):null,color:t[13]||null,tags:(t[12]||"").match(/\$\w+/g)?t[12].match(/\$\w+/g).map(function(Qr){return Qr.substring(1)}):[],quoted:Q,brace:t[14]==="{"}}function u(o,t,n){if(t.hasOwnProperty(o))return{id:o,group:!1};var f=o.replace(/^\.+/,"");if(t.hasOwnProperty(f))return{id:f,group:!1};var O=n&&n.nsSep?n.nsSep:".";if(n&&n.stack&&O.toLowerCase()!=="none"){for(var g=[],Q=0;Q<n.stack.length;Q++)!n.stack[Q]._together&&n.stack[Q].name&&g.push(n.stack[Q].name);for(var x=0;x<g.length&&f.indexOf(O)>0;x++){var I=g.slice(x).join(O)+O;if(f.indexOf(I)===0&&f.length>I.length){if(f=f.substring(I.length),t.hasOwnProperty(f))return{id:f,group:!1};break}}}if(O!=="::"&&f.indexOf("::")>0){var w=f.substring(0,f.lastIndexOf("::"));if(w)return u(w,t,n)}for(var nr=n&&n.packages?n.packages:[],lr=0;lr<nr.length;lr++)if(nr[lr].name===f&&!nr[lr]._together)return{id:f,group:!0};if(O.toLowerCase()!=="none"&&f.indexOf(O)>0){var ir=f.split(O),mr=[];if(n&&n.stack)for(var Or=n.stack.length-1;Or>=0;Or--)n.stack[Or]._together||mr.push(nr.indexOf(n.stack[Or]));mr.push(null);for(var Qr=0;Qr<mr.length;Qr++){for(var ee=mr[Qr],re=!0,Yr=0;Yr<ir.length&&re;Yr++){re=!1;for(var Zr=0;Zr<nr.length;Zr++)if(nr[Zr].name===ir[Yr]&&!nr[Zr]._together&&(nr[Zr].parentIndex==null?null:nr[Zr].parentIndex)===ee){ee=Zr,re=!0;break}}if(re)return{id:nr[ee].name,group:!0}}}var Ee=n&&n.nsSep&&n.nsSep.toLowerCase()!=="none"?n.nsSep:null,Ze=f.lastIndexOf("::"),eo=2;if(Ee&&Ee!=="::"&&f.lastIndexOf(Ee)>Ze&&(Ze=f.lastIndexOf(Ee),eo=Ee.length),Ze>0){var Gr=f.substring(Ze+eo);if(Gr&&t.hasOwnProperty(Gr))return{id:Gr,group:!1}}return{id:f,group:!1}}function R(o,t,n,f,O){o=o.replace(/^@[\d.]+\s+/,"");var g=o.match(/^(?:"([^"]+)"|(\S+))\s+\(\)([-.]+)\s+(?:"([^"]+)"|(\S+))\s*$/),Q=null,x=null;if(g)Q=g[1]||g[2],x=g[4]||g[5];else{var I=o.match(/^(?:"([^"]+)"|(\S+))\s+([-.]+)\(\)\s+(?:"([^"]+)"|(\S+))\s*$/);I&&(x=I[1]||I[2],Q=I[4]||I[5])}if(Q!=null)return H(x,x,t,n),{from:Q,to:x,type:"lollipop",fromCardinality:null,toCardinality:null,label:null,lineStyle:"solid",fromArrow:null,toArrow:null,_topId:null,_botId:null,_sameRank:!0};var w=null,nr=null,lr=!1,ir=!1;o=o.replace(/([-.])\[([^\]\[]*)\](?=[-.\w>])/,function(un,Kt,ut){for(var fn=ut.split(","),vt=0;vt<fn.length;vt++){var _o=fn[vt].replace(/^\s+|\s+$/g,"");_o.charAt(0)==="#"?w=_o:/^(dashed|dotted)$/i.test(_o)?nr=_o.toLowerCase():/^bold$/i.test(_o)?ir=!0:/^hidden$/i.test(_o)?lr=!0:/^thickness\s*=\s*\d+/i.test(_o)&&(ir=!0)}return Kt});var mr=null,Or=o.match(/([-.])(up|down|left|right|u|d|l|r)\1/i);if(Or){var Qr=Or[2].toLowerCase().charAt(0);mr=Qr==="u"?"up":Qr==="d"?"down":Qr==="l"?"left":"right"}o=o.replace(/([-.])(up|down|left|right|u|d|l|r)\1/gi,"$1$1");for(var ee=-1,re=null,Yr=0;Yr<o.length;Yr++){var Zr=o[Yr];if(Zr==="<"||Zr==="*"||Zr==="o"||Zr==="+"||Zr==="#"||Zr==="-"||Zr==="."||Zr==="|"||Zr==="}"||Zr==="x"){var Ee=Tr(o,Yr),Ze=Ee!=null&&Ee.end-Yr===1&&(Zr==="-"||Zr===".")&&Yr>0&&/^[ \t]$/.test(o[Yr-1])&&Ee.end<o.length&&/^[ \t]$/.test(o[Ee.end])&&o.substring(0,Yr).indexOf(":")<0;if(Ee!=null&&(Ee.end-Yr>=2||Ze)){var eo=Yr>0?o[Yr-1]:" ",Gr=Ee.end<o.length?o[Ee.end]:" ",$e=o.substring(Yr,Ee.end),Ye=(o.substring(0,Yr).split('"').length-1)%2===1,Hr=!Ye&&(Yr===0||eo===" "||eo===" "||eo==='"'||/[A-Za-z0-9_]/.test(eo)&&/^[<*|}#+\-.]/.test($e)&&Ee.end-Yr>=2),Fo=Ee.end>=o.length||Gr===" "||Gr===" "||Gr==='"'||Gr===":"||/[A-Za-z0-9"]/.test(Gr)&&/[-.>|*#+]$/.test($e)&&Ee.end-Yr>=2;if(Hr&&Fo){ee=Yr,re=Ee;break}}}}if(re==null)return null;var k=o.substring(0,ee).replace(/^\s+|\s+$/g,""),T=o.substring(re.end).replace(/^\s+|\s+$/g,"");k=k.replace(/\s*\[[^\]]*\]$/,""),T=T.replace(/^\[[^\]]*\]\s*/,"");var D=null,S="",U=k.match(/^(.+?)\s+"([^"]*)"$/);if(U?(S=U[1].replace(/^\s+|\s+$/g,""),D=U[2]):S=k,S==="")return null;for(var P=null,s="",$=null,G=-1,B=0;B<T.length;B++)if(T[B]===":"){if(T[B+1]===":"){B++;continue}G=B;break}G>=0&&($=T.substring(G+1).replace(/^\s+|\s+$/g,""),T=T.substring(0,G).replace(/^\s+|\s+$/g,""),$.length>=2&&$.charAt(0)==='"'&&$.charAt($.length-1)==='"'&&($=$.substring(1,$.length-1))),T=T.replace(/\s*<<[^<>]*>>\s*$/,"").replace(/^\s+|\s+$/g,"");var or=T.match(/^"([^"]*)"\s+(.+)$/);if(or?(P=or[1],s=or[2].replace(/^\s+|\s+$/g,"")):s=T,s==="")return null;S=S.replace(/^"|"$/g,""),s=s.replace(/^"|"$/g,"");var K=u(S,n,O),hr=u(s,n,O);if(S=K.id,s=hr.id,K.group||H(S,S,t,n),hr.group||H(s,s,t,n),f.length>0){var vr=f[f.length-1];vr.classes.indexOf(S)<0&&vr.classes.push(S),vr.classes.indexOf(s)<0&&vr.classes.push(s)}var Jr=se(re.leftDeco,re.rightDeco,re.lineStyle),Ge=Kr(re.leftDeco,re.rightDeco),no=!1;Jr==="extends"||Jr==="implements"||Jr==="association"||Jr==="dependency"?(re.leftDeco==="triangle"||re.leftDeco==="arrow")&&(no=!0):(Jr==="composition"||Jr==="aggregation")&&(re.rightDeco==="diamond_filled"||re.rightDeco==="diamond_open")&&(no=!0);var bo=null,Oo=null,We=!1,Tt=mr==="left"||mr==="right"?mr:null;mr==="left"||mr==="right"||mr==null&&re.stemLen<=1?We=!0:mr==="up"?(bo=s,Oo=S):(bo=S,Oo=s);var Cn=nr||re.lineStyle;return no?{from:s,to:S,type:Jr,fromCardinality:P,toCardinality:D,label:$,lineStyle:Cn,color:w,bold:ir,hidden:lr,fromArrow:Ge.toArrow,toArrow:Ge.fromArrow,_topId:bo,_botId:Oo,_sameRank:We,_side:Tt}:{from:S,to:s,type:Jr,fromCardinality:D,toCardinality:P,label:$,lineStyle:Cn,color:w,bold:ir,hidden:lr,fromArrow:Ge.fromArrow,toArrow:Ge.toArrow,_topId:bo,_botId:Oo,_sameRank:We,_side:Tt,fromGroup:K.group,toGroup:hr.group}}return{parse:E}})();var $d=(function(){for(var pr=["package","node","folder","frame","cloud","database","storage","artifact","card","rectangle","action","agent","boundary","circle","collections","control","entity","file","hexagon","label","person","queue","stack","usecase"],q={},Xr=0;Xr<pr.length;Xr++)q[pr[Xr]]=!0;for(var Tr=["component","interface","port","portin","portout"],se={},Kr=0;Kr<Tr.length;Kr++)se[Tr[Kr]]=!0;function Dr(p,E){var L=p.length,N=E,m="none",u="none",R=0,o=0;for(N<L&&p[N]==="<"?(m="filled",N++):N<L&&p[N]===")"&&N+1<L&&(p[N+1]==="-"||p[N+1]===".")&&(m="socket",N++);N<L&&p[N]==="-";)R++,N++;for(;N<L&&p[N]===".";)o++,N++;for(;N<L&&p[N]==="-";)R++,N++;for(;N<L&&p[N]===".";)o++,N++;if(R+o===0)return null;N<L&&p[N]===">"?(u="filled",N++):N<L&&p[N]==="("&&(N+1>=L||p[N+1]===" "||p[N+1]===" ")&&(u="socket",N++);var t;o>0?t="dashed":t="solid";var n;return m==="socket"||u==="socket"?n="socket":m!=="none"&&u!=="none"?n="bidirectional":u!=="none"||m!=="none"?n="open":n="none",{end:N,lineStyle:t,leftHead:m,rightHead:u,arrowHead:n,stemLen:R+o}}function ar(p){return p==null?p:String(p).replace(/\\r\\n|\\n|\\r/g,`
313
+ `).replace(/\\t/g," ")}function Y(p,E){for(;E<p.length&&(p[E]===" "||p[E]===" ");)E++;if(E>=p.length)return null;if(p[E]==="["){var L=p.indexOf("]",E+1);return L<0&&(L=p.length),{name:ar(p.substring(E+1,L)),end:L+1,kind:"bracket"}}if(p[E]===":"){var N=p.indexOf(":",E+1);if(N>E+1)return{name:ar(p.substring(E+1,N)),end:N+1,kind:"actor"}}if(p[E]==='"'){var m=p.indexOf('"',E+1);return m<0&&(m=p.length),{name:ar(p.substring(E+1,m)),end:m+1,kind:"bare"}}if(p[E]==="("&&E+1<p.length&&p[E+1]===")")return Y(p,E+2);for(var u=E;u<p.length&&/[\w]/.test(p[u]);)u++;return u===E?null:{name:p.substring(E,u),end:u,kind:"bare"}}function $r(p,E,L,N,m){if(E.hasOwnProperty(p))return p;for(var u in E)if(E.hasOwnProperty(u)&&L[E[u]].name===p)return u;var R={id:p,name:p,kind:N||"component",children:null,color:null,parent:m||null};return E[p]=L.length,L.push(R),p}function rr(p,E,L,N){var m=/-\[[^\]]*hidden[^\]]*\][a-z]*-/i.test(p),u=null,R=p.match(/[-\]](up|u|down|d|left|l|right|r)-/i);R&&(u=R[1].toLowerCase().charAt(0));var o=!1;(/\s~~+\s/.test(p)||/~~+[\s>(]/.test(p))&&(o=!0,p=p.replace(/~~+/g,function(eo){return new Array(eo.length+1).join("-")}));var t=null,n=!1,f=null,O=p.match(/-\[([^\]]*)\][a-z]*-/i);if(O)for(var g=O[1].split(","),Q=0;Q<g.length;Q++){var x=g[Q].replace(/^\s+|\s+$/g,"");x.charAt(0)==="#"?t=x:/^bold$/i.test(x)||/^thickness\s*=/i.test(x)?n=!0:/^(dashed|dotted)$/i.test(x)&&(f=x.toLowerCase())}p=p.replace(/-\[[^\]]*\](?:up|down|left|right|u|d|l|r)?-/gi,"--"),p=p.replace(/-(up|down|left|right|u|d|l|r)-/gi,"--");var I=Y(p,0);if(I==null)return null;for(var w=I.end;w<p.length&&(p[w]===" "||p[w]===" ");)w++;if(w>=p.length)return null;var nr=Dr(p,w);if(nr==null)return null;for(var lr=nr.end;lr<p.length&&(p[lr]===" "||p[lr]===" ");)lr++;var ir=Y(p,lr);if(ir==null)return null;var mr=null,Or=ir.end,Qr=p.indexOf(":",Or);Qr>=0&&(mr=p.substring(Qr+1).replace(/^\s+|\s+$/g,""),mr.length>=2&&mr.charAt(0)==='"'&&mr.charAt(mr.length-1)==='"'&&(mr=mr.substring(1,mr.length-1)),mr=mr.replace(/\\r\\n|\\n|\\r/g,`
314
+ `).replace(/\\t/g," "));var ee=I.kind==="bracket"?"component":I.kind==="actor"?"actor":"interface",re=ir.kind==="bracket"?"component":ir.kind==="actor"?"actor":"interface",Yr=$r(I.name,E,L,ee,N),Zr=$r(ir.name,E,L,re,N),Ee=Yr,Ze=Zr;return nr.leftHead!=="none"&&nr.rightHead==="none"&&(Ee=Zr,Ze=Yr,u==="r"?u="l":u==="l"?u="r":u==="u"?u="d":u==="d"&&(u="u")),{from:Ee,to:Ze,label:mr,lineStyle:f||(o?"dotted":nr.lineStyle),arrowHead:nr.arrowHead,color:t,bold:n,dir:u,hidden:m,span:Math.max(0,nr.stemLen-1)}}function H(p,E){for(var L=1,N=[],m=E+1;m<p.length;m++){for(var u=p[m].replace(/^\s+|\s+$/g,""),R=0;R<u.length;R++)if(u[R]==="{")L++;else if(u[R]==="}"&&(L--,L===0))return{endIdx:m,bodyLines:N};N.push(u)}return{endIdx:p.length-1,bodyLines:N}}function M(p,E){for(var L=E;L<p.length;L++)if(/^[^\[\]]*\]$/.test(p[L].replace(/^\s+|\s+$/g,"")))return L;return-1}function j(p,E){for(var L=E;L<p.length;L++)if(/"$/.test(p[L].replace(/^\s+|\s+$/g,"")))return L;return-1}function gr(p,E,L){for(var N=[],m=!1,u=0;u<E.length;u++){var R=E[u].replace(/^\s+|\s+$/g,"");if(!m&&/^\{\{/.test(R)&&(m=!0,vo.droppedNote(L,"component","embedded {{ }} sub-diagram",null,E[u])),m){/\}\}$/.test(R)&&(m=!1);continue}N.push(R)}p.body=N,p.name=N.join(`
315
+ `)}function W(p,E){for(var L=[],N=E+1;N<p.length;N++){var m=p[N].replace(/^\s+|\s+$/g,"");if(/^end\s*note$/i.test(m))return{text:L.join(`
316
+ `),endIdx:N};L.push(m)}return{text:L.join(`
317
+ `),endIdx:p.length-1}}function d(p,E,L,N,m,u,R){for(var o=0;o<p.length;o++){var t=p[o].replace(/^\s+|\s+$/g,"");if(t!==""){if(t==="}"){if(R.togetherOpen.length>0){for(var n=R.togetherOpen.pop(),f=[],O=n.nodeCount;O<L.length;O++)L[O].parent===n.parent&&f.push(L[O].id);for(var g=n.containerCount;g<N.length;g++)N[g].parent===n.parent&&f.push(N[g].id);f.length>1&&R.togethers.push(f)}continue}if(t.charAt(0)!=="'"){if(/^<style\b/i.test(t)&&!/<\/style\s*>/i.test(t)){for(;o+1<p.length&&!/<\/style\s*>/i.test(p[o]);)o++;continue}if(!/^<\/?style\b/i.test(t)){if(t=t.replace(/<\$([\w.-]+)\{[^}]*\}>/g,"<$$$1>"),/^sprite\s+\S+\s+<svg\b/i.test(t)){for(;o+1<p.length&&!/<\/svg\s*>/i.test(p[o]);)o++;continue}if(/^sprite\s+\S+\s+\[[^\]]*\]\s*\{\s*$/i.test(t)){for(;o+1<p.length&&!/^\s*\}\s*$/.test(p[o]);)o++;continue}if(!/^sprite\b/i.test(t)&&t.charAt(0)!=="!"){if(/^skinparam\b/i.test(t)){if(/\{\s*$/.test(t)){var Q=H(p,o);o=Q.endIdx}continue}var x=/^title\s+(.+)$/i.exec(t);if(x&&R){R.title=ar(x[1]);continue}if(/^title\s*$/i.test(t)){for(var I=[],w=o+1;w<p.length&&!/^end\s*title$/i.test(p[w].replace(/^\s+|\s+$/g,""));w++)I.push(p[w].replace(/^\s+|\s+$/g,""));o=w,R&&(R.title=ar(I.join(`
318
+ `)));continue}if(/^(hide|show|remove|restore|newpage)\b/i.test(t)){vo.ignoredDirective(R.config,"component",u==null?o:null,p[o]);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:header|footer|caption)\b/i.test(t)){var nr=Ba.take(R,p,o);if(nr>=0){o=nr;continue}}if(!(/^(header|footer|caption|scale|mainframe)\b/i.test(t)||/^set\s+(?:namespace)?separator\b/i.test(t))&&!/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(t)){var lr=t.match(/^note\s+(left|right|top|bottom)\s+of\s+(?:"([^"]+)"|(\[[^\]]+\])|(\S+?))\s*:\s*(.*)$/i);if(lr&&R){R.notes.push({position:lr[1].toLowerCase(),target:lr[2]||(lr[3]?lr[3].slice(1,-1):lr[4]),text:lr[5].replace(/^\s+|\s+$/g,"").replace(/\\r\\n|\\n|\\r/g,`
319
+ `).replace(/\\t/g," ")});continue}var ir=t.match(/^note\s+(left|right|top|bottom)\s+of\s+(?:"([^"]+)"|(\[[^\]]+\])|(\S+))\s*$/i);if(ir&&R){var mr=W(p,o);o=mr.endIdx,R.notes.push({position:ir[1].toLowerCase(),target:ir[2]||(ir[3]?ir[3].slice(1,-1):ir[4]),text:mr.text.replace(/\\r\\n|\\n|\\r/g,`
320
+ `).replace(/\\t/g," ")});continue}var Or=t.match(/^note\s+"([^"]+)"\s+as\s+(\S+)\s*$/i);if(Or){var Qr=Or[1].replace(/\\r\\n|\\n|\\r/g,`
321
+ `).replace(/\\t/g," ");E[Or[2]]=L.length,L.push({id:Or[2],name:Qr,kind:"note",children:null,color:null,parent:u||null});continue}var ee=t.match(/^note\s+as\s+(\S+)\s*$/i);if(ee){var re=W(p,o);o=re.endIdx,E[ee[1]]=L.length,L.push({id:ee[1],name:re.text.replace(/\\r\\n|\\n|\\r/g,`
322
+ `).replace(/\\t/g," "),kind:"note",children:null,color:null,parent:u||null});continue}if(/^[rh]?note\b/i.test(t)){if(/^end\s*note$/i.test(t)||vo.droppedNote(R.config,"component","note form",u==null?o:null,p[o]),!/:/.test(t)&&!/^end\s*note$/i.test(t)){var Yr=W(p,o);o=Yr.endIdx}continue}var Zr=t.match(/^legend(?:\s+(left|right|top|bottom|center))?\s*$/i);if(Zr){for(var Ee=[],Ze=o+1;Ze<p.length;Ze++){var eo=p[Ze].replace(/^\s+|\s+$/g,"");if(/^end\s*legend$/i.test(eo))break;Ee.push(eo.replace(/\\r\\n|\\n|\\r/g,`
323
+ `).replace(/\\t/g," "))}o=Ze,R&&!R.legend&&(R.legend={position:Zr[1]?Zr[1].toLowerCase():"center",lines:Ee});continue}var Gr=t.toLowerCase();if(/^together\s*\{\s*$/i.test(t)){R.togetherOpen.push({parent:u||null,nodeCount:L.length,containerCount:N.length});continue}var $e=null,Ye=t.match(/^(package|node|folder|frame|cloud|database|storage|artifact|card|rectangle|action|agent|boundary|circle|collections|control|entity|file|hexagon|label|person|queue|stack|usecase|component|interface|actor)\s+([^\s\[\]"{}<#]+)\s*((?:<<[^>]*>>|\[\[[^\]]*\]\]|#[^\s\[]+|\s)*)(?:\[([^\[\]]*)|as\s*"([^"]*))$/i);if(Ye){var Hr=Ye[4]===void 0,Fo=Hr?j(p,o+1):M(p,o+1);if(Fo>=0){$e=[];var k=(Hr?Ye[5]:Ye[4]).replace(/^\s+|\s+$/g,"");k!==""&&$e.push(k);for(var T=o+1;T<Fo;T++)$e.push(p[T].replace(/^\s+|\s+$/g,""));var D=p[Fo].replace(/^\s+|\s+$/g,"");D=D.substring(0,D.length-1).replace(/^\s+|\s+$/g,""),D!==""&&$e.push(D),o=Fo,t=(Ye[1]+" "+Ye[2]+" "+Ye[3].replace(/\[\[[^\]]*\]\]/g,"")).replace(/\s+$/,""),Gr=t.toLowerCase()}}var S=t.match(/^(package|node|folder|frame|cloud|database|storage|artifact|card|rectangle|action|agent|boundary|circle|collections|control|entity|file|hexagon|label|person|queue|stack|usecase)\s+(.+)$/i);if(S&&!/^(?:[>~=.-]|<(?![$&]))/.test(S[2])){var U=S[1].toLowerCase(),P=S[2],s=null,$=null,G=null,B=0;if(P.charAt(0)==='"'&&P.charAt(1)==='"'){var or=P.indexOf('""',2);or<0&&(or=P.length),s=ar(P.substring(2,or)),B=or+2}else if(P.charAt(0)==='"'){var K=P.indexOf('"',1);K<0&&(K=P.length),s=ar(P.substring(1,K)),B=K+1}else{for(var hr=0;hr<P.length&&P[hr]!==" "&&P[hr]!==" "&&P[hr]!=="{";)hr++;s=P.substring(0,hr),B=hr}for(var vr=P.substring(B).replace(/^\s+/,""),Jr=null,Ge=!0;Ge;){Ge=!1;var no=vr.match(/^<<\s*([^>]*?)\s*>>(.*)/);if(no&&Jr==null){Jr=no[1],vr=no[2].replace(/^\s+/,""),Ge=!0;continue}var bo=vr.match(/^as\s+(?:"([^"]*)"|(\S+))(.*)/i);if(bo&&$==null){bo[1]!==void 0?($=s,s=ar(bo[1])):$=bo[2],vr=bo[3].replace(/^\s+/,""),Ge=!0;continue}var Oo=vr.match(/^(#\S+)(.*)/);Oo&&G==null&&(G=Oo[1],vr=Oo[2].replace(/^\s+/,""),Ge=!0)}var We=$||s,Tt=vr.indexOf("{")>=0||/\{\s*$/.test(t);if(Tt){var Cn=H(p,o);o=Cn.endIdx;var un={id:We,name:s,kind:U,children:[],color:G,stereotype:Jr,parent:u||null};N.push(un);var Kt=L.length,ut=N.length;d(Cn.bodyLines,E,L,N,m,We,R);for(var fn=Kt;fn<L.length;fn++)L[fn].parent===We&&un.children.push(L[fn].id);for(var vt=ut;vt<N.length;vt++)N[vt].parent===We&&un.children.push(N[vt].id)}else{var _o={id:We,name:s,kind:U,children:null,color:G,stereotype:Jr,parent:u||null};$e&&gr(_o,$e,R.config),E[We]=L.length,L.push(_o)}continue}var Zo=t.match(/^component\s+(.+)$/i);if(Zo){var jt=Zo[1],zt=null,Ga=null,$n=null,zn=0;if(jt.charAt(0)==='"'){var Dn=jt.indexOf('"',1);Dn<0&&(Dn=jt.length),zt=ar(jt.substring(1,Dn)),zn=Dn+1}else if(jt.charAt(0)==="["){var xe=jt.indexOf("]",1);xe<0&&(xe=jt.length),zt=ar(jt.substring(1,xe)),zn=xe+1}else{for(var i=0;i<jt.length&&jt[i]!==" "&&jt[i]!==" "&&jt[i]!=="{";)i++;zt=jt.substring(0,i),zn=i}for(var c=jt.substring(zn).replace(/^\s+/,""),F=null,y=!0;y;){y=!1;var sr=c.match(/^<<\s*([^>]*?)\s*>>(.*)/);if(sr&&F==null){F=sr[1],c=sr[2].replace(/^\s+/,""),y=!0;continue}var kr=c.match(/^as\s+(?:"([^"]*)"|(\S+))(.*)/i);if(kr&&Ga==null){kr[1]!==void 0?(Ga=zt,zt=kr[1]):Ga=kr[2],c=kr[3].replace(/^\s+/,""),y=!0;continue}var be=c.match(/^(#\S+)(.*)/);be&&$n==null&&($n=be[1],c=be[2].replace(/^\s+/,""),y=!0)}var dr=Ga||zt,Mo=c.indexOf("{")>=0||/\{\s*$/.test(t);if(Mo){var io=H(p,o);o=io.endIdx;var go={id:dr,name:zt,kind:"component",children:[],color:$n,stereotype:F,parent:u||null};N.push(go);var gn=L.length,On=N.length;d(io.bodyLines,E,L,N,m,dr,R);for(var co=gn;co<L.length;co++)L[co].parent===dr&&go.children.push(L[co].id);for(var Gn=On;Gn<N.length;Gn++)N[Gn].parent===dr&&go.children.push(N[Gn].id)}else{var lo={id:dr,name:zt,kind:"component",children:null,color:$n,stereotype:F,parent:u||null};$e&&gr(lo,$e,R.config),E[dr]=L.length,L.push(lo)}continue}var It=t.match(/^(?:interface|\(\))\s+(.+)$/i);if(It){var Un=It[1],wa=null,Ta=null,Ea=0;if(Un.charAt(0)==='"'){var Ua=Un.indexOf('"',1);Ua<0&&(Ua=Un.length),wa=Un.substring(1,Ua),Ea=Ua+1}else{for(var oa=0;oa<Un.length&&/[\w]/.test(Un[oa]);)oa++;wa=Un.substring(0,oa),Ea=oa}var vn=Un.substring(Ea).replace(/^\s+/,""),Jl=vn.match(/^as\s+(\S+)/i);Jl&&(Ta=Jl[1]);var Ul=Ta||wa;if(!E.hasOwnProperty(Ul)){var _l={id:Ul,name:wa,kind:"interface",children:null,color:null,parent:u||null};$e&&gr(_l,$e,R.config),E[Ul]=L.length,L.push(_l)}continue}var Ma=t.match(/^actor\s+(?:"([^"]+)"|(\S+))(?:\s+as\s+(\S+))?\s*(#\S+)?\s*$/i);if(Ma){var gl=Ma[1]||Ma[2],Ia=Ma[3],tt=Ma[4]||null,Vn=Ia||gl;if(!E.hasOwnProperty(Vn)){var sl={id:Vn,name:gl,kind:"actor",children:null,color:tt,parent:u||null};$e&&gr(sl,$e,R.config),E[Vn]=L.length,L.push(sl)}continue}var El=t.match(/^(port|portin|portout)\s+(\S+)/i);if(El){var ui=El[1].toLowerCase(),rl=El[2],Rl=rl;if(!E.hasOwnProperty(Rl)){var pl={id:Rl,name:rl,kind:ui,children:null,color:null,parent:u||null};E[Rl]=L.length,L.push(pl)}continue}var Al=rr(t,E,L,u);if(Al!=null){m.push(Al);continue}var Wa=Y(t,0);if(Wa!=null){var ai=t.slice(Wa.end),Nl=ai.match(/^\s*(?:<<([^>]*)>>\s*)?(?:as\s+(\S+))?\s*(?:<<([^>]*)>>\s*)?(#\S+)?\s*$/i);if(Nl&&(Wa.kind==="bracket"||/^"/.test(t))){var xa=Wa.kind==="bracket"?"component":"interface",fi=Nl[2]||null,Ni=Nl[4]||null,Oi=(Nl[1]||Nl[3]||"").replace(/^\s+|\s+$/g,"")||null;if(fi)E.hasOwnProperty(fi)||(E[fi]=L.length,L.push({id:fi,name:Wa.name,kind:xa,children:null,color:Ni,stereotype:Oi,parent:u||null}));else{var Vl=$r(Wa.name,E,L,xa,u);Ni&&E.hasOwnProperty(Vl)&&(L[E[Vl]].color=Ni),Oi&&E.hasOwnProperty(Vl)&&!L[E[Vl]].stereotype&&(L[E[Vl]].stereotype=Oi)}continue}}vo.droppedLine(R.config,"component",u==null?o:null,p[o])}}}}}}}function _(p,E){E=E||{};var L=p.split(/\r\n|\r|\n/),N=[],m={},u=[],R=[],o={notes:[],legend:null,title:null,config:E,togethers:[],togetherOpen:[],header:null,footer:null,caption:null};d(L,m,N,u,R,null,o);var t=/^skinparam\s+monochrome\s+(true|on|yes)\s*$/im.test(p)||/^skinparam\s*\{[^}]*\bmonochrome\s+(true|on|yes)/im.test(p),n=p.match(/^\s*(left\s+to\s+right|top\s+to\s+bottom)\s+direction\b/im),f=n?/left/i.test(n[1])?"LR":"TB":null,O=p.match(/skinparam\s+defaultTextAlignment\s+(left|center|centre|right)/i),g="left";if(O){var Q=O[1].toLowerCase();g=Q==="centre"?"center":Q}var x=p.match(/^\s*skinparam\s+packageStyle\s+(\w+)/im),I=x?x[1].toLowerCase():null;return{nodes:N,containers:u,connections:R,notes:o.notes,legend:o.legend,title:o.title,header:o.header,footer:o.footer,caption:o.caption,monochrome:t,direction:f,textAlign:g,packageStyle:I,togethers:o.togethers}}return{parse:_}})();var gd=(function(){function pr(rr,H){var M=rr.length,j=H,gr="none",W="none",d=0,_=0;for(j+1<M&&rr[j]==="<"&&rr[j+1]==="|"?(gr="triangle",j+=2):j<M&&rr[j]==="<"?(gr="filled",j++):j<M&&rr[j]==="*"&&j+1<M&&(rr[j+1]==="-"||rr[j+1]===".")?(gr="diamond_filled",j++):j<M&&rr[j]==="o"&&j+1<M&&(rr[j+1]==="-"||rr[j+1]===".")&&(gr="diamond_open",j++);j<M&&rr[j]==="-";)d++,j++;for(;j<M&&rr[j]===".";)_++,j++;for(;j<M&&rr[j]==="-";)d++,j++;for(;j<M&&rr[j]===".";)_++,j++;if(d+_===0)return null;j+1<M&&rr[j]==="|"&&rr[j+1]===">"?(W="triangle",j+=2):j<M&&rr[j]===">"?(W="filled",j++):j<M&&(rr[j]==="*"||rr[j]==="o")&&(j+1>=M||rr[j+1]===" "||rr[j+1]===" "||rr[j+1]==='"'||rr[j+1]===":")&&(W=rr[j]==="*"?"diamond_filled":"diamond_open",j++);var p;return _>0&&d===0?p="dotted":_>0?p="dashed":p="solid",{end:j,lineStyle:p,leftHead:gr,rightHead:W}}function q(rr,H){for(;H<rr.length&&(rr[H]===" "||rr[H]===" ");)H++;if(H>=rr.length)return null;if(rr[H]==='"'){var M=rr.indexOf('"',H+1);return M<0&&(M=rr.length),{name:rr.substring(H+1,M),end:M+1}}for(var j=H;j<rr.length&&/[\w]/.test(rr[j]);)j++;return j===H?null:{name:rr.substring(H,j),end:j}}function Xr(rr,H,M){if(H.hasOwnProperty(rr))return rr;for(var j in H)if(H.hasOwnProperty(j)&&M[H[j]].name===rr)return j;var gr={id:rr,name:rr,kind:"object",attributes:[]};return H[rr]=M.length,M.push(gr),rr}function Tr(rr,H,M){var j=q(rr,0);if(j==null)return null;for(var gr=j.end;gr<rr.length&&(rr[gr]===" "||rr[gr]===" ");)gr++;if(gr>=rr.length)return null;var W=pr(rr,gr);if(W==null)return null;for(var d=W.end;d<rr.length&&(rr[d]===" "||rr[d]===" ");)d++;var _=q(rr,d);if(_==null)return null;var p=null,E=_.end,L=rr.indexOf(":",E);L>=0&&(p=rr.substring(L+1).replace(/^\s+|\s+$/g,""));var N=Xr(j.name,H,M),m=Xr(_.name,H,M),u=N,R=m;W.leftHead!=="none"&&W.rightHead==="none"&&(u=m,R=N);var o="association";return W.leftHead==="triangle"||W.rightHead==="triangle"?o="generalization":W.leftHead==="diamond_filled"||W.rightHead==="diamond_filled"||W.leftHead==="diamond_open"||W.rightHead==="diamond_open"?(o=W.leftHead==="diamond_filled"||W.rightHead==="diamond_filled"?"composition":"aggregation",W.rightHead==="diamond_filled"||W.rightHead==="diamond_open"?(u=m,R=N):(u=N,R=m)):W.leftHead==="none"&&W.rightHead==="none"&&(o="link"),{from:u,to:R,label:p,lineStyle:W.lineStyle,type:o}}function se(rr,H){for(var M=1,j=[],gr=H+1;gr<rr.length;gr++){for(var W=rr[gr].replace(/^\s+|\s+$/g,""),d=0;d<W.length;d++)if(W[d]==="{")M++;else if(W[d]==="}"&&(M--,M===0))return{endIdx:gr,bodyLines:j};M>0&&j.push(W)}return{endIdx:rr.length-1,bodyLines:j}}function Kr(rr,H){for(var M=[],j=H+1;j<rr.length;j++){var gr=rr[j].replace(/^\s+|\s+$/g,"");if(/^end\s*note$/i.test(gr))return{text:M.join(`
324
+ `),endIdx:j};M.push(gr)}return{text:M.join(`
325
+ `),endIdx:rr.length-1}}function Dr(rr){var H=rr.substring(0,2);if(rr.length<2||rr==="..."||H!=="--"&&H!==".."&&H!=="=="&&H!=="__"||rr.substring(rr.length-2)!==H)return null;var M=rr.length>4?rr.substring(2,rr.length-2).replace(/^\s+|\s+$/g,""):"",j=H.charAt(0);return new RegExp("^\\"+j+"*$").test(M)&&(M=""),{separator:!0,style:j,title:M}}function ar(rr){for(var H=[],M=0;M<rr.length;M++){var j=rr[M].replace(/^\s+|\s+$/g,"");if(j!==""){var gr=Dr(j);if(gr!=null){H.push(gr);continue}var W=j.indexOf("=");if(W>0){H.push({name:j.substring(0,W).replace(/^\s+|\s+$/g,""),value:j.substring(W+1).replace(/^\s+|\s+$/g,""),text:j});continue}var d=j.indexOf(":");if(d>0){H.push({name:j.substring(0,d).replace(/^\s+|\s+$/g,""),value:j.substring(d+1).replace(/^\s+|\s+$/g,""),text:j});continue}H.push({name:j,value:"",text:j})}}return H}function Y(rr){for(var H=[],M=[],j=0;j<rr.length;j++){var gr=rr[j].replace(/^\s+|\s+$/g,"");if(gr!==""){var W=gr.match(/^(.+?)\s*\*?->\s*(\S+)\s*$/);if(W&&gr.indexOf("=>")<0){H.push({key:W[1],value:""}),M.push({key:W[1],target:W[2]});continue}var d=gr.indexOf("=>");if(d>=0){var _=gr.substring(0,d).replace(/^\s+|\s+$/g,""),p=gr.substring(d+2).replace(/^\s+|\s+$/g,"");H.push({key:_,value:p})}else H.push({key:gr,value:""})}}return{entries:H,links:M}}function $r(rr,H){H=H||{};var M=rr.split(/\r\n|\r|\n/),j=[],gr={},W=[],d=[],_=[],p=[],E=[],L={title:null,header:null,footer:null,caption:null,legend:null};function N(zt,Ga){var $n={name:zt,stereotype:Ga||null,objects:[]};p.push($n),E.push($n)}function m(){return E.length>0?E[E.length-1]:null}for(var u=0;u<M.length;u++){var R=M[u],o=R.replace(/^\s+|\s+$/g,"");if(o!==""&&o.charAt(0)!=="'"&&o.charAt(0)!=="!"){var t=o.match(/^(package|namespace)\s+(?:"([^"]+)"|(\S+?))(?:\s*<<([^>]+)>>)?\s*\{\s*$/i);if(t){N(t[2]||t[3],t[4]||null);continue}if(o==="}"&&E.length>0){E.pop();continue}if(/^skinparam\b/i.test(o)){if(/\{\s*$/.test(o)){var n=se(M,u);u=n.endIdx}continue}if(/^(hide|show|remove|restore|newpage)\b/i.test(o)){vo.ignoredDirective(H,"object",u,R);continue}if(/^note\s+(?:"[^"]*"\s+)?as\s+\S+\s*(?:#[\w:;.]+)?\s*$/i.test(o)){var f=Ba.take(L,M,u);if(f>=0){u=f;continue}}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(o)){var O=Ba.take(L,M,u);if(O>=0){u=O;continue}}if(!/^(title|header|footer|caption|scale|mainframe)\b/i.test(o)&&!/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i.test(o)){var g=o.match(/^note\s+(left|right|top|bottom)\s+of\s+(?:"([^"]+)"|(\S+?))\s*:\s*(.*)$/i);if(g){_.push({position:g[1].toLowerCase(),target:g[2]||g[3],text:g[4].replace(/^\s+|\s+$/g,"").replace(/\\r\\n|\\n|\\r/g,`
326
+ `).replace(/\\t/g," ")});continue}var Q=o.match(/^note\s+(left|right|top|bottom)\s+of\s+(?:"([^"]+)"|(\S+))\s*$/i);if(Q){var x=Kr(M,u);u=x.endIdx,_.push({position:Q[1].toLowerCase(),target:Q[2]||Q[3],text:x.text.replace(/\\r\\n|\\n|\\r/g,`
327
+ `).replace(/\\t/g," ")});continue}if(/^[rh]?note\b/i.test(o)){if(/^end\s*note$/i.test(o)||vo.droppedNote(H,"object","note form",u,R),!/:/.test(o)&&!/^end\s*note$/i.test(o)){var I=Kr(M,u);u=I.endIdx}continue}var w=o.match(/^map\s+(.+)$/i);if(w){var nr=w[1],lr=null,ir=null,mr=0;if(nr.charAt(0)==='"'){var Or=nr.indexOf('"',1);Or<0&&(Or=nr.length),lr=nr.substring(1,Or),mr=Or+1}else{for(var Qr=0;Qr<nr.length&&/[\w]/.test(nr[Qr]);)Qr++;lr=nr.substring(0,Qr),mr=Qr}var ee=nr.substring(mr).replace(/^\s+/,""),re=ee.match(/^as\s+(\S+)(.*)/i);re&&(ir=re[1],ee=re[2].replace(/^\s+/,""));var Yr=ir||lr,Zr=ee.indexOf("{")>=0||/\{\s*$/.test(o);if(Zr){var Ee=se(M,u);u=Ee.endIdx;var Ze=Y(Ee.bodyLines),eo={id:Yr,name:lr,entries:Ze.entries};W.push(eo),gr[Yr]=j.length,j.push({id:Yr,name:lr,kind:"map",attributes:[]});for(var Gr=0;Gr<Ze.links.length;Gr++){var $e=Xr(Ze.links[Gr].target,gr,j);d.push({from:Yr,to:$e,label:null,lineStyle:"solid",type:"association",fromRow:Ze.links[Gr].key})}}else{var Ye={id:Yr,name:lr,entries:[]};W.push(Ye),gr[Yr]=j.length,j.push({id:Yr,name:lr,kind:"map",attributes:[]})}continue}var Hr=o.match(/^object\s+(.+)$/i);if(Hr){var Fo=Hr[1],k=null,T=null,D=null,S=0;if(Fo.charAt(0)==='"'){var U=Fo.indexOf('"',1);U<0&&(U=Fo.length),k=Fo.substring(1,U),S=U+1}else{for(var P=0;P<Fo.length&&/[\w]/.test(Fo[P]);)P++;k=Fo.substring(0,P),S=P}var s=Fo.substring(S).replace(/^\s+/,""),$=s.match(/^as\s+(\S+)(.*)/i);$&&(T=$[1],s=$[2].replace(/^\s+/,""));for(var G=null,B=!0;B;){B=!1;var or=s.match(/^<<\s*([^>]*?)\s*>>(.*)/);if(or&&G==null){G=or[1],s=or[2].replace(/^\s+/,""),B=!0;continue}var K=s.match(/^(#\S+)(.*)/);K&&D==null&&(D=K[1],s=K[2].replace(/^\s+/,""),B=!0)}var hr=T||k,vr=s.indexOf("{")>=0||/\{\s*$/.test(o);if(vr){var Jr=se(M,u);u=Jr.endIdx;var Ge=ar(Jr.bodyLines);if(gr.hasOwnProperty(hr)){var bo=j[gr[hr]];bo.attributes=Ge}else{gr[hr]=j.length,j.push({id:hr,name:k,kind:"object",color:D,stereotype:G,attributes:Ge});var no=m();no&&no.objects.push(hr)}}else if(!gr.hasOwnProperty(hr)){gr[hr]=j.length,j.push({id:hr,name:k,kind:"object",color:D,stereotype:G,attributes:[]});var Oo=m();Oo&&Oo.objects.push(hr)}continue}var We=o.match(/^([^\s:"]+)\s+:(?!:)\s*(.*)$/);if(We!=null&&We[2]!==""){var Tt=We[1],Cn=We[2].replace(/\s+$/,""),un=gr.hasOwnProperty(Tt)?gr[Tt]:-1;if(un<0){un=j.length,gr[Tt]=un,j.push({id:Tt,name:Tt,kind:"object",color:null,stereotype:null,attributes:[]});var Kt=m();Kt&&Kt.objects.push(Tt)}var ut=j[un];if(ut.kind==="map"){for(var fn=null,vt=0;vt<W.length;vt++)if(W[vt].id===Tt){fn=W[vt];break}if(fn!=null){var _o=Y([Cn]);fn.entries=fn.entries.concat(_o.entries);for(var Zo=0;Zo<_o.links.length;Zo++)d.push({from:Tt,to:_o.links[Zo].target,type:"association",fromRow:_o.links[Zo].key})}}else ut.attributes=(ut.attributes||[]).concat(ar([Cn]));continue}var jt=Tr(o,gr,j);if(jt!=null){d.push(jt);continue}vo.droppedLine(H,"object",u,R)}}}return Ba.merge({objects:j,maps:W,links:d,notes:_,packages:p},L)}return{parse:$r}})();var Rd=(function(){function pr(W){var d=W.match(/<<\s*([^>]*?)\s*>>/);return d?{stereotype:d[1],rest:W.substring(0,d.index)+W.substring(d.index+d[0].length)}:null}function q(W){var d=W.match(/#([A-Za-z0-9]+)/);return d?{color:"#"+d[1],rest:W.substring(0,d.index)+W.substring(d.index+d[0].length)}:null}function Xr(W){var d=W.match(/\bas\s+(\S+)/i);return d?{alias:d[1],rest:W.substring(0,d.index)+W.substring(d.index+d[0].length)}:null}function Tr(W,d,_,p,E){if(_.hasOwnProperty(W))return{kind:"actor",id:W};if(E.hasOwnProperty(W))return{kind:"usecase",id:W};for(var L in _)if(_.hasOwnProperty(L)&&d[_[L]].name===W)return{kind:"actor",id:L};for(var N in E)if(E.hasOwnProperty(N)&&p[E[N]].name===W)return{kind:"usecase",id:N};return null}function se(W,d,_,p,E,L){return E.hasOwnProperty(W)?L&&(p[E[W]].color=L):(E[W]=p.length,p.push({id:W,name:d,stereotype:_||null,color:L||null})),W}function Kr(W){var d=/(?:^|\s)(#[A-Za-z0-9]+(?:;\S*)?)/.exec(W||"");return d?d[1]:null}function Dr(W,d,_,p,E,L){return E.hasOwnProperty(W)?L&&(p[E[W]].color=L):(E[W]=p.length,p.push({id:W,name:d,stereotype:_||null,color:L||null})),W}function ar(W,d){if(!d)return null;for(var _=W.replace(/^\s+|\s+$/g,""),p=0;p<d.length;p++)if(d[p].position==="floating"&&d[p].target===_)return d[p];return null}function Y(W){var d=null,_=null;return W=W.replace(/\s*<<\s*([^>]*?)\s*>>/,function(p,E){return d=E,""}),W=W.replace(/\s+(#[\w|\\/-]+)\s*$/,function(p,E){return _=E,""}),{token:W.replace(/^\s+|\s+$/g,""),stereotype:d,color:_}}function $r(W,d,_,p,E,L){if(!(W==null||d.stereotype==null&&d.color==null)){var N=p.hasOwnProperty(W)?_[p[W]]:L.hasOwnProperty(W)?E[L[W]]:null;N!=null&&(d.stereotype!=null&&N.stereotype==null&&(N.stereotype=d.stereotype),d.color!=null&&N.color==null&&(N.color=d.color))}}var rr={noteLink:!0};function H(W,d,_,p,E,L){W=W.replace(/([-.])\[[^\]\[]*\](?=[-.\w>|])/,"$1"),W=W.replace(/([-.])(?:up|down|left|right|u|d|l|r)([-.(])/gi,"$1$1"),W=W.replace(/([-.>])\(\d+\)/g,"$1").replace(/\(\d+\)([<.-])/g,"$1"),W=W.replace(/-\(0-/g,"--").replace(/-0\)-/g,"--"),W=W.replace(/([-.])>>/g,"$1>").replace(/<<([-.])/g,"<$1"),W=W.replace(/([\w):"\]])(<\|?[-.]+\|?>?|[-.]+\|?>|[-.]{2,}|<[-.]+)(?=[\w(:"\[])/g,"$1 $2 "),W=W.replace(/([\w):"\]])(<\|?[-.]+\|?>?|[-.]+\|?>|[-.]{2,}|<[-.]+)(?=\s)/g,"$1 $2"),W=W.replace(/(\s)(<\|?[-.]+\|?>?|[-.]+\|?>|[-.]{2,}|<[-.]+)(?=[\w(:"\[])/g,"$1$2 ");for(var N=[{re:/\s+(-+)\|>\s+/,type:"generalization",directed:!0},{re:/\s+<\|(-+)\s+/,type:"generalization",reverse:!0,directed:!0},{re:/\s+(\.+)>\s+/,type:"dependency",directed:!0},{re:/\s+<(\.+)\s+/,type:"dependency",reverse:!0,directed:!0},{re:/\s+(-+)>\s+/,type:"association",directed:!0},{re:/\s+<(-+)\s+/,type:"association",reverse:!0,directed:!0},{re:/\s+(\.{2,})\s+/,type:"dependency",directed:!1},{re:/\s+(-{2,})\s+/,type:"association",directed:!1}],m=0;m<N.length;m++){var u=N[m],R=W.match(u.re);if(R){var o=W.substring(0,R.index).replace(/^\s+|\s+$/g,""),t=W.substring(R.index+R[0].length).replace(/^\s+|\s+$/g,""),n=null,f=null,O=t.indexOf(":");if(O>=0){var g=t.substring(O+1).replace(/^\s+|\s+$/g,"");t=t.substring(0,O).replace(/^\s+|\s+$/g,"");var Q=pr(g);Q?(f=Q.stereotype,n=Q.rest.replace(/^\s+|\s+$/g,"")||null):n=g||null}var x=Y(o),I=Y(t);o=x.token,t=I.token;var w=M(o,d,_,p,E,L),nr=M(t,d,_,p,E,L);$r(w,x,d,_,p,E),$r(nr,I,d,_,p,E);var lr=ar(o,L),ir=ar(t,L);if(lr&&!ir&&nr!=null)return lr.anchor==null&&(lr.anchor=nr),(lr.links=lr.links||[]).push(nr),lr.linkType=u.type==="dependency"?"..":"--",rr;if(ir&&!lr&&w!=null)return ir.anchor==null&&(ir.anchor=w),(ir.links=ir.links||[]).push(w),ir.linkType=u.type==="dependency"?"..":"--",rr;if(w==null||nr==null)continue;var mr=u.reverse?nr:w,Or=u.reverse?w:nr;return{from:mr,to:Or,type:u.type,directed:u.directed!==!1,stereotype:f,label:n,span:Math.max(0,R[1].length-1)}}}return null}function M(W,d,_,p,E,L){if(W=W.replace(/^\s+|\s+$/g,""),W==="")return null;if(L){for(var N=0;N<L.length;N++)if(L[N].position==="floating"&&L[N].target===W)return null}var m=W.match(/^:([^:]+):\/?$/);if(m){var u=m[1].replace(/^\s+|\s+$/g,""),R=u;for(var o in _)if(_.hasOwnProperty(o)&&d[_[o]].name===u)return o;return se(R,u,null,d,_)}var t=W.match(/^\(([^)]+)\)\/?$/);if(t){var n=t[1].replace(/^\s+|\s+$/g,""),f=n;for(var O in E)if(E.hasOwnProperty(O)&&p[E[O]].name===n)return O;return Dr(f,n,null,p,E)}var g=Tr(W,d,_,p,E);return g?g.id:se(W,W,null,d,_)}function j(W,d){for(var _=[],p=d+1;p<W.length;p++){var E=W[p].replace(/^\s+|\s+$/g,"");if(E.toLowerCase()==="end note")return{text:_.join(`
328
+ `),endIdx:p};_.push(E)}return{text:_.join(`
329
+ `),endIdx:W.length-1}}function gr(W,d){d=d||{};for(var _=W.split(/\r\n|\r|\n/),p=[],E={},L=[],N={},m=[],u=[],R=[],o=null,t={title:null,header:null,footer:null,caption:null,legend:null},n=[],f=0;f<_.length;f++){var O=_[f],g=O.replace(/^\s+|\s+$/g,"");if(g!==""){if(/^(usecase|actor)\b/i.test(g)&&g.split('"').length%2===0)for(;f+1<_.length;){f++;var Q=_[f].replace(/^\s+|\s+$/g,"");if(g+="\\n"+Q,Q.indexOf('"')>=0)break}if(g.charAt(0)!=="'"&&g.charAt(0)!=="!"){if(/^skinparam\b/i.test(g)){if(/\{\s*$/.test(g))for(var x=1;x>0&&f+1<_.length;){f++;var I=_[f].replace(/^\s+|\s+$/g,"");I.indexOf("{")>=0&&x++,I.indexOf("}")>=0&&x--}continue}if(/^(hide|show|remove|restore|newpage)\b/i.test(g)){vo.ignoredDirective(d,"useCase",f,O);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(g)){var w=Ba.take(t,_,f);if(w>=0){f=w;continue}}if(!/^(title|header|footer|caption|scale|mainframe)\b/i.test(g)){var nr=g.match(/^(top\s+to\s+bottom|left\s+to\s+right)\s+direction\b/i);if(nr){o=/left/i.test(nr[1])?"LR":"TB";continue}var lr=g.toLowerCase(),ir=g.match(/^(rectangle|package)\s+(?:"([^"]+)"|([^"\s{]+))(?:\s+as\s+(\S+))?\s*\{?\s*$/i);if(ir){var mr=ir[2]||ir[3],Or=ir[4]||null,Qr={name:mr,alias:Or,kind:ir[1].toLowerCase(),children:[]};m.push(Qr),n.push(Qr);continue}if(g==="}"){n.length>0&&n.pop();continue}g=g.replace(/^(actor|usecase)\/(?=\s)/i,"$1");var ee=g.match(/^actor\s+"?([^"]+?)"?\s+as\s+(\S+)(.*)$/i);if(ee){var Fo=ee[1],k=ee[2],T=ee[3]||"",D=null,S=pr(T);S&&(D=S.stereotype),se(k,Fo,D,p,E),n.length>0&&n[n.length-1].children.push(k);continue}else{if(ee=g.match(/^actor\s+"([^"]+)"(.*)$/i),ee){var re=ee[1],Yr=ee[2]||"",Zr=null,Ee=pr(Yr);Ee&&(Zr=Ee.stereotype);var Ze=re;se(Ze,re,Zr,p,E),n.length>0&&n[n.length-1].children.push(Ze);continue}if(ee=g.match(/^actor\s+(\S+)(.*)$/i),ee){var eo=ee[1],Gr=ee[2]||"",$e=null,Ye=pr(Gr);Ye&&($e=Ye.stereotype);var Hr=Gr.match(/(#\S+)/);se(eo,eo,$e,p,E,Hr?Hr[1]:null),n.length>0&&n[n.length-1].children.push(eo);continue}}g=g.replace(/^(usecase\s+)\(([^()]+)\)(?=\s)/i,'$1"$2"');var U=g.match(/^usecase\s+"([^"]+)"\s+as\s+(\S+)(.*)$/i);if(U){var We=U[1],Tt=U[2],Cn=U[3]||"",un=null,Kt=pr(Cn);Kt&&(un=Kt.stereotype),Dr(Tt,We,un,L,N,Kr(Cn)),n.length>0&&n[n.length-1].children.push(Tt);continue}else{if(U=g.match(/^usecase\s+"([^"]+)"(.*)$/i),U){var P=U[1],s=U[2]||"",$=null,G=pr(s);G&&($=G.stereotype);var B=P;Dr(B,P,$,L,N,Kr(s)),n.length>0&&n[n.length-1].children.push(B);continue}var or=g.match(/^usecase\s+(\S+)\s+as\s+"([^"]+)"(.*)$/i);if(or){var K=or[1],hr=or[2],vr=null,Jr=pr(or[3]||"");Jr&&(vr=Jr.stereotype),Dr(K,hr,vr,L,N,Kr(or[3])),n.length>0&&n[n.length-1].children.push(K);continue}if(U=g.match(/^usecase\s+(\S+)(.*)$/i),U){var Ge=U[1],no=U[2]||"",bo=null,Oo=pr(no);Oo&&(bo=Oo.stereotype),Dr(Ge,Ge,bo,L,N,Kr(no)),n.length>0&&n[n.length-1].children.push(Ge);continue}}var ut=g.match(/^:([^:]+):\/?\s*(?:as\s+(\S+))?\s*(<<[^>]*>>)?\s*(#\S+)?\s*$/);if(ut){var fn=ut[1].replace(/^\s+|\s+$/g,""),vt=ut[2]||null,_o=null;if(ut[3]){var Zo=ut[3].match(/<<\s*([^>]*?)\s*>>/);Zo&&(_o=Zo[1])}var jt=vt||fn;se(jt,fn,_o,p,E,ut[4]||null),n.length>0&&n[n.length-1].children.push(jt);continue}var zt=g.match(/^\(([^)]+)\)\/?\s*(?:as\s+(\S+))?\s*(<<[^>]*>>)?\s*(#\S+)?\s*$/);if(zt){var Ga=zt[1].replace(/^\s+|\s+$/g,""),$n=zt[2]||null,zn=null;if(zt[3]){var Dn=zt[3].match(/<<\s*([^>]*?)\s*>>/);Dn&&(zn=Dn[1])}var xe=$n||Ga;Dr(xe,Ga,zn,L,N,zt[4]||null),n.length>0&&n[n.length-1].children.push(xe);continue}var i=g.match(/^note\s+(right|left|top|bottom)\s+of\s+(.+?)\s*:\s*(.+)$/i);if(i){var c=i[1].toLowerCase(),F=i[2].replace(/^\s+|\s+$/g,""),y=i[3].replace(/^\s+|\s+$/g,""),sr=F,kr=F.match(/^:([^:]+):$/),be=F.match(/^\(([^)]+)\)$/);kr?sr=kr[1].replace(/^\s+|\s+$/g,""):be&&(sr=be[1].replace(/^\s+|\s+$/g,"")),R.push({position:c,target:sr,text:y,container:n.length>0?m.indexOf(n[n.length-1]):null});continue}var dr=g.match(/^note\s+"([^"]+)"\s+as\s+(\S+)/i);if(dr){var Mo=dr[1],io=dr[2];R.push({position:"floating",target:io,text:Mo});continue}var go=g.match(/^note\s+(right|left|top|bottom)\s+of\s+(.+)$/i);if(go){var gn=go[1].toLowerCase(),On=go[2].replace(/^\s+|\s+$/g,""),co=On.match(/^:([^:]+):$/),Gn=On.match(/^\(([^)]+)\)$/);co?On=co[1].replace(/^\s+|\s+$/g,""):Gn&&(On=Gn[1].replace(/^\s+|\s+$/g,""));var lo=j(_,f);f=lo.endIdx,R.push({position:gn,target:On,text:lo.text,container:n.length>0?m.indexOf(n[n.length-1]):null});continue}var It=H(g,p,E,L,N,R);if(It!==rr){if(It){if(n.length>0){var Un=n[n.length-1];Un.children.indexOf(It.from)<0&&(E.hasOwnProperty(It.from)||N.hasOwnProperty(It.from))&&Un.children.push(It.from),Un.children.indexOf(It.to)<0&&(E.hasOwnProperty(It.to)||N.hasOwnProperty(It.to))&&Un.children.push(It.to)}u.push(It);continue}if(/^[rh]?note\b/i.test(g)){vo.droppedNote(d,"useCase","note form",f,O);var wa=/:/.test(g)?-1:vo.blockEnd(_,f,/^\s*end\s*[rh]?note\b/i);wa>=0&&(f=wa);continue}vo.droppedLine(d,"useCase",f,O)}}}}}return Ba.merge({actors:p,usecases:L,containers:m,relationships:u,notes:R,direction:o},t)}return{parse:gr}})();var Ad=(function(){function pr(Dr,ar,Y,$r){return{label:Dr,color:ar||null,side:Y||"right",style:$r||null,stereotypes:[],children:[]}}function q(Dr){var ar=String(Dr??"").split(`
330
+ `),Y=/^(.*?)(<<\s*(.*)\s*>>)\s*$/.exec(ar[ar.length-1]);if(Y==null)return{label:Dr,stereotypes:[]};ar[ar.length-1]=Y[1].replace(/\s+$/,"");for(var $r=[],rr=Y[2].split(/>>\s*<</),H=0;H<rr.length;H++){var M=rr[H].replace(/^<<\s*|\s*>>$/g,"").replace(/^\s+|\s+$/g,"");M!==""&&$r.push(M)}return{label:ar.join(`
331
+ `),stereotypes:$r}}function Xr(Dr){var ar=q(Dr.label);Dr.label=ar.label,Dr.stereotypes=ar.stereotypes}function Tr(Dr){var ar=Dr.match(/^(\*+)(.*)$/)||Dr.match(/^(#+)(\s.*|_.*|\[.*|$)/);if(!ar)return null;var Y=ar[1].length,$r=ar[2],rr=null,H=null;$r.length>0&&$r.charAt(0)==="_"&&(H="leaf",$r=$r.substring(1));var M=$r.match(/^\[#([A-Za-z0-9]+)\]/);M&&(rr="#"+M[1],$r=$r.substring(M[0].length)),H==null&&$r.length>0&&$r.charAt(0)==="_"&&(H="leaf",$r=$r.substring(1));var j=$r.replace(/^\s+|\s+$/g,"");return{depth:Y,markers:ar[1],label:j,color:rr,style:H}}function se(Dr){var ar=Dr.match(/^([+-]+)(.*)$/);if(!ar)return null;var Y=ar[1],$r=Y.length,rr=Y.charAt(0)==="+"?"right":"left",H=ar[2],M=null,j=null;H.length>0&&H.charAt(0)==="_"&&(j="leaf",H=H.substring(1));var gr=H.match(/^\[#([A-Za-z0-9]+)\]/);gr&&(M="#"+gr[1],H=H.substring(gr[0].length)),j==null&&H.length>0&&H.charAt(0)==="_"&&(j="leaf",H=H.substring(1));var W=H.replace(/^\s+|\s+$/g,"");return{depth:$r,markers:Y,label:W,color:M,side:rr,style:j}}function Kr(Dr,ar){ar=ar||{};var Y=Dr.split(/\r\n|\r|\n/),$r={legend:null},rr=ar.styleSheet||kt.createSheet(),H=[],M=null,j=null,gr=null,W=null,d=null,_=null,p=[],E="right",L=null,N=0;function m(T){return L==null&&(L=T),/\*\*$/.test(T)&&(T=T.replace(/\t/g," ").replace(/^\s+|\s+$/g,"")),T=T.replace(/\t/g," "),T.indexOf(" ")<0?T.length-1:T.length>=L.length&&T.substring(T.length-L.length)===L?T.length-L.length:T.replace(/^\s+|\s+$/g,"").length===1?T.length-1:T.indexOf(L)===0?T.length-L.length:T.length-1}function u(T,D){var S=(T.match(/^[ \t]*/)||[""])[0].replace(/\t/g," "),U=m(S+D);return H.length===0?0:U}function R(T,D){if(D===0){M=T,H.push(T),p=[null,T],N=0;return}N===0&&(N=D),D=D%N===0?D/N:Math.max(1,Math.round(D/N));var S=D+1,U=S-1>=1&&S-1<p.length&&p[S-1]!=null?p[S-1]:M;for(U.children.push(T);p.length<=S;)p.push(null);p[S]=T;for(var P=S+1;P<p.length;P++)p[P]=null}var o=!1,t=null;function n(T,D,S){T==="title"?j=S:T==="caption"?d=S:T==="header"?gr={text:S,align:D||"right"}:T==="footer"&&(W={text:S,align:D||"center"})}for(var f=0;f<Y.length;f++){var O=Y[f],g=O.replace(/^\s+|\s+$/g,"");if(_!=null){new RegExp("^end\\s*"+_.kind+"\\b","i").test(g)?(n(_.kind,_.align,_.lines.join(`
332
+ `)),_=null):_.lines.push(g);continue}if(g!==""){if(/^<style>$/i.test(g)){for(var Q=[];f+1<Y.length;){f++;var x=Y[f].replace(/^\s+|\s+$/g,"");if(/^<\/?style>$/i.test(x))break;x.charAt(0)!=="'"&&Q.push(Y[f])}rr.addBlock(Q.join(`
333
+ `));continue}var I=/^<style>(.*)<\/style>$/i.exec(g);if(I!=null){rr.addBlock(I[1]);continue}if(!/^<style\b/i.test(g)&&g.charAt(0)!=="'"&&g.charAt(0)!=="!"){if(/^skinparam\b/i.test(g)){if(/\{\s*$/.test(g))for(var w=1;w>0&&f+1<Y.length;){f++;var nr=Y[f].replace(/^\s+|\s+$/g,"");nr.indexOf("{")>=0&&w++,nr.indexOf("}")>=0&&w--}continue}if(o){var lr=/^(.*);\s*(<<(.+)>>)?$/.exec(g);lr!=null?(t&&(t.label+=`
334
+ `+lr[1].replace(/\s+$/,""),lr[2]!=null&&(t.label+=" "+lr[2]),Xr(t)),o=!1,t=null):t&&(t.label+=`
335
+ `+g);continue}if(!/^scale\b/i.test(g)){if(/^legend\b/i.test(g)){var ir=Ba.take($r,Y,f);if(ir>=0){f=ir;continue}}var mr=g.match(/^(?:(center|left|right)\s+)?(title|header|footer|caption)\b\s*:?\s*(.*)$/i);if(mr!=null){var Or=mr[1]?mr[1].toLowerCase():null,Qr=mr[2].toLowerCase(),ee=mr[3].replace(/\s+$/,"");ee!==""?n(Qr,Or,ee):Qr!=="caption"&&(_={kind:Qr,align:Or,lines:[]});continue}if(/^left\s+side\b/i.test(g)){E="left";continue}if(/^right\s+side\b/i.test(g)){E="right";continue}var re=Tr(g);if(re){var Yr=E,Zr=u(Y[f],re.markers);Zr===0&&(Yr="right");var Ee=re.label,Ze=!1;Ee.length>0&&Ee.charAt(0)===":"&&(Ee=Ee.substring(1).replace(/^\s+/,""),Ee.length>0&&Ee.charAt(Ee.length-1)===";"?Ee=Ee.substring(0,Ee.length-1).replace(/\s+$/,""):Ze=!0);var eo=pr(Ee,re.color,Yr,re.style);Ze||Xr(eo),R(eo,Zr),Ze&&(o=!0,t=eo);continue}var Gr=se(g);if(Gr){var $e=Gr.side,Ye=Gr.label,Hr=!1;Ye.length>0&&Ye.charAt(0)===":"&&(Ye=Ye.substring(1).replace(/^\s+/,""),Ye.length>0&&Ye.charAt(Ye.length-1)===";"?Ye=Ye.substring(0,Ye.length-1).replace(/\s+$/,""):Hr=!0);var Fo=pr(Ye,Gr.color,$e,Gr.style);Hr||Xr(Fo),R(Fo,u(Y[f],Gr.markers)),Hr&&(o=!0,t=Fo);continue}vo.droppedLine(ar,"mindmap",f,O)}}}}if(_!=null&&n(_.kind,_.align,_.lines.join(`
336
+ `)),t!=null&&Xr(t),H.length===0){var k=pr("",null,"right",null);k.synthetic=!0,H.push(k)}return Ba.merge({roots:H,root:H[0],title:j,header:gr,footer:W,caption:d,styleSheet:rr},$r)}return{parse:Kr}})();var md=(function(){function pr(Y,$r,rr){return{label:Y,style:$r||null,color:rr||null,side:"right",stereotypes:[],code:null,children:[]}}var q="[A-Za-z0-9_\\u00C0-\\uFFFF]+",Xr=new RegExp("^("+q+")\\s*[.-]+>\\s*("+q+")\\s*(#[A-Za-z0-9]+)?\\s*(<<.*?>>)?\\s*(?::\\s*(.*))?$"),Tr=new RegExp('^\\s+"(.*)"\\s+as\\s+('+q+")\\s*$");function se(Y){var $r=String(Y??"").split(`
337
+ `),rr=/^(.*?)(<<\s*(.*)\s*>>)\s*$/.exec($r[$r.length-1]);if(rr==null)return{label:Y,stereotypes:[]};$r[$r.length-1]=rr[1].replace(/\s+$/,"");for(var H=[],M=rr[2].split(/>>\s*<</),j=0;j<M.length;j++){var gr=M[j].replace(/^<<\s*|\s*>>$/g,"").replace(/^\s+|\s+$/g,"");gr!==""&&H.push(gr)}return{label:$r.join(`
338
+ `),stereotypes:H}}function Kr(Y){var $r=se(Y.label);Y.label=$r.label,Y.stereotypes=$r.stereotypes}function Dr(Y){var $r=Y.match(/^([ \t]*)([*+-]+)(.*)$/);if(!$r)return null;for(var rr=$r[1].replace(/\t/g," ")+$r[2],H=$r[3],M=null,j=null,gr=$r[2].indexOf("-")>=0?"left":"right",W=null,d;(d=H.match(/^(?:(_)|([<>])|\[#([A-Za-z0-9]+)\]|\(([A-Za-z0-9_À-￿]+)\))/))!=null;)d[1]?M="leaf":d[2]?gr=d[2]==="<"?"left":"right":d[3]?j="#"+d[3]:d[4]&&(W=d[4]),H=H.substring(d[0].length);var _=H.match(Tr);_!=null&&(W=_[2],H=_[1]);var p=H.replace(/^\s+|\s+$/g,"");return{type:rr,depth:$r[2].length,label:p,style:M,color:j,side:gr,code:W}}function ar(Y,$r){$r=$r||{};var rr=Y.split(/\r\n|\r|\n/),H=null,M={title:null,header:null,footer:null,caption:null,legend:null},j=$r.styleSheet||kt.createSheet(),gr=[],W=!1,d=null,_=null,p={},E=[];function L(Zr,Ee){return Zr.length>=Ee.length&&Zr.substring(Zr.length-Ee.length)===Ee}for(var N=0;N<rr.length;N++){var m=rr[N],u=m.replace(/^\s+|\s+$/g,"");if(u!==""){if(/^<style>$/i.test(u)){for(var R=[];N+1<rr.length;){N++;var o=rr[N].replace(/^\s+|\s+$/g,"");if(/^<\/?style>$/i.test(o))break;o.charAt(0)!=="'"&&R.push(rr[N])}j.addBlock(R.join(`
339
+ `));continue}var t=/^<style>(.*)<\/style>$/i.exec(u);if(t!=null){j.addBlock(t[1]);continue}if(!/^<style\b/i.test(u)&&u.charAt(0)!=="'"&&u.charAt(0)!=="!"){if(/^skinparam\b/i.test(u)){if(/\{\s*$/.test(u))for(var n=1;n>0&&N+1<rr.length;){N++;var f=rr[N].replace(/^\s+|\s+$/g,"");f.indexOf("{")>=0&&n++,f.indexOf("}")>=0&&n--}continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(u)){var O=Ba.take(M,rr,N);if(O>=0){N=O;continue}}if(!/^(title|header|footer|caption|scale)\b/i.test(u)){if(W){var g=/^(.*);\s*(<<(.+)>>)?$/.exec(u);g!=null?(d&&(d.label+=`
340
+ `+g[1].replace(/\s+$/,""),g[2]!=null&&(d.label+=" "+g[2]),Kr(d)),W=!1,d=null):d&&(d.label+=`
341
+ `+u);continue}var Q=u.match(Xr);if(Q!=null){var x=se("x "+(Q[4]||""));E.push({from:Q[1],to:Q[2],color:Q[3]||null,stereotypes:x.stereotypes,lineIndex:N,raw:m});continue}var I=Dr(m);if(I){var w;H==null?(_=I.type,w=0):I.type.indexOf(" ")<0?w=I.type.length-1:L(I.type,_)||I.type.indexOf(_)===0?w=I.type.length-_.length:w=I.type.length-1,I.depth=Math.max(1,w)+1,H==null&&(I.depth=1);var nr=I.label,lr=!1;nr.length>0&&nr.charAt(0)===":"&&(nr=nr.substring(1).replace(/^\s+/,""),nr.length>0&&nr.charAt(nr.length-1)===";"?nr=nr.substring(0,nr.length-1).replace(/\s+$/,""):lr=!0);var ir=pr(nr,I.style,I.color);if(ir.side=I.side,ir.code=I.code,I.code!=null&&(p[I.code]=ir),lr||Kr(ir),I.depth===1)H=ir,gr=[null,H];else if(H!=null){var mr=I.depth-1;for(mr>=1&&mr<gr.length&&gr[mr]!=null?gr[mr].children.push(ir):H.children.push(ir);gr.length<=I.depth;)gr.push(null);gr[I.depth]=ir;for(var Or=I.depth+1;Or<gr.length;Or++)gr[Or]=null}lr&&(W=!0,d=ir);continue}vo.droppedLine($r,"wbs",N,m)}}}}d!=null&&Kr(d),H==null&&(H=pr("",null,null));for(var Qr=[],ee=0;ee<E.length;ee++){var re=E[ee],Yr=p.hasOwnProperty(re.from)?p.hasOwnProperty(re.to)?null:re.to:re.from;if(Yr!=null){vo.unknownReference($r,"wbs","node",Yr,re.lineIndex,re.raw);continue}Qr.push({from:re.from,to:re.to,color:re.color,stereotypes:re.stereotypes})}return Ba.merge({root:H,links:Qr,styleSheet:j},M)}return{parse:ar}})();var kd=(function(){var pr="(\\d{4}[-/]\\d{1,2}[-/]\\d{1,2})";function q(d){var _=d.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);return _?_[1]+"-"+(_[2].length<2?"0"+_[2]:_[2])+"-"+(_[3].length<2?"0"+_[3]:_[3]):d.replace(/\//g,"-")}function Xr(d,_){return{name:d,alias:_||null,duration:0,start:null,end:null,startOffset:null,endOffset:null,after:null,afterOffset:0,afterWorking:!1,alignStart:null,endAlign:null,color:null,isMilestone:!1,isSeparator:!1,resources:[],resource:null,progress:null,predecessors:[]}}var Tr="[A-Za-z0-9_.\\u00C0-\\uFFFF]+",se=/^\[([^\[\]]+?)\]\s*-+(?:\[([^\]]*)\])?-*>\s*\[([^\[\]]+?)\]\s*$/,Kr=new RegExp("^("+Tr+")\\s*-+(?:\\[([^\\]]*)\\])?-*>\\s*("+Tr+")\\s*$");function Dr(d){var _={color:null,dashed:!1,dotted:!1,bold:!1,hidden:!1};if(d==null)return _;for(var p=d.split(/[,;]/),E=0;E<p.length;E++){var L=p[E].replace(/^\s+|\s+$/g,"");if(L!==""){var N=L.toLowerCase();if(N==="dashed")_.dashed=!0;else if(N==="dotted")_.dotted=!0;else if(N==="bold")_.bold=!0;else if(N==="hidden")_.hidden=!0;else{if(N==="plain"||N==="single"||N==="norank"||N==="node"||N.indexOf("thickness=")===0)continue;_.color=L.charAt(0)==="#"?L:"#"+L}}}return _}function ar(d){d=d.replace(/\.\s*$/,"").replace(/\s*<<[^>]*>>\s*$/,"");var _=d.match(/^(then\s+)?\[([^\]]+)\](?:\s+as\s+\[([^\]]+)\])?(?:\s+<<[^>]*>>)?(?:\s+on\s+((?:\{[^}]+\}\s*)+))?\s+(\S.*)$/i);if(_==null)return null;var p=[];if(_[4])for(var E=/\{([^}:]+)(?::\s*(\d+)%?)?\}/g,L;(L=E.exec(_[4]))!==null;)p.push({name:L[1].replace(/^\s+|\s+$/g,""),pct:L[2]?parseInt(L[2],10):100});for(var N=_[5].split(/\s+and\s+(?=(?:lasts|requires|starts|ends|happens|is|pauses|displays|links)\b)/i),m=[],u=0;u<N.length;u++){var R=j(N[u].replace(/^\s+|\s+$/g,""));R!=null&&m.push(R)}return{then:_[1]!=null,name:_[2],alias:_[3]||null,resource:p.length>0?p[0].name:null,resources:p,clauses:m}}var Y=new RegExp("^"+pr+"$"),$r={january:"01",february:"02",march:"03",april:"04",may:"05",june:"06",july:"07",august:"08",september:"09",october:"10",november:"11",december:"12"};function rr(d){if(d=d.replace(/^(?:at|on|the)\s+/i,"").replace(/\.\s*$/,""),Y.test(d))return q(d);var _=d.match(/^(\d+)(?:st|nd|rd|th)\s+of\s+([A-Za-z]+)\s+(\d{4})$/i);return _!=null&&$r.hasOwnProperty(_[2].toLowerCase())?_[3]+"-"+$r[_[2].toLowerCase()]+"-"+(_[1].length<2?"0"+_[1]:_[1]):null}function H(d){d=d.replace(/^\s+|\s+$/g,"");var _=rr(d);if(_)return{date:_};var p=d.match(/^([dDtTeE])([-+])(\d+)$/);return p?{anchor:p[1].toUpperCase(),offset:parseInt(p[2]+p[3],10)}:null}function M(d){var _;if((_=d.match(/^(.+?)\s+to\s+(.+)$/i))!=null){var p=H(_[1]),E=H(_[2]);if(p&&E)return{from:p,to:E}}if((_=d.match(/^(.+?)\s+and\s+(\d+)\s+days?$/i))!=null){var L=H(_[1]);if(L)return{from:L,to:{days:parseInt(_[2],10)}}}if((_=d.match(/^then\s+(\d+)\s+days?$/i))!=null)return{from:{afterPrev:!0},to:{days:parseInt(_[1],10)}};var N=H(d);return N?{from:N,to:N}:null}function j(d){var _;if((_=d.match(/^(?:lasts|requires)\s+(\d+)\s+(days?|weeks?|hours?)(?:\s+(?:and\s+)?(\d+)\s+(?:hours?|minutes?))?$/i))!=null){var p=parseInt(_[1],10),E=/week/i.test(_[2])?p*7:/hour/i.test(_[2])?Math.ceil(p/24):p;return _[3]!=null&&(E+=Math.ceil(parseInt(_[3],10)/24)),{kind:"duration",days:Math.max(1,E)}}if((_=d.match(/^(starts|ends|happens)\s+(.+)$/i))!=null){var L=_[1].toLowerCase(),N=_[2].replace(/^(?:at|on|the)\s+/i,"").replace(/^(\d{4}[-/]\d{2}[-/]\d{2})\s+\d{1,2}:\d{2}(?::\d{2})?$/,"$1"),m;return Y.test(N)?{kind:L,date:q(N)}:(m=N.match(/^(\d+)(?:st|nd|rd|th)\s+of\s+([A-Za-z]+)\s+(\d{4})$/i))!=null&&$r.hasOwnProperty(m[2].toLowerCase())?{kind:L,date:m[3]+"-"+$r[m[2].toLowerCase()]+"-"+(m[1].length<2?"0"+m[1]:m[1])}:(m=N.match(/^(\d+)\s+days?\s+after\s+start$/i))!=null?{kind:L,offset:parseInt(m[1],10)}:(m=N.match(/^D\+(\d+)$/i))!=null?{kind:L,offset:parseInt(m[1],10)}:(m=N.match(/^\[([^\]]+)\]'s\s+(start|end)$/i))!=null?{kind:L,ref:m[1],refEnd:m[2].toLowerCase()==="end"}:(m=N.match(/^(?:(\d+)\s+(working\s+)?days?\s+)?after\s+\[([^\]]+)\]'s\s+end$/i))!=null?{kind:L,ref:m[3],refEnd:!0,offset:m[1]!=null?parseInt(m[1],10):0,working:m[2]!=null}:null}return(_=d.match(/^is\s+(\d+)%\s+completed?$/i))!=null?{kind:"progress",value:parseInt(_[1],10)}:(_=d.match(/^is\s+colou?red\s+in\s+(\S+(?:\/\S+)?)$/i))!=null?{kind:"color",value:_[1]}:/^(?:pauses\b|displays\s+on\s+same\s+row\b|links\s+to\b|is\s+deleted$)/i.test(d)?{kind:"ignore"}:null}function gr(d,_){switch(_.kind){case"duration":d.duration=_.days;break;case"progress":d.progress=_.value;break;case"color":d.color=_.value;break;case"happens":d.isMilestone=!0,d.duration=0;case"starts":_.date!=null?d.start=_.date:_.ref!=null&&_.refEnd?(d.after=_.ref,d.afterOffset=_.offset||0,d.afterWorking=!!_.working):_.ref!=null?d.alignStart=_.ref:_.offset!=null&&(d.startOffset=_.offset);break;case"ends":_.date!=null?d.end=_.date:_.ref!=null&&_.refEnd?d.endAlign=_.ref:_.ref!=null?d.alignEnd=_.ref:_.offset!=null&&(d.endOffset=_.offset);break;default:break}}function W(d,_){_=_||{};var p=d.split(/\r\n|\r|\n/),E=null,L=null,N=1,m=[],u=[],R=null,o=null,t=[],n={},f=null,O=null;function g(bo){bo=q(bo),(O==null||bo<O)&&(O=bo)}for(var Q={title:null,header:null,footer:null,caption:null,legend:null},x=/^skinparam\s+monochrome\s+(true|on|yes)\s*$/im.test(d)||/^skinparam\s*\{[^}]*\bmonochrome\s+(true|on|yes)/im.test(d),I=0;I<p.length;I++){var w=p[I].replace(/^\s+|\s+$/g,"");if(w!==""&&w.charAt(0)!=="'"&&w.charAt(0)!=="!"){var nr=w.match(/^project\s+starts\s+(.+)$/i);if(nr){var lr=rr(nr[1]);lr!=null&&(E=lr);continue}var ir=w.match(/^it\s+is\s+(\d+)%\s+complete\.?$/i);if(ir&&f!=null&&n.hasOwnProperty(f)){t[n[f]].progress=parseInt(ir[1],10);continue}if(!/^(?:it\s+is\b|\{[^}]+\}\s+is\s+|from\s+\d{1,2}:\d{2}\s+to\s+\d{1,2}:\d{2})/i.test(w)){var mr=w.match(/^(?:printscale|ganttscale|projectscale|project\s+scale)\s+(daily|weekly|monthly|quarterly|yearly)\b(?:\s+zoom\s+(\d+(?:\.\d+)?))?/i);if(mr){L=mr[1].toLowerCase(),mr[2]&&(N=parseFloat(mr[2]));continue}if(!/^(printscale|ganttscale|project\s+scale)\b/i.test(w)){var Or=w.match(/^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)s?\s+(?:are|is)\s+closed?\b/i);if(Or){m.push(Or[1].toLowerCase());continue}if(!/^separator\b/i.test(w)){if(/^note\b/i.test(w)&&!/:/.test(w)){vo.droppedNote(_,"gantt","note",I,p[I]);var Qr=vo.blockEnd(p,I,/^\s*end\s*note\b/i);Qr>=0&&(I=Qr);continue}if(/^<style\b/i.test(w)&&!/<\/style\s*>/i.test(w)){for(;I+1<p.length&&!/<\/style\s*>/i.test(p[I+1]);)I++;I++;continue}if(/^(hide|show)\b/i.test(w)){vo.ignoredDirective(_,"gantt",I,p[I]);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(w)){var ee=Ba.take(Q,p,I);if(ee>=0){I=ee;continue}}if(!/^(language|title|header|footer|caption|legend|end\s*legend|scale|skinparam)\b/i.test(w)){var re=w.match(/^--+\s*(.*?)\s*(?:--+)?\s*$/);if(re){var Yr=Xr(re[1]||"",null);Yr.isSeparator=!0,t.push(Yr);continue}var Zr=w.match(/^today\s+is\s+(.+)$/i);if(Zr){var Ee=Zr[1].split(/\s+and\s+(?:is\s+)?/i),Ze=Ee[0].match(/^(\d+)\s+days?\s+after\s+start$/i),eo=Ze?null:rr(Ee[0]);Ze?R={offset:parseInt(Ze[1],10)}:eo&&(R={date:eo});for(var Gr=1;Gr<Ee.length;Gr++){var $e=Ee[Gr].match(/^colou?red\s+in\s+(#?\w+)/i);$e&&(o=$e[1])}continue}var Ye=w.match(/^(.+?)\s+(?:is|are)\s+((?:colou?red\s+in|named\s+\[|closed?|opene?d?)\b.*)$/i);if(Ye&&w.charAt(0)!=="["){var Hr=M(Ye[1]);if(Hr){for(var Fo={from:Hr.from,to:Hr.to,color:null,name:null,closed:null},k=Ye[2].split(/\s+and\s+(?:is\s+|are\s+)?/i),T=0;T<k.length;T++){var D=k[T],S;(S=D.match(/^colou?red\s+in\s+(#?\w+)(?:\/(#?\w+))?/i))!=null?Fo.color=S[1]:(S=D.match(/^named\s+\[([^\]]+)\]/i))!=null?Fo.name=S[1]:/^closed?\b/i.test(D)?Fo.closed=!0:/^opene?d?\b/i.test(D)&&(Fo.closed=!1)}Fo.from.date&&g(Fo.from.date),Fo.to.date&&g(Fo.to.date),u.push(Fo);continue}}if(!/^(today|close)\b/i.test(w)&&!new RegExp("^"+pr+"\\s+(?:to\\s+"+pr+"\\s+)?(?:is|are)\\s+","i").test(w)){var U=w.match(se),P=U!=null;if(U==null&&(U=w.match(Kr)),U!=null){for(var s=[U[1],U[3]],$=[],G=0;G<2&&$.length===G;G++){var B=s[G];n.hasOwnProperty(B)?$.push(n[B]):P?(n[B]=t.length,t.push(Xr(B,null)),$.push(n[B]),f=B):vo.unknownReference(_,"gantt","task",B,I,p[I])}if($.length===2){var or=Dr(U[2]);or.ref=s[0],t[$[1]].predecessors.push(or)}continue}var K=ar(w);if(K){var hr=K.alias||K.name,vr;n.hasOwnProperty(hr)?vr=n[hr]:(vr=t.length,t.push(Xr(K.name,K.alias))),n[hr]=vr,K.alias&&(n[K.name]=vr);var Jr=t[vr];K.alias&&(Jr.alias=K.alias),K.resource&&(Jr.resource=K.resource),K.resources.length>0&&(Jr.resources=K.resources);for(var Ge=0;Ge<K.clauses.length;Ge++)gr(Jr,K.clauses[Ge]);K.then&&f&&!Jr.after&&!Jr.start&&Jr.startOffset==null&&!Jr.alignStart&&(Jr.after=f),f=hr;continue}vo.droppedLine(_,"gantt",I,p[I])}}}}}}}for(var no=0;no<t.length;no++)t[no].start&&g(t[no].start),t[no].end&&g(t[no].end);return E==null&&O!=null&&(E=O),Ba.merge({projectStart:E,printScale:L,zoom:N,closedWeekdays:m,periods:u,today:R,todayColor:o,tasks:t,monochrome:x},Q)}return{parse:W}})();var _d=(function(){function pr(q,Xr){Xr=Xr||{};var Tr=q.split(/\r\n|\r|\n/),se=[],Kr={title:null,header:null,footer:null,caption:null,legend:null},Dr={},ar=0,Y=-1,$r=[],rr=[],H=/^skinparam\s+monochrome\s+(true|on|yes)\s*$/im.test(q)||/^skinparam\s*\{[^}]*\bmonochrome\s+(true|on|yes)/im.test(q),M=[],j={},gr=[],W=null,d="automatic",_="decimal",p=null;function E($e){M.indexOf($e)<0&&M.push($e)}function L($e){var Ye=$e.match(/^:([^\s+\-]+)([+\-][.\d]+)?$/);if(Ye)return j.hasOwnProperty(Ye[1])?j[Ye[1]]+(Ye[2]?parseFloat(Ye[2]):0):null;var Hr=$e.match(/^(\d+)\/(\d+)\/(\d+)$/);if(Hr)return _==="decimal"&&(_="date"),Date.UTC(parseInt(Hr[1],10),parseInt(Hr[2],10)-1,parseInt(Hr[3],10))/1e3;var Fo=$e.match(/^(\d+):(\d+):(\d+)$/);return Fo?(_==="decimal"&&(_="hour"),parseInt(Fo[1],10)*3600+parseInt(Fo[2],10)*60+parseInt(Fo[3],10)):/^[+\-]?\d+(?:\.\d+)?$/.test($e)?$e.charAt(0)==="+"?ar+parseFloat($e):parseFloat($e):null}function N($e,Ye){var Hr=Ye.replace(/^\s+|\s+$/g,"").replace(/\s*:\s*[^:]*$/,""),Fo=/^\{hidden\}$/i.test(Hr);return(Fo||Hr==='""')&&(Hr=""),{time:$e,state:Hr,hidden:Fo}}for(var m=0;m<Tr.length;m++){var u=Tr[m].replace(/^\s+|\s+$/g,"");if(u!==""&&u.charAt(0)!=="'"&&u.charAt(0)!=="!"){if(/^skinparam\b/i.test(u)){if(/\{\s*$/.test(u))for(var R=1;R>0&&m+1<Tr.length;){m++;var o=Tr[m].replace(/^\s+|\s+$/g,"");o.indexOf("{")>=0&&R++,o.indexOf("}")>=0&&R--}continue}var t=u.match(/^scale\s+(\d+)\s*(?:[smhdDyY])?\s+as\s+(\d+)\s+pixels?\s*$/i);if(t){W={tick:parseInt(t[1],10),pixel:parseInt(t[2],10)};continue}var n=u.match(/^(hide|manual)\s+time.?axis\s*$/i);if(n){d=n[1].toLowerCase()==="hide"?"hidden":"manual";continue}var f=u.match(/^use\s*date\s*format\s*"([^"]+)"\s*$/i);if(f){p=f[1];continue}if(/^(hide|show)\b/i.test(u)){vo.ignoredDirective(Xr,"timing",m,Tr[m]);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(u)){var O=Ba.take(Kr,Tr,m);if(O>=0){m=O;continue}}if(!/^(title|header|footer|caption|scale)\b/i.test(u)){var g=u.match(/^([A-Za-z_][\w.]*)(?:@(\S+))?\s*-+(?:\[[^\]]*\])?>\s*([A-Za-z_][\w.]*)(?:@(\S+))?\s*(?::\s*(.*))?$/);if(g&&Dr.hasOwnProperty(g[1])&&Dr.hasOwnProperty(g[3])){var Q=g[2]!=null?L(g[2]):ar,x=g[4]!=null?L(g[4]):ar;Q!=null&&x!=null&&gr.push({from:Dr[g[1]],fromTime:Q,to:Dr[g[3]],toTime:x,label:g[5]?g[5].replace(/^\s+|\s+$/g,""):""});continue}var I=u.match(/^(?:compact\s+)?(robust|concise|rectangle|analog|binary|clock)\s+(?:"([^"]+)"|([^\s"]+))(?:\s+<<[^>]*>>)?(?:\s+(?:from|between)\s+(\S+)\s+(?:to|and)\s+(\S+))?(?:\s+as\s+(\S+))?(?:\s+<<[^>]*>>)?(?:\s+with\s+period\s+(\d+))?(?:\s+pulse\s+(\d+))?(?:\s+offset\s+(\d+))?\s*$/i);if(I){var w=I[1].toLowerCase(),nr=I[2]!=null?I[2]:I[3],lr=I[6]||nr,ir={name:nr,alias:lr,kind:w==="analog"?"robust":w,transitions:[]};w==="analog"&&(ir.analog=!0),w==="clock"&&(ir.period=I[7]?parseInt(I[7],10):100),Dr[lr]=se.length,Dr[nr]=se.length,se.push(ir);continue}if(!/^\S+\s+has\s+\S/i.test(u)){var mr=u.match(/^highlight\s+([+\-]?\d+)\s+to\s+([+\-]?\d+)(?:\s+(#\S+))?(?:\s*:\s*(.+))?$/i);if(mr){rr.push({from:parseInt(mr[1],10),to:parseInt(mr[2],10),color:mr[3]||null,label:mr[4]?mr[4].replace(/^\s+|\s+$/g,""):null});continue}var Or=u.match(/^@([+\-]?\d+)\s*<->\s*@([+\-]?\d+)\s*:\s*(.+)$/);if(Or){var Qr=parseInt(Or[1],10),ee=Or[2],re;ee.charAt(0)==="+"||ee.charAt(0)==="-"?re=Qr+parseInt(ee,10):re=parseInt(ee,10),$r.push({from:Qr,to:re,label:Or[3].replace(/^\s+|\s+$/g,"")});continue}var Yr=u.match(/^@([A-Za-z_][\w]*)\s*$/);if(Yr&&Dr.hasOwnProperty(Yr[1])){Y=Dr[Yr[1]];continue}var Zr=u.match(/^@(:?[+\-]?[\w.\/:]+(?:[+\-][.\d]+)?)(?:\s+as\s+:(\S+))?\s*$/);if(Zr&&L(Zr[1])!=null){ar=L(Zr[1]),E(ar),Zr[2]&&(j[Zr[2]]=ar);continue}var Ee=u.match(/^([+\-]?\d+(?:\.\d+)?)\s+is\s+(.+)$/i);if(Ee&&Y>=0){var Ze=Ee[1];Ze.charAt(0)==="+"||Ze.charAt(0)==="-"?ar+=parseFloat(Ze):ar=parseFloat(Ze),E(ar),se[Y].transitions.push(N(ar,Ee[2]));continue}var eo=u.match(/^(\S+)\s+is\s+(.+)$/i);if(eo){var Gr=eo[1];Dr.hasOwnProperty(Gr)&&se[Dr[Gr]].transitions.push(N(ar,eo[2]));continue}vo.droppedLine(Xr,"timing",m,Tr[m])}}}}return Ba.merge({signals:se,constraints:$r,highlights:rr,messages:gr,timeMarks:M,codes:j,scale:W,timeAxis:d,timeFormat:_,dateFormat:p,monochrome:H},Kr)}return{parse:pr}})();var tf=(function(){var pr=1e3,q=/^(?:(?:title|scale|hide|skin|skinparam)\s|!)/;function Xr(ar){return String(ar??"").replace(/^\s+|\s+$/g,"")}function Tr(ar,Y,$r){Y==="__proto__"?Object.defineProperty(ar,Y,{value:$r,enumerable:!0,writable:!0,configurable:!0}):ar[Y]=$r}function se(ar){for(var Y=Xr(ar).replace(/\s*<<.*>>\s*$/,""),$r=Y.split(/\s*\/\s*/),rr=[],H=0;H<$r.length;H++){var M=Xr($r[H]);M.length>=2&&M.charAt(0)==='"'&&M.charAt(M.length-1)==='"'&&(M=M.substring(1,M.length-1)),M!==""&&rr.push(M)}return rr.length>0?rr.join("/"):null}function Kr(ar){var Y=0,$r=ar.length,rr=0;function H(t){var n=new Error(t);throw n.jsonSyntax=!0,n.offset=Y,n}function M(){if(Y>=$r)return" but the input ends there";var t=ar.indexOf(`
342
+ `,Y),n=Xr(ar.substring(Y,t<0?$r:t));return n.length>24&&(n=n.substring(0,23)+"\u2026"),' at "'+n+'"'}function j(){for(var t=Y-1;t>=0&&/\s/.test(ar.charAt(t));)t--;return t>=0&&ar.charAt(t)===","}function gr(t){return t>="0"&&t<="9"}function W(){for(;Y<$r;){var t=ar.charAt(Y);if(t!==" "&&t!==" "&&t!==`
343
+ `&&t!=="\r")break;Y++}}function d(){if(ar.charAt(Y)==="/"){for(ar.charAt(Y+1)!=="/"&&(Y++,H('expected "//" (line comments are the only comment form)'+M()));Y<$r&&ar.charAt(Y)!==`
344
+ `&&ar.charAt(Y)!=="\r";)Y++;W()}}function _(){var t=ar.charAt(Y);switch(t){case"{":return u();case"[":return m();case'"':return L();case"t":return p("true",!0);case"f":return p("false",!1);case"n":return p("null",null)}if(t==="-"||gr(t))return E();var n="";t==="/"?n=': a "//" comment is only allowed inside an object, before a key or after a value':t==="'"?n=": strings take double quotes":(t==="]"||t==="}")&&j()?n=": no trailing comma is allowed":/^[A-Za-z]$/.test(t)&&(n=": true, false and null are the only bare words"),H("expected a JSON value"+M()+n)}function p(t,n){return ar.substr(Y,t.length)!==t&&H('expected "'+t+'"'+M()),Y+=t.length,n}function E(){var t=Y;ar.charAt(Y)==="-"&&Y++;var n=ar.charAt(Y);if(gr(n)||H("expected a digit"+M()+(n==="."?': a number cannot start with "."':"")),Y++,n==="0")gr(ar.charAt(Y))&&H("a number cannot have a leading zero"+M());else for(;gr(ar.charAt(Y));)Y++;if(ar.charAt(Y)===".")for(Y++,gr(ar.charAt(Y))||H("expected a digit after the decimal point"+M());gr(ar.charAt(Y));)Y++;var f=ar.charAt(Y);if(f==="e"||f==="E")for(Y++,(ar.charAt(Y)==="+"||ar.charAt(Y)==="-")&&Y++,gr(ar.charAt(Y))||H("expected a digit in the exponent"+M());gr(ar.charAt(Y));)Y++;return Number(ar.substring(t,Y))}function L(){Y++;for(var t="",n=Y;Y<$r;){var f=ar.charAt(Y);if(f==='"')return t+=ar.substring(n,Y),Y++,t;if(f==="\\"){t+=ar.substring(n,Y),t+=N(),n=Y;continue}f.charCodeAt(0)<32&&H(f===`
345
+ `||f==="\r"?"a string is not closed before the end of its line (a string cannot contain a line break)":"a control character (U+00"+(f.charCodeAt(0)<16?"0":"")+f.charCodeAt(0).toString(16).toUpperCase()+") is not allowed inside a string; escape it"),Y++}H("a string is not closed before the end of the input")}function N(){Y++,Y>=$r&&H("a string is not closed before the end of the input");var t=ar.charAt(Y);switch(t){case'"':case"/":case"\\":return Y++,t;case"b":return Y++,"\b";case"f":return Y++,"\f";case"n":return Y++,`
346
+ `;case"r":return Y++,"\r";case"t":return Y++," ";case"u":var n=ar.substr(Y+1,4);if(!/^[0-9A-Fa-f]{4}$/.test(n)){for(Y++;/^[0-9A-Fa-f]$/.test(ar.charAt(Y));)Y++;H('expected four hexadecimal digits after "\\u"'+M())}return Y+=5,String.fromCharCode(parseInt(n,16))}H('"\\'+t+'" is not a valid escape sequence'+M()+' (only \\" \\\\ \\/ \\b \\f \\n \\r \\t and \\uXXXX are)')}function m(){var t=[];if(Y++,++rr>pr&&H("nesting deeper than "+pr+" levels"),W(),ar.charAt(Y)==="]")return Y++,rr--,t;do W(),t.push(_()),W();while(R(","));return ar.charAt(Y)!=="]"&&H('expected "," or "]"'+M()+(ar.charAt(Y)==="/"?': a "//" comment is only allowed inside an object':"")),Y++,rr--,t}function u(){var t={};if(Y++,++rr>pr&&H("nesting deeper than "+pr+" levels"),W(),ar.charAt(Y)==="}")return Y++,rr--,t;do{if(W(),d(),ar.charAt(Y)!=='"'){var n=ar.charAt(Y);H("expected a double-quoted key"+M()+(n==="}"&&j()?": no trailing comma is allowed":n==="'"?": keys take double quotes":n==="/"?': only one "//" comment fits between two members':""))}var f=L();W(),ar.charAt(Y)!==":"&&H('expected ":" after the key "'+f+'"'+M()),Y++,W(),Tr(t,f,_()),W(),d()}while(R(","));return ar.charAt(Y)!=="}"&&H('expected "," or "}"'+M()),Y++,rr--,t}function R(t){return ar.charAt(Y)!==t?!1:(Y++,!0)}W();var o=_();return W(),Y<$r&&H("unexpected text after the JSON value"+M()+(ar.charAt(Y)==="/"?': a "//" comment is only allowed inside an object':"")),o}function Dr(ar,Y){Y=Y||{};for(var $r=ar.split(/\r\n|\r|\n/),rr=[],H=null,M=[],j=[],gr=!1,W=!1,d=0;d<$r.length;d++){var _=$r[d],p=Xr(_);if(p===""){gr&&(M.push(_),j.push(d));continue}if(W=!0,p.charAt(0)!=="'"){if(/^@(end|start)(json|yaml|uml)\b/i.test(p)){if(/^@end/i.test(p))break;continue}if(_.charAt(0)==="#"){var E=_.match(/^#highlight\s+(\S.*)$/);if(E){var L=se(E[1]);L!=null&&rr.push(L)}gr=!0;continue}if(!gr){if(/^title\s/i.test(p)){H=p.replace(/^title\s+/i,"");continue}if(q.test(p)){if(/^skinparam\s/.test(p)&&p.indexOf("{")>=0)for(;d+1<$r.length&&Xr($r[d])!=="}";)d++;continue}gr=!0}M.push(_),j.push(d)}}var N=M.join(`
347
+ `);if(Xr(N)==="")throw vo.emptyError(vo.sourceWrapper(Y)||"@startjson",W);var m;try{m=Kr(N)}catch(R){if(R==null||R.jsonSyntax!==!0)throw R;var u=N.substring(0,Math.min(R.offset,N.length)).split(`
348
+ `).length-1;throw u>=j.length&&(u=j.length-1),vo.syntaxError(Y,"json",j[u],M[u],R.message)}return{data:m,rootPresent:!0,highlights:rr,title:H}}return{parse:Dr,parseStrict:Kr,parseHighlight:se}})();var Od=(function(){var pr="EMPTY_LINE",q="NO_KEY_ONLY_TEXT",Xr="KEY_ONLY",Tr="KEY_AND_VALUE",se="KEY_AND_FLOW_SEQUENCE",Kr="KEY_AND_BLOCK_STYLE",Dr="KEY_AND_FOLDED_STYLE",ar="PLAIN_ELEMENT_LIST",Y="PLAIN_DASH",$r=/^(?:title|scale|hide|skin|skinparam)\s/;function rr(n){return String(n??"").replace(/^\s+|\s+$/g,"")}function H(n,f,O){f==="__proto__"?Object.defineProperty(n,f,{value:O,enumerable:!0,writable:!0,configurable:!0}):n[f]=O}function M(n){if(n==="")return n;if(n.charAt(0)==="#")return"";for(var f="",O=0;O<n.length;O++){var g=n.charAt(O);if((g==="'"||g==='"')&&(f===""?f=g:g===f&&(f="")),f===""&&O<n.length-1&&g===" "&&n.charAt(O+1)==="#")return n.substring(0,O)}return n}function j(n){for(var f="",O=0;O<n.length;O++){var g=n.charAt(O);if(f!=="")g===f&&(f="");else if(g==='"'||g==="'")f=g;else if(g===":")return O}return-1}function gr(n){for(var f=[],O="",g="",Q=!1,x=0;x<n.length;x++){var I=n.charAt(x);g!==""?I==="\\"?x+1<n.length&&(O+=n.charAt(x+1),x++):I===g?g="":O+=I:!Q&&rr(O)===""&&(I==="'"||I==='"')?(g=I,Q=!0,O=""):I===","?(f.push(Q?O:rr(O)),O="",Q=!1):I==="\\"?x+1<n.length&&(O+=n.charAt(x+1),x++):O+=I}return f.push(Q?O:rr(O)),f}function W(n){if(n==null||n.length<2)return n;var f=n.charAt(0),O=n.charAt(n.length-1);return f==='"'&&O==='"'||f==="'"&&O==="'"?n.substring(1,n.length-1):n}function d(n){var f=0;for(n=n.replace(/\t/g," ");f<n.length&&n.charAt(f)===" ";)f++;var O=M(rr(n.substring(f)));if(O==="")return{type:pr,indent:0,listItem:!1};if(O==="-")return{type:Y,indent:f+1,listItem:!0};var g=O.indexOf("- ")===0;g&&(f+=2,O=O.substring(2));var Q=j(O);if(Q===-1)return{type:g?ar:q,indent:f,key:null,value:W(O),listItem:g};var x=rr(O.substring(0,Q)),I=rr(O.substring(Q+1)),w=Tr;if(I==="")w=Xr;else if(I==="|")w=Kr;else if(I===">")w=Dr;else if(I.charAt(0)==="["&&I.charAt(I.length-1)==="]")return{type:se,indent:f,key:W(x),value:null,values:gr(I.substring(1,I.length-1)),listItem:g};return{type:w,indent:f,key:W(x),value:W(I),listItem:g}}var _="undetermined",p="scalar",E="list",L="map";function N(n){return{type:_,value:null,list:null,keys:null,map:null,at:n||null}}function m(n,f){var O=N(f);return O.type=p,O.value=n,O}function u(n,f){var O=N(f);O.type=E,O.list=[];for(var g=0;g<n.length;g++)O.list.push(m(n[g],f));return O}function R(n,f){var O=[],g=[N(null)],Q=null;function x(D,S){throw vo.syntaxError(f,"yaml",D!=null?D.index:null,D!=null?D.raw:null,S)}function I(){return g[g.length-1]}function w(D,S){D.type===_?(D.type=E,D.list=[]):D.type!==E&&x(Q,'a "- item" cannot join a node that already holds '+(D.type===L?'"key: value" pairs':"a plain value")),D.list.push(S)}function nr(D,S,U){D.type===_?(D.type=L,D.keys=[],D.map={}):D.type!==L&&x(Q,'"key: value" cannot join a node that is already a list of "- items"'),Object.prototype.hasOwnProperty.call(D.map,S)||D.keys.push(S),H(D.map,S,U)}function lr(){g.pop(),g.length===0&&x(Q,"this line is indented left of the list the document started with, so there is no node for it to join")}function ir(D){if(O.length===0){O.push(D);return}if(D>O[O.length-1]){O.push(D);return}for(;O.length>0&&D<O[O.length-1];)O.pop(),lr(),I().type===E&&lr()}function mr(){if(g.length<2)return!1;var D=g[g.length-2];return D.type===E&&D.list.length>0&&D.list[D.list.length-1]===g[g.length-1]}function Or(){mr()&&g.pop();var D=N(Q);w(I(),D),g.push(D)}function Qr(D,S){nr(I(),D,m(S,Q))}function ee(D,S){nr(I(),D,u(S,Q))}function re(D){var S=N(Q);nr(I(),D,S),g.push(S)}function Yr(D){mr()&&g.pop();var S=N(Q);w(I(),S),g.push(S);var U=N(Q);nr(I(),D,U),g.push(U)}function Zr(D){mr()&&g.pop(),w(I(),m(D,Q))}function Ee(D,S){mr()&&g.pop();var U=N(Q);w(I(),U),g.push(U),nr(I(),D,m(S,Q))}function Ze(D,S){mr()&&g.pop();var U=N(Q);w(I(),U),g.push(U),nr(I(),D,u(S,Q))}function eo(D){for(var S=D+1;S<n.length;S++){var U=d(n[S].raw);if(U.type!==pr)return U}return null}function Gr(D){for(var S="",U=D+1;U<n.length;U++){var P=d(n[U].raw);if(P.type===pr){D=U;continue}if(P.type!==q)break;S+=(S.length>0?" ":"")+P.value,D=U}return{text:S,index:D}}function $e(D,S){for(var U="",P=D+1;P<n.length;P++){var s=d(n[P].raw);if(s.type!==q&&s.type!==pr&&s.indent<=S)break;U+=rr(n[P].raw)+`
349
+ `,D=P}return{text:U,index:D}}for(var Ye=0;Ye<n.length;Ye++){Q=n[Ye];var Hr=d(Q.raw);if(Hr.type!==pr){if(Hr.type===q&&x(Q,'this line is plain text \u2014 not "key: value", not a "- item", and there is no bare "key:" right above it for it to continue: '+vo.excerpt(Q.raw)),Hr.type===Y){Or();continue}if(ir(Hr.indent),Hr.listItem)Hr.type===Xr?Yr(Hr.key):Hr.type===ar?Zr(Hr.value):Hr.type===Tr?Ee(Hr.key,Hr.value):Hr.type===se?Ze(Hr.key,Hr.values):x(Q,'a "|" or ">" block value on a "- key:" item is not supported by PlantUML');else if(Hr.type===Xr){var Fo=eo(Ye);if(Fo==null||Fo.indent<=Hr.indent)Qr(Hr.key,"");else if(Fo.type===q){var k=Gr(Ye);Qr(Hr.key,k.text),Ye=k.index}else re(Hr.key)}else if(Hr.type===Tr)Qr(Hr.key,Hr.value);else if(Hr.type===Kr){var T=$e(Ye,Hr.indent);Qr(Hr.key,T.text),Ye=T.index}else Hr.type===se?ee(Hr.key,Hr.values):x(Q,'the folded block style ">" is not supported by PlantUML; use "|" or a one-line value')}}return g[0]}function o(n,f){function O(x,I){throw vo.syntaxError(f,"yaml",x!=null?x.index:null,x!=null?x.raw:null,I)}function g(x){for(var I=[],w=0;w<x.list.length;w++){var nr=x.list[w];nr.type===p?I.push(nr.value):nr.type===L?I.push(Q(nr)):nr.type===E?O(nr.at,"a list nested directly inside a list is not supported by PlantUML"):O(nr.at,'this "-" opens a list item that never receives a value')}return I}function Q(x){for(var I={},w=0;w<x.keys.length;w++){var nr=x.keys[w],lr=x.map[nr];lr.type===p?H(I,nr,lr.value):lr.type===L?H(I,nr,Q(lr)):lr.type===E?H(I,nr,g(lr)):O(lr.at,'the key "'+nr+'" never receives a value')}return I}return n.type===p?n.value:n.type===E?g(n):n.type===L?Q(n):null}function t(n,f){f=f||{};for(var O=n.split(/\r\n|\r|\n/),g=[],Q=null,x=[],I=!1,w=!1,nr=0;nr<O.length;nr++){var lr=O[nr],ir=rr(lr);if(ir===""){I&&x.push({raw:lr,index:nr});continue}if(w=!0,!(ir.charAt(0)==="'"||ir.charAt(0)==="!")){if(lr.indexOf("#highlight ")===0){var mr=tf.parseHighlight(lr.substring(11));mr!=null&&g.push(mr);continue}if(!I){if(/^title\s/i.test(ir)){Q=ir.replace(/^title\s+/i,"");continue}if($r.test(ir)){if(/^skinparam\s/.test(ir)&&ir.indexOf("{")>=0)for(;nr+1<O.length&&rr(O[nr])!=="}";)nr++;continue}I=!0}x.push({raw:lr,index:nr})}}var Or=vo.sourceWrapper(f)||"@startyaml";if(x.length===0)throw vo.emptyError(Or,w);var Qr=o(R(x,f),f);if(Qr==null)throw vo.emptyError(Or,!0);return{data:Qr,rootPresent:!0,highlights:g,title:Q}}return{parse:t}})();var Fd=(function(){function pr(o){return o.replace(/^\s+|\s+$/g,"")}function q(o,t){t=t||{};for(var n=o.split(/\r\n|\r|\n/),f=[],O=!1,g=!1,Q=0,x={title:null,header:null,footer:null,caption:null,legend:null},I=0;I<n.length;I++){var w=pr(n[I]);if(O){/^<\/style>/i.test(w)&&(O=!1);continue}if(g){w==="}"&&(g=!1);continue}if(Q>0){w.indexOf("{")>=0&&Q++,w.indexOf("}")>=0&&Q--;continue}if(!(w===""||w.charAt(0)==="'"||w.charAt(0)==="!")){if(/^<style\b/i.test(w)){/<\/style>/i.test(w)||(O=!0);continue}if(/^skinparam\b/i.test(w)){/\{\s*$/.test(w)&&(Q=1);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(w)){var nr=Ba.take(x,n,I);if(nr>=0){I=nr;continue}}if(!/^(title|header|footer|caption|scale|hide\s+stereotype)\b/i.test(w)){if(/^sprite\s+\$/.test(w)){/\}\s*$/.test(w)||(g=!0);continue}f.push(w)}}}var lr={tokens:Tr(f),pos:0},ir=null;return lr.tokens.length>0&&(lr.tokens[0].s.charAt(0)==="{"?ir=gr(lr).el:ir=_(lr," ",null,!0).el),Ba.merge({root:ir},x)}var Xr=/\{(?:[-+^#!*\/]|S-|SI|S)?/g;function Tr(o){var t=[];function n(Or,Qr){Or=pr(Or),Or.length>0&&t.push({s:Or,t:Qr})}for(var f=0;f<o.length;f++){for(var O=o[f].split(/([|}])/),g=[],Q=0;Q<O.length;Q++)O[Q]!==""&&g.push(O[Q]);for(var x=0;x<g.length;x++){var I=g[x];if(I!=="|"){var w=x<g.length-1?"col":"line";Xr.lastIndex=0;var nr=Xr.exec(I);if(!nr){n(I,w);continue}var lr=0,ir=0;do{var mr=nr.index;mr>lr&&n(I.substring(lr,mr),"col"),ir=mr+nr[0].length,n(I.substring(mr,ir),ir===I.length?w:"col"),lr=ir,nr=Xr.exec(I)}while(nr);ir<I.length&&n(I.substring(ir),w)}}}return t}function se(o,t){var n=o.tokens[o.pos+t];return n?n.s:""}function Kr(o){var t=o.tokens[o.pos];return o.pos++,t||{s:"",t:"line"}}function Dr(o){return o.pos>=o.tokens.length}function ar(o){return" +^-!#".indexOf(o)>=0?o:null}function Y(o){return pr(o.replace(/<\/?[^>]*>/g,""))}function $r(o){return o.replace(/<&[-\w]+>/g,"00").replace(/<\/?[^>]*>/g,"").length}function rr(o){return/<b>/i.test(o)}function H(o){return{type:"text",text:o,display:Y(o),bold:rr(o),show:o!=="."}}function M(o){return o.length>=2&&/^(--|==|~~|\.\.)/.test(o)&&o.substring(o.length-2)===o.substring(0,2)}function j(o,t){return{el:t,t:o.t}}function gr(o){var t=se(o,0),n=se(o,1),f=t.charAt(t.length-1);if(t==="{*")return m(o);if(t==="{"&&(n==="T"||n.length===2&&n.charAt(0)==="T"&&ar(n.charAt(1))!=null))return R(o);if(t==="{/")return u(o);if(M(t))return j(Kr(o),{type:"line",ch:t.charAt(0)});if(t.length>=2&&t.charAt(0)==='"'&&f==='"'){var O=t.substring(1,t.length-1);return j(Kr(o),{type:"textfield",text:Y(O),bold:rr(O),charLength:$r(O)})}if(/^\[X\]/.test(t))return j(Kr(o),{type:"check",text:Y(t.substring(3)),bold:rr(t),radio:!1,checked:!0});if(/^\[\]|^\[ \]/.test(t))return j(Kr(o),{type:"check",text:Y(t.substring(t.indexOf("]")+1)),bold:rr(t),radio:!1,checked:!1});if(t.length>=2&&t.charAt(0)==="["&&f==="]"){var g=t.substring(1,t.length-1);return j(Kr(o),{type:"button",text:Y(g),bold:rr(g),charLength:$r(g)})}if(t.length>=2&&t.charAt(0)==="^"&&f==="^"){for(var Q=t.substring(1,t.length-1).split("^"),x=[],I=1;I<Q.length;I++)Q[I]!==""&&x.push(Y(Q[I]));return j(Kr(o),{type:"droplist",text:Y(Q[0]),bold:rr(Q[0]),charLength:$r(Q[0]),open:x})}if(/^\(X\)/.test(t))return j(Kr(o),{type:"check",text:Y(t.substring(3)),bold:rr(t),radio:!0,checked:!0});if(/^\(\)|^\( \)/.test(t))return j(Kr(o),{type:"check",text:Y(t.substring(t.indexOf(")")+1)),bold:rr(t),radio:!0,checked:!1});if(t==="<<"||/^<<\w+$/.test(t))return L(o);if(/^<<\w+>>$/.test(t)){var w=t.substring(2,t.length-2),nr=o.images&&o.images[w];return j(Kr(o),nr?{type:"image",rows:nr.rows}:{type:"empty"})}if(t.charAt(0)!=="{"&&t.charAt(0)!=="}"&&t.length>0)return j(Kr(o),H(t));if(/^\{[+^#!\-]?$/.test(t)&&!/^(?:[NSEW]=|T)$/.test(n))return p(o);if(t==="{S"||t==="{S-"||t==="{SI")return E(o);if(/^\{[+#!\-]?$/.test(t)&&/^[NSEW]=$/.test(n))return N(o);var lr=Kr(o);return{el:H(lr.s),t:lr.t}}function W(){var o={row:0,col:0,maxRow:0,maxCol:0,cells:[],last:null};return o.updateMax=function(){o.row>o.maxRow&&(o.maxRow=o.row),o.col>o.maxCol&&(o.maxCol=o.col)},o.move=function(t){t==="col"?o.col++:(o.row++,o.col=0)},o.add=function(t,n){o.last={el:t,minRow:o.row,maxRow:o.row,minCol:o.col,maxCol:o.col},o.cells.push(o.last),o.updateMax(),o.move(n)},o.mergeLeft=function(t){o.updateMax(),o.move(t),o.last&&o.last.maxCol++},o}function d(o,t,n,f){return{type:"pyramid",strategy:t,title:n,rows:o.maxRow+1,cols:o.maxCol+1,cells:o.cells,scroll:f||null}}function _(o,t,n,f){for(var O=W();!Dr(o)&&se(o,0)!=="}";){var g=gr(o);f&&g.el.type==="text"&&g.el.text==="*"?O.mergeLeft(g.t):O.add(g.el,g.t)}var Q=Kr(o);return{el:d(O,t,n,null),t:Q.t}}function p(o){var t=Kr(o),n=t.s.length===2?t.s.charAt(1):" ",f=null;return n==="^"&&t.t==="col"&&(f=Kr(o).s.replace(/^"([^"]*)"$/,"$1")),_(o,n,f,!0)}function E(o){var t=Kr(o),n=t.s==="{S-"?"h":t.s==="{SI"?"v":"both",f=_(o,"+",null,!1);return f.el.scroll=n,f}function L(o){for(var t=Kr(o),n=t.s.length>2?t.s.substring(2):null,f=[];!Dr(o)&&se(o,0)!==">>";)f.push(Kr(o).s);var O=Kr(o),g={type:"image",rows:f};return n&&(o.images||(o.images={}),o.images[n]=g),{el:g,t:O.t}}function N(o){Kr(o);for(var t={type:"border",north:null,south:null,east:null,west:null,center:null};!Dr(o)&&se(o,0)!=="}";){var n=Kr(o).s.charAt(0);if(Dr(o)||se(o,0)==="}")break;var f=gr(o).el;n==="N"?t.north=f:n==="S"?t.south=f:n==="E"?t.east=f:n==="W"?t.west=f:t.center=f}var O=Kr(o);return{el:t,t:O.t}}function m(o){Kr(o);for(var t=[],n={},f=null;!Dr(o)&&se(o,0)!=="}";){var O=Kr(o);f===null?t.push(O.s):f===""?f=O.s:(n.hasOwnProperty(f)||(n[f]=[]),n[f].push(O.s)),O.t==="line"&&(f="")}var g=Kr(o);return{el:{type:"menubar",entries:t,popups:n},t:g.t}}function u(o){Kr(o);for(var t=[],n=!1;!Dr(o)&&se(o,0)!=="}";){var f=Kr(o);t.push({text:Y(f.s),bold:rr(f.s)}),f.t==="line"&&(n=!0)}var O=Kr(o);return{el:{type:"tabbar",tabs:t,vertical:n},t:O.t}}function R(o){Kr(o);for(var t=Kr(o).s,n=t.length===2?t.charAt(1):" ",f=[],O=!0;!Dr(o)&&se(o,0)!=="}";){var g=Kr(o);if(O){for(var Q=0,x=g.s;x.charAt(0)==="+";)Q++,x=x.substring(1);f.push({level:Q,text:Y(x),bold:rr(x),cells:[]})}else f.length>0&&f[f.length-1].cells.push({text:Y(g.s),bold:rr(g.s)});O=g.t==="line"}var I=Kr(o);return{el:{type:"tree",strategy:n,entries:f},t:I.t}}return{parse:q,tokenize:Tr}})();var bd=(function(){function pr(q,Xr){Xr=Xr||{};var Tr=q.split(/\r\n|\r|\n/),se=[],Kr={title:null,header:null,footer:null,caption:null,legend:null},Dr=[],ar=[],Y=[],$r=null,rr=null,H=!1,M=0;function j(Q){for(var x={address:null,description:null,shape:null,color:null},I=Q.split(/\s*,\s*/),w=0;w<I.length;w++){var nr=I[w].match(/(\w+)\s*=\s*"?([^"\]]*)"?\s*$/);if(nr){var lr=nr[1].toLowerCase(),ir=nr[2].replace(/^\s+|\s+$/g,"");lr==="address"?x.address=ir:lr==="description"?x.description=ir:lr==="shape"?x.shape=ir.toLowerCase():lr==="color"&&(x.color=ir)}}return x}for(var gr=0;gr<Tr.length;gr++){var W=Tr[gr].replace(/^\s+|\s+$/g,"");if(W!==""&&W.charAt(0)!=="'"&&W.charAt(0)!=="!"&&!/^skinparam\b/i.test(W)){if(/^(hide|show)\b/i.test(W)){vo.ignoredDirective(Xr,"network",gr,Tr[gr]);continue}if(/^(?:(?:left|right|center|centre)\s+)?(?:title|header|footer|caption|legend)\b/i.test(W)){var d=Ba.take(Kr,Tr,gr);if(d>=0){gr=d;continue}}if(!/^(title|header|footer|caption|scale)\b/i.test(W)){var _=W.match(/^nwdiag\s*\{/i);if(_){H=!0,M++;continue}var p=W.match(/^network(?:\s+(\S+))?\s*\{/i);if(p){$r={name:p[1]||"",address:null,nodes:[]},se.push($r),M++;continue}var E=W.match(/^group(?:\s+(\S+))?\s*\{/i);if(E&&$r==null){rr={name:E[1]||null,color:null,nodes:[]},Dr.push(rr),M++;continue}if(W==="}"){M--,rr!=null?rr=null:$r!=null&&M<=(H?1:0)&&($r=null),M<=0&&(H=!1,M=0);continue}if(rr!=null){var L=W.match(/^color\s*=\s*"([^"]*)"\s*;?\s*$/i);if(L){rr.color=L[1];continue}var N=W.match(/^description\s*=\s*"([^"]*)"\s*;?\s*$/i);if(N){rr.name=N[1];continue}var m=W.match(/^(\w+)\s*;?\s*$/);if(m){rr.nodes.push(m[1]);continue}}var u=W.match(/^(\w+)\s*--\s*(\w+)\s*;?\s*$/);if(u&&$r==null&&H){Y.push({from:u[1],to:u[2]});continue}var R=W.match(/^(\w+)\s*\[([^\]]*)\]\s*;?\s*$/);if(R&&$r==null&&H){var o=j(R[2]);ar.push({name:R[1],address:o.address,description:o.description,shape:o.shape});continue}var t=W.match(/^(\w+)\s*;?\s*$/);if(t&&$r==null&&rr==null&&H&&!/^(?:address|color|description|shape)$/i.test(t[1])){ar.push({name:t[1],address:null,description:null,shape:null});continue}if($r!=null){var n=W.match(/^address\s*=\s*"([^"]*)"$/i);if(n){$r.address=n[1];continue}var f=W.match(/^(\S+)\s*\[([^\]]*)\]\s*;?\s*$/);if(f){var O=j(f[2]);$r.nodes.push({name:f[1],address:O.address,description:O.description,shape:O.shape});continue}var g=W.match(/^(\w+)\s*;?\s*$/);if(g&&g[1]!=="address"){$r.nodes.push({name:g[1],address:null,description:null,shape:null});continue}}vo.droppedLine(Xr,"network",gr,Tr[gr])}}}return se.length===0&&ar.length>0&&(se.push({name:"",address:null,nodes:ar}),ar=[]),Ba.merge({networks:se,groups:Dr,topNodes:ar,links:Y},Kr)}return{parse:pr}})();var yd=(function(){for(var pr=["Motivation","Strategy","Business","Application","Technology","Physical","Implementation","Other","Junction"],q={},Xr=0;Xr<pr.length;Xr++)q[pr[Xr]]=!0;function Tr(Dr){for(var ar=[],Y="",$r=!1,rr=0;rr<Dr.length;rr++){var H=Dr[rr];H==='"'?($r=!$r,Y+=H):H===","&&!$r?(ar.push(Y.trim()),Y=""):Y+=H}return Y.trim()!==""&&ar.push(Y.trim()),ar}function se(Dr){return Dr&&Dr.length>=2&&Dr.charAt(0)==='"'&&Dr.charAt(Dr.length-1)==='"'?Dr.substring(1,Dr.length-1):Dr||""}function Kr(Dr,ar){ar=ar||{};var Y=[],$r=[],rr=[],H=null,M={},j=null,gr={header:null,footer:null,caption:null},W=[],d=String(Dr||"").split(/\r?\n/),_=/^([A-Z][A-Za-z0-9]*)_([A-Za-z][A-Za-z0-9]*)\s*\(\s*([^)]*)\)\s*(\{)?\s*$/,p=/^Rel(?:_[A-Za-z][A-Za-z0-9]*)?\s*\(\s*([^)]*)\)\s*$/,E=/^(Grouping|Group)\s*\(\s*([^)]*)\)\s*\{\s*$/,L=/^title\s+(.+)$/i,N=/^archimate\s+(?:#(\w+)\s+)?(?:"([^"]+)"|([^\s"<\[]+))(?:\s+<<([^>]*)>>)?(?:\s+as\s+(\S+))?(?:\s+<<([^>]*)>>)?(?:\s+#(\w+))?\s*(\[)?\s*$/i,m=/^circle\s+(?:#(\w+)\s+)?(\S+)(?:\s+#(\w+))?\s*$/i,u=/^(frame|rectangle|package|folder|node|cloud|card)\s+(?:"([^"]+)"|([^\s"<\[]+))(?:\s+as\s+(\S+))?((?:\s+<<[^>]*>>)*)(?:\s+#(\w+))?\s*(\{|\[)?\s*$/i,R=/^(\S+)\s+((?:<\|?|\*|o)?[-.]+(?:\[[^\]]*\])?(?:up|down|left|right|u|d|l|r)?[-.]*(?:\|?>|\*|o)?)\s+(\S+)(?:\s*:\s*(.*))?$/,o={motivation:"Motivation",strategy:"Strategy",business:"Business",application:"Application",technology:"Technology",physical:"Physical",implementation:"Implementation"};function t(zn){return zn.split(/[-_\s]+/).filter(Boolean).map(function(Dn){return Dn.charAt(0).toUpperCase()+Dn.substring(1)}).join("")}function n(zn,Dn){var xe=Dn&&o[Dn.toLowerCase()]||null,i=null;if(zn){var c=zn.toLowerCase().replace(/-filled$/,"").split("-");o[c[0]]&&(xe==null&&(xe=o[c[0]]),c.shift()),c.length&&(i=t(c.join("-")))}return{category:xe||"Other",kind:i||"Element"}}function f(zn){for(var Dn=[],xe=zn+1;xe<d.length&&!/^\s*\]\s*$/.test(d[xe]);)Dn.push(d[xe].replace(/^\s+|\s+$/g,"")),xe++;return{text:Dn.join(`
350
+ `),endIdx:xe}}function O(zn){if(W.length>0){var Dn=W[W.length-1];zn.parent=Dn.id,Dn.children.push(zn.id)}Y.push(zn),M[zn.id]=zn}for(var g=0,Q=!1,x=0;x<d.length;x++){var I=d[x].replace(/^\s+|\s+$/g,"");if(I!==""&&I.charAt(0)!=="'"&&I.charAt(0)!=="!"&&!/^@(start|end)/i.test(I)){if(/^sprite\b/i.test(I)){if(/\{\s*$/.test(I)){for(;x+1<d.length&&!/^\s*\}\s*$/.test(d[x+1]);)x++;x++}continue}if(Q){/<\/style\s*>/i.test(I)&&(Q=!1);continue}if(/^<style\b/i.test(I)){/<\/style\s*>/i.test(I)||(Q=!0);continue}if(g>0){I.indexOf("{")>=0&&g++,I.indexOf("}")>=0&&g--;continue}if(/^skinparam\b/i.test(I)){/\{\s*$/.test(I)&&g++;continue}if(/^(?:hide|show)\b/i.test(I)){vo.ignoredDirective(ar,"archimate",x,d[x]);continue}if(!/^(?:scale|left\s+to\s+right\s+direction|top\s+to\s+bottom\s+direction)\b/i.test(I)){var w=N.exec(I);if(w!=null){var nr=w[1]||w[7]||null,lr=w[2]!=null?w[2]:w[3],ir=w[5]||lr,mr=n(w[4]||w[6]||null,nr),Or={id:ir,label:lr.replace(/\\n/g,`
351
+ `),category:mr.category,kind:mr.kind,stereotype:w[4]||w[6]||null,parent:null};if(nr&&!o[nr.toLowerCase()]&&(Or.color="#"+nr),w[8]==="["){var Qr=f(x);Or.label=Qr.text,x=Qr.endIdx}O(Or);continue}var ee=m.exec(I);if(ee!=null){var re=(ee[1]||ee[3]||"").toLowerCase();O({id:ee[2],label:"",category:"Junction",kind:re==="black"||re==="000000"?"And":"Or",parent:null});continue}var Yr=u.exec(I);if(Yr!=null){var Zr=Yr[2]!=null?Yr[2]:Yr[3],Ee=Yr[4]||Zr;if(Yr[7]==="{"){var Ze={id:Ee,label:Zr,kind:"Group",children:[]};rr.push(Ze),W.push(Ze)}else{var eo=(Yr[5]||"").match(/<<([^>$]*)>>/g)||[],Gr=eo.length?eo[eo.length-1].replace(/^<<|>>$/g,""):null,$e=n(Gr,Yr[6]||null),Ye={id:Ee,label:Zr.replace(/\\n/g,`
352
+ `),category:$e.category,kind:Gr?$e.kind:t(Yr[1]),parent:null};if(Yr[6]&&!o[Yr[6].toLowerCase()]&&(Ye.color="#"+Yr[6]),Yr[7]==="["){var Hr=f(x);Ye.label=Hr.text,x=Hr.endIdx}O(Ye)}continue}var Fo=R.exec(I);if(Fo!=null&&/[-.]/.test(Fo[2])&&!/^(?:Rel|Grouping|Group)\b/.test(I)&&Fo[2].indexOf("hidden")<0){var k=Fo[2],T=Fo[1],D=Fo[3];if(/^<\|?/.test(k)&&!/\|?>$/.test(k)){var S=T;T=D,D=S}$r.push({from:T,to:D,label:Fo[4]?Fo[4].replace(/^\s+|\s+$/g,""):"",kind:"Rel"});continue}var U=I.match(/^legend(?:\s+(left|right|center|top|bottom))?\s*$/i);if(U!=null){for(var P=U[1]||"center",s=[],$=x+1;$<d.length&&!/^endlegend\b/i.test(d[$].replace(/^\s+|\s+$/g,""));){var G=d[$].replace(/^\s+|\s+$/g,"");G!==""&&s.push(G),$++}j={position:P.toLowerCase(),lines:s},x=$;continue}if(!/^endlegend\b/i.test(I)){if(/^note\s+(?:"[^"]*"\s+)?as\s+\S+\s*(?:#[\w:;.]+)?\s*$/i.test(I)){var B=Ba.take(gr,d,x);if(B>=0){x=B;continue}}if(/^(?:(?:left|right|center|centre)\s+)?(?:header|footer|caption)\b/i.test(I)){var or=Ba.take(gr,d,x);if(or>=0){x=or;continue}}var K=L.exec(I);if(K!=null){H=K[1].replace(/^\s+|\s+$/g,"");continue}var hr=E.exec(I);if(hr!=null){var vr=Tr(hr[2]),Jr=se(vr[0]||"").replace(/^\s+|\s+$/g,""),Ge=se(vr[1]||Jr),no={id:Jr,label:Ge,kind:hr[1],children:[]};rr.push(no),W.push(no);continue}if(I==="}"){W.length>0&&W.pop();continue}var bo=p.exec(I);if(bo!=null){var Oo=Tr(bo[1]),We=se(Oo[0]||"").replace(/^\s+|\s+$/g,""),Tt=se(Oo[1]||"").replace(/^\s+|\s+$/g,""),Cn=Oo.length>2?se(Oo[2]):"",un="Rel",Kt=I.match(/^(Rel(?:_[A-Za-z][A-Za-z0-9]*)?)/);Kt&&(un=Kt[1]),We!==""&&Tt!==""&&$r.push({from:We,to:Tt,label:Cn,kind:un});continue}var ut=_.exec(I);if(ut!=null){var fn=ut[1],vt=ut[2];if(!q[fn])continue;var _o=Tr(ut[3]),Zo=se(_o[0]||"").replace(/^\s+|\s+$/g,""),jt=se(_o[1]||Zo),zt={id:Zo,label:jt,category:fn,kind:vt,parent:null};if(W.length>0){var Ga=W[W.length-1];zt.parent=Ga.id,Ga.children.push(Zo)}if(Y.push(zt),M[Zo]=zt,ut[4]==="{"){var $n={id:Zo,label:jt,kind:"ShapeContainer",children:[]};rr.push($n),W.push($n)}continue}vo.droppedLine(ar,"archimate",x,d[x])}}}}return Ba.merge({title:H,shapes:Y,edges:$r,groups:rr,legend:j},gr)}return{parse:Kr}})();var Ed=(function(){var pr={Person:{category:"Person",variant:"person"},Person_Ext:{category:"Person",variant:"person_ext"},System:{category:"System",variant:"normal"},SystemDb:{category:"System",variant:"db"},SystemQueue:{category:"System",variant:"queue"},System_Ext:{category:"System",variant:"ext"},SystemDb_Ext:{category:"System",variant:"db_ext"},SystemQueue_Ext:{category:"System",variant:"queue_ext"},Container:{category:"Container",variant:"normal"},ContainerDb:{category:"Container",variant:"db"},ContainerQueue:{category:"Container",variant:"queue"},Container_Ext:{category:"Container",variant:"ext"},ContainerDb_Ext:{category:"Container",variant:"db_ext"},ContainerQueue_Ext:{category:"Container",variant:"queue_ext"},Component:{category:"Component",variant:"normal"},ComponentDb:{category:"Component",variant:"db"},ComponentQueue:{category:"Component",variant:"queue"},Component_Ext:{category:"Component",variant:"ext"},ComponentDb_Ext:{category:"Component",variant:"db_ext"},ComponentQueue_Ext:{category:"Component",variant:"queue_ext"}},q={System_Boundary:!0,Container_Boundary:!0,Enterprise_Boundary:!0,Boundary:!0};function Xr(Kr){for(var Dr=[],ar="",Y=!1,$r=0;$r<Kr.length;$r++){var rr=Kr[$r];rr==='"'?(Y=!Y,ar+=rr):rr===","&&!Y?(Dr.push(ar.trim()),ar=""):ar+=rr}return ar.trim()!==""&&Dr.push(ar.trim()),Dr}function Tr(Kr){return Kr&&Kr.length>=2&&Kr.charAt(0)==='"'&&Kr.charAt(Kr.length-1)==='"'?Kr.substring(1,Kr.length-1):Kr||""}function se(Kr,Dr){Dr=Dr||{};for(var ar=[],Y=[],$r=[],rr=null,H=!1,M=!1,j=null,gr=null,W=null,d=[],_=String(Kr||"").split(/\r?\n/),p=/^([A-Za-z_][A-Za-z0-9_]*)\s*\(\s*([\s\S]*?)\)\s*(\{)?\s*$/,E=/^title\s+(.+)$/i,L=0;L<_.length;L++){var N=_[L].replace(/^\s+|\s+$/g,"");if(N!==""&&N.charAt(0)!=="'"&&N.charAt(0)!=="!"&&!/^@(start|end)/i.test(N)){if(/^skinparam\b/i.test(N)){var m=/^skinparam\s+(nodesep|ranksep)\s+(\d+)/i.exec(N);m?/nodesep/i.test(m[1])?j=parseInt(m[2],10):gr=parseInt(m[2],10):/^skinparam\s+linetype\s+ortho/i.test(N)&&(W="ortho");continue}if(!/^hide\b/i.test(N)&&!/^show\b/i.test(N)){var u=E.exec(N);if(u!=null){rr=u[1].replace(/^\s+|\s+$/g,"");continue}if(N==="}"){d.length>0&&d.pop();continue}var R=N.match(/^package\s+(?:"([^"]*)"|(\S+))(?:\s*<<([^>]+)>>)?(\s*\{)?\s*$/i);if(R){var o="c4pkg_"+$r.length,t=R[1]||R[2]||"",n=R[3]||"",f=!!R[4],O={id:o,label:t,kind:"package",stereotype:n,children:[],parent:d.length>0?d[d.length-1].id:null};$r.push(O),f&&d.push(O);continue}var g=p.exec(N);if(g!=null){var Q=g[1],x=Xr(g[2]),I=g[3]==="{";if(Q==="LAYOUT_WITH_LEGEND"){H=!0;continue}if(!/^LAYOUT_/.test(Q)){if(q[Q]){var w=Tr(x[0]||"").replace(/^\s+|\s+$/g,""),nr=Tr(x[1]||w),lr={id:w,label:nr,kind:Q,children:[],parent:d.length>0?d[d.length-1].id:null};$r.push(lr),I&&d.push(lr);continue}var ir=pr[Q];if(ir){ir.category==="Component"&&(M=!0);var mr=Tr(x[0]||"").replace(/^\s+|\s+$/g,""),Or=Tr(x[1]||mr),Qr="",ee="";x.length>=4?(Qr=Tr(x[2]),ee=Tr(x[3])):x.length===3&&(ee=Tr(x[2]));var re={id:mr,label:Or,description:ee,technology:Qr,category:ir.category,variant:ir.variant,parent:d.length>0?d[d.length-1].id:null};if(re.parent){var Yr=d[d.length-1];Yr.children.push(mr)}ar.push(re);continue}if(/^Rel(?:_[A-Za-z][A-Za-z0-9_]*)?$/.test(Q)){var Zr=Tr(x[0]||"").replace(/^\s+|\s+$/g,""),Ee=Tr(x[1]||"").replace(/^\s+|\s+$/g,""),Ze=x.length>=3?Tr(x[2]):"",eo=x.length>=4?Tr(x[3]):"",Gr=null,$e=!1,Ye=Q.substring(3);/^_U/.test(Ye)||/^_Up/.test(Ye)?Gr="up":/^_D/.test(Ye)&&!/^_Down_/.test(Ye)||/^_Down/.test(Ye)?Gr="down":/^_L/.test(Ye)||/^_Left/.test(Ye)?Gr="left":(/^_R/.test(Ye)||/^_Right/.test(Ye))&&(Gr="right"),/_Back/.test(Ye)&&($e=!0),Zr!==""&&Ee!==""&&Y.push({from:Zr,to:Ee,label:Ze,technology:eo,direction:Gr,back:$e});continue}vo.droppedLine(Dr,"c4",L,_[L])}}}}}return{title:rr,shapes:ar,edges:Y,boundaries:$r,hasLegend:H,hasComponent:M,nodesep:j,ranksep:gr,linetype:W}}return{parse:se}})();zl.registerParser("sequence",cd);zl.registerParser("state",hd);zl.registerParser("activity",Cd);zl.registerParser("activityLegacy",vd);zl.registerParser("class",pd);zl.registerParser("component",$d);zl.registerParser("object",gd);zl.registerParser("useCase",Rd);zl.registerParser("mindmap",Ad);zl.registerParser("wbs",md);zl.registerParser("gantt",kd);zl.registerParser("timing",_d);zl.registerParser("json",tf);zl.registerParser("yaml",Od);zl.registerParser("salt",Fd);zl.registerParser("network",bd);zl.registerParser("archimate",yd);zl.registerParser("c4",Ed);var Av=Ec;return Rv(mv);})();
353
+ PlantUml=PlantUml.default;globalThis.mxPlantUmlToDrawio=PlantUml.mxPlantUmlToDrawio;