From 818bcdd00b9508bbd29bc4550f5b70fac0dedb15 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 13 Mar 2024 16:05:48 +0100 Subject: [PATCH] External Loading -UPPERCASE -is_volatile : avoid tiddlers collision --- RUNTIME/VISA.new.sh | 2 +- templates/twuplanet.html | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RUNTIME/VISA.new.sh b/RUNTIME/VISA.new.sh index c509f2b4..3dcb9384 100755 --- a/RUNTIME/VISA.new.sh +++ b/RUNTIME/VISA.new.sh @@ -35,7 +35,7 @@ LIBRA=$(head -n 2 ${MY_PATH}/../A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f ################################################################################ #~ TWMODEL="/ipfs/bafybeid7xwuqkgyiffehs77x3wky3dghjncxepr5ln6dewapgvbwrqi7n4" #~ # ipfs cat $TWMODEL > templates/twdefault.html -TWUPLANET="/ipfs/bafybeif6kk7vyns6awm4gcuhwz32h6qvycha4b6qrjudort74jdn6ucocy" +TWUPLANET="/ipfs/bafybeiemtl4y3ssxlbrwxjo3qvkfk4g4r53ora2axeo7y6ab2bsvbnx3ie" # ipfs cat $TWUPLANET > templates/twuplanet.html ################################################################################ diff --git a/templates/twuplanet.html b/templates/twuplanet.html index a0bda00d..e7d1c20c 100644 --- a/templates/twuplanet.html +++ b/templates/twuplanet.html @@ -995,7 +995,7 @@ Error message and password prompt {"title":"$:/plugins/oeyoews/neotw-pwa","description":"让你的TiddlyWiki网页像app一样启动","author":"oeyoews","version":"0.0.2","core-version":">=5.3.0","type":"application/json","plugin-type":"plugin","name":"Neotw Pwa","dependents":"","list":"readme","text":"{\"tiddlers\":{\"$:/plugins/oeyoews/neotw-pwa/readme\":{\"title\":\"$:/plugins/oeyoews/neotw-pwa/readme\",\"description\":\"PWA\",\"name\":\"PWA\",\"text\":\"{{$:/languages/neotw-pwa/readme}}\\n\"},\"$:/favicon.ico\":{\"title\":\"$:/favicon.ico\",\"text\":\"AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAD4AAAC/AAAAvwAAAD4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAACFAAAA5gAAAP8AAAD/AAAA5gAAAIYAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABjAAAA0gAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/gAAANMAAABjAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABCAAAAtgAAAPkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAAC2AAAAQgAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnAAAAlAAAAO4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADuAAAAlAAAACcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAcQAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAHEAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAATgAAAMIAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAMIAAABOAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAKIAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAPYAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAACiAAAALAAAAAAAAAAAAAAAAAAAAAAAAACYAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADyAAAA+AAAALkAAACFAAAA0gAAAP8AAAD/AAAA6QAAALQAAABHAAAAbgAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACYAAAAAAAAAAAAAAAAAAAAAAAAAJ8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAaAAAAD4AAABnAAAAFQAAACsAAAC5AAAA/wAAAPgAAABZAAAACQAAABIAAACzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAnwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAHsAAAAkAAAASgAAAAkAAAB2AAAA6wAAAP4AAAD/AAAA9gAAAEAAAAAAAAAAVgAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAAAACfAAAA/wAAAP8AAAD/AAAA/wAAAP8AAADXAAAAHAAAAE8AAAAiAAAAIAAAAOAAAAD/AAAA/wAAAP8AAAD9AAAAVwAAAAAAAACYAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAJ8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANMAAAAbAAAADgAAAAIAAAAdAAAA3AAAAP8AAAD/AAAA/wAAAPcAAABIAAAAAQAAALIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAnwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAIEAAAABAAAAAAAAAAUAAACMAAAAtQAAAJwAAACXAAAAjAAAABUAAAAAAAAAWwAAAOUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAAAACfAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAACgAAAAAAAAAAAAAAAcAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAANgAAAMEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAJ8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACyAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAMcAAADnAAAA/wAAAP8AAAD/AAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAnwAAAP8AAAD/AAAA/wAAAP8AAAD8AAAA9QAAAEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAEQAAAEQAAADkAAAA/wAAAP8AAAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAAAACfAAAA/wAAAP0AAADIAAAAdAAAAE0AAABLAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAD/AAAA/wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAJ8AAAD/AAAApAAAADkAAABdAAAAdAAAAGgAAABEAAAADQAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAEAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAPsAAAD/AAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAoAAAAOoAAABYAAAAywAAAP4AAAD/AAAA/wAAAPYAAACuAAAAVgAAADcAAAA+AAAAZgAAAJsAAACyAAAApAAAAJUAAAClAAAAYwAAAAAAAAAAAAAAAAAAAAAAAABFAAAA+AAAAP8AAAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAAAAChAAAA2AAAAIMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA8gAAAPUAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACoAAAAAwAAAAQAAAAUAAAAFgAAADwAAADxAAAA/wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADtAAAAngAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANYAAAAqAAAAgAAAANIAAADYAAAAoQAAAN4AAAD/AAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAnwAAAP8AAADrAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAANcAAAD1AAAA/wAAAP8AAAD+AAAA+wAAAP8AAAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAAAACYAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACYAAAAAAAAAAAAAAAAAAAAAAAAACsAAACiAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAAogAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAABOAAAAwgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD8AAAAwgAAAE4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAcQAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAHEAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAAJQAAADuAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7gAAAJQAAAAnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAEIAAAC2AAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAALYAAABCAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABjAAAA0wAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/gAAANIAAABjAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAhQAAAOYAAAD/AAAA/wAAAOYAAACFAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAPgAAAL8AAAC/AAAAPgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gf///wD///wAP//wAA//4AAH/4AAAf4AAAB8AAAAPAAAADwAAAA8AAEAPAABADwAAAA8AQEAPAGbADwB/8A8A//APAP/+DwB4ng8AAB4PAAAADwAAAA8AAAAPAAAADwAAAA+AAAAf4AAAf/gAAf/8AAP//wAP///AP///4H/8=\",\"type\":\"image/x-icon\"},\"$:/manifest.json\":{\"text\":\"{\\n \\\"short_name\\\": \\\"TiddlyWiki5\\\",\\n \\\"name\\\": \\\"TiddlyWiki5\\\",\\n \\\"icons\\\": [\\n {\\n \\\"src\\\": \\\"/tiddlywiki.png\\\",\\n \\\"sizes\\\": \\\"512x512\\\",\\n \\\"type\\\": \\\"image/png\\\"\\n }\\n ],\\n \\\"id\\\": \\\"/\\\",\\n \\\"start_url\\\": \\\"/\\\",\\n \\\"background_color\\\": \\\"#F5F5EE\\\",\\n \\\"display\\\": \\\"standalone\\\",\\n \\\"scope\\\": \\\"/\\\",\\n \\\"theme_color\\\": \\\"#F5F5EE\\\",\\n \\\"description\\\": \\\"TiddlyWiki5\\\"\\n}\\n\",\"type\":\"application/json\",\"title\":\"$:/manifest.json\"},\"$:/tiddlywiki.png\":{\"title\":\"$:/tiddlywiki.png\",\"text\":\"iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAACdiSURBVHgB7d29dhxHkvbxR+/KkDecK1DKkyfKk6ekt2uR8nYtlq5ApPWesdC09qwl6grQsnbWAmTteih58kh5M1aXrkCUp7G4FcquRRNsAF3dWVX58f+dE6cpAENi8FEZFZGRJQGokevjqo/z7Z8BAEDBHvRx1sevfbzdibPt+wAAQGEavb/w78Zm+zEAAKAAXqHc//bAeCXaAgAAZMtK+t/q8IX/ZrA/AACAzDzT3eX+Q4O2AAAAGfAKJfy3kcMSgScCAABJcX1cKP7CT1sAAIAE3TbWN3WcCQAALMIrlObfLhT2bzcCAACzcBo31jd1XIi2AAAAkzl1rG/qsM/NCQAARBNrrI+2AAAAGfBKq9w/JhFwAgAAo1i5f628Fv19cS4SAQAADnKmPMr9Y6oBZwIAAHt5LTvWN0ci0AgAAPzBKc8+/7FxLtoCAICKLXWKXypxtv0aAABQjUZll/sPjY1oCwAAKuBVV7n/0LAnGDoBAFCY1E/xSyXORSIAAChELqf4pRIb0RYAAGTMK5S2c1l4U0wEvAAAyIRTeEJeLgtt6nEu2gIAgITVPtY3dZwJAIDEeDHWN0dsxP4AAEACnBjrWyIuRFsAALCAodyfy4JZathopRMAADNgrC+t2Ii2AABgQl6U+1NPBJwAAIjEyv1r5bUY1hznIhEAAJzoTJT7c4yNQqsGAIBRvBjrKyUReCIAAO7hRJ+/xDgXbQEAwB6c4ldHnAkAgC0rEW+U10JGHB8bMTYIAFV7KMr9NYc9qdEJAFANK/fbCXI5LVbEdHEuEgEAKB6n+BH7YiPaAgBQJC/K/cT9sVFoDQEAMucUnhyXywJEpBHnoi0AAFlirI84Nexn50wAgGx4MdZHxIuN2B8AAElzos9PTBfnoi2AgvyTgPxZuf//93EpLtCYjm0OHB4w9EsfbwQAWEwj+vzE/LERbQEAWIQX5X5i+diIqhMAzIJT/IgU41wkAgAwGU7xI1KOja73CAAAIvBirI/IJzYKT5gEABzJiT4/kW+ci7YAAIzCKX5ESXEmAMC9rHS6UV4XeIK4LzZibBAA9rJDVq6U10WdIMbGlWgLAMAfGOsjaoxzkQgAqBhjfUTNsRFtAQCV8aLcTxBDbBRaYABQLCv3r5XXxZkg5opz0RbAjHgaIOYwPK3vr318IQD7WBWg6eOjPn4UAGTOi7E+ghgbG7E/AECmnOjzE8SpcS7aApgILQDENpT7L8WFCziVtQWGBwz93MfvAoAENWKsjyCmio1oCyCiDwScziucd+4FYGpdH4+2r8DR/p+A4w2n+F2JxR+Yi1OoBpyLNhtOwB4AHMv6khdi4QeWYvsD7OFZVsn9ScBItAAwlle46+fkMiAdXR/PFTbfAgehBYBDOYU7fiv3s/gDaXEKv5+0BXAwWgC4zzDWtxYLP5C63bFBThPEnWgB4C5e3FEAuer6eKGQvAPvIQHAPnYXYX1+LwC5s30Btj+gE7CDFgB2Wbn/3xXuGJwAlOBThbaA/X7/vY83AkQCgGuM9QFlsydx2tjgb328FqpHCwBenOIH1KYTpwlWjzHAelk5cC1O8QNq5MRpgtWjBVAnu+P/q0JJEEC9htME7YaAscHK0AKoixcZP4D9OjE2WBUSgDo4hYXfCwDutlZIBDqhaLQAyrZ7it+nAoD77Z4m+HMfvwtFIgEoV9PHfyr09z4SAIzj+/hXMTZYLFoA5fFirA9AXJYAfCXaAkVhDLAcVu6343sZ6wMQm7UFGBssDC2AMnCKH4A5DGODtAUKQAsgb17hrp/H9AKYW9fH1320QpZoAeTJKdzxW7mfxR/AEpzCNYi2QKZoAeRld6yPhR9ACnbHBjlNMCO0APLhRaYNIG2dOE0wGyQA6XPiFD8Aebns47kYG0waLYB0Wbn/3xUe2uMEAPmwk0etLWDXsb/38UZIDglAmhjrA1ACe+IoY4OJogWQFi9O8QNQpq6PR6ItkAzGANNgZbK1OMUPQLmcOE0wKbQAlmd3/Nbn/0IAUL7hNEGrQP8kLIYWwHK8yIQB1K0TY4OLIQGYnxNjfQCwa62QCHTCbGgBzGf3FL9PBQAY7J4m+HMfvwuTIwGYh/W7LravHwkAsI/v41/F2OAsaAFMy4uxPgA4hiUAX4m2wGQYA5yGlfvtMb2M9QHAcawtwNjghGgBxMcpfgAQzzA2SFsgMloA8XhR7geAKXUKbQESgQhoAZzOKdzxU+4HgGm5Pl6JtkAUtACOtzvW91AAgLnYNbdRmKr6UTgKLYDjeJGBAkAKOnGa4FFIAMZx4hQ/AEjRWpwmOAotgMMM5f5LcdcPACkaThO06/Xf+3gj3IkE4H5NH//dxz8LAJA6e7IqY4MHoAVwOy/G+gAgZ10fj0RbYC/GAN/HKX4AUAYnThO8FS2Ad3GKHwCUZzhN0KrePwl/oAUQeJEhAkANuj6eK2zqrlrtLQCnUOq/Eos/ANTAKVR6q7/pq7UFsHuK36cCANRmGBs0VZ4mWGMCYH2gi+3rRwIA1MwrjHtXNzZY0x4Ay/Zsd78XAADva/v4WpWMDdawB2AY67MnSHkBALCfV0Vjg6W3ABjrAwCMNYwNFt0WKLUF4MUpfgCA03V9fKUCE4HSWgBOYWc/p/gBAGJwCi3k4toCpbQAdsf6vhAAAHFZW6BRmB4rYmywhBaAFwc6AADm0/XxQuGmM1s5JwBOYeH3AgBgfmuFRKBThnJsAQzlfjvH2QkAgGXsnib4Sx9vlJHcEoCmj//u458FAEAavDIcG8ylBeDFWB8AIH1dH4+UQVsg9THA4RQ/xvoAADlwyuQ0wZRbAJziBwDI1XCaoFXaf1KCUm0BeIW7fgAAcmctgVaJqeFhQAAA4AYSAAAAKkQCAABAhUgAAACoEAkAAAAVIgEAAKBCJAAAAFSIBAAAgAqRAAAAUCESAAAAKkQCAABAhUgAAACoEAkAAAAVIgEAAKBCJAAAAFSIBAAAgAqRAAAAUCESAAAAKkQCAABAhUgAAACoEAkAAAAVIgEAAKBCJAAAAFSIBAAAgAqRAAAAUCESAAAAKkQCAABAhUgA7vZjHy/6eC0AGGfdx6M+Punja4XrCYB7+D7eLhwvb3xOFwl8TgRBpB+v+nio/Zo+Ngl9rsQ84ZUgKgD7dX08u/G27wQAd7PrxOe6vWq43r6f6wkWRwKw34s9b6MNAOAudt14dsDHvdl+3AsBCyIBeJ/16dZ73v5GALDfZR8rjbMSScB97HrcCZMgAXjfy1ve/kAA8L6uj+c6zkokAfvYwv+VQv/cCZP4UNjVKWTy+zgBwPtsAe90vJXCDcY3QqeQTLV9XOn2zZSIgArAu+7KxJ0A4F23tQzHsj0BreplLVZb+G1k0m7CzsXiPzkSgHe1d7yPH0YAN60Uj5W8O9XFFn678bKFf2i/ftvHE2FyJADX1rr7l+9LAcA1u/tvFY8thl+pHjYKaQv/StebrJ/psEkKREACcO37e95PBQDArrXis3HjYzcU5sJK/Lbw20K/O13lFO7+MRMSgKDT/eV/pgAADDpNkwAYK4W3Ko9VTOxo5NtaHVfCrEgAgvae9zsBwLVW07JnB5Ry9siw8Hvd/nU7E9fZ2ZEABJT/AYxx3zXjVJ1CEpCzQxZ+4xSekYCZkQDcX/43JAAABp3mKdFbrzzHZwYcuvAPVuLufxEkAIf9gP5JABC0ms9K+YwGjl34jevjqbAITgI87BndVAAADH7QfIbRwN3RuAe63pTs+vhYy7HPz6oUL3XcnoWVsBgSgPsz1d1fNgCY+8mg9u8193yM28bDndcpzy6xG6dhWuHYzYquj8fCYmpPADrdX15j8QcwsMW4U3o67d+b4BWSAXu1hOCU69lw8NGxd/s3eXF9XVTtCcDPB3yMEwAEc9/9n6rV9aJt/E7cVyGwRX5Y9NeKP5ZI739htScArQDgcIfsGUpZq+vrntO7CcGb7fte78RU3PbfxIJqTwAO+QGnRAVgkFsF4C6dwp39WvN7Iiyu9jHAQ0paJAAAjF0vSkoAlsTmvwTUngDwywzgUIfsGcL97KbKC4urOQHoBACH44YhDs5VSUTNCcAvB35c7J2vAPLUCjF4IQkcBXw/EgAAphNimPKAIoxQcwKwOfDjOgEALYBYnJAEKgD3owIAIPf5/1TYBkAnJIEE4H6WABy6XwBAmQ6tGOJubABMCAnAYfjlB+rGCGAcnKuSEBKAw/DLD9SN/n8cTkgGCcBh+OUH6sY1IA4nJKPmBODPIz72UgBq9UZsBo6FFkBCak4APh7xscNTsgDUhxZgPGOuu5hYzQmA0ziMAQF1ovyPItWcADzQuHLUWgBq1Amx0AJISO2bAN2Ij+1EGwCoERWAeMbsvcLEPlTdvMb9cr8QD7IolR32ZD8L3Tbe7PxZ2n8X6Pa8WthdzsPt62dC7kgAUKTaE4CxF+dWYSFwQq5sQ9drXS/2w+sxuhuvtxmSAXv1Cj8/JAZ5sJ8PJgBQJCoA433dx5WQA7tw/6BwEW91fWc/t+EOsu3j5c7bvUJSMARJQXo4BhzFqj0BcAp3ZmMWhXYbXkiNfR/tDv9yG53S1urdfSW7VQILHpu6PMr/KFbtCYBp9O5d2SGsCvBK7GhNwXCXv1b+5drhvIl2521eJARLIgEAZub7eDtTHFvOfzbT50fsj3b7PagtCfN9rBT+/+f0/co1eHpdXFfK6/sfK7xwMK95vznHLiIXM31+xHWci1+mXV6hgtUqr+9jDvGrENuV8voZiBVeCaIFEDQa3wYw1gqwOwQnTM1OYmzEoSw3tbpuGQx7CJ5sX79U2myD3XDOfrd9283Xm382bs/r7p8/VhwcARwfmyoTQgIQPNZxCYBduB4pZLVOmIJ9jS3RuhTuc9segmFjoU0ZOE3LPoff9P55CsNCP/TUO01rd/TS6XrKYky1j/4/ikYCEPhttBqvE0nAVLjrP12rd8cPh0VxWBjd9m3ujr+ju/G6e9d+c4FPZRPm7ujlrt3//153J0UkAPF1Au7hNX+P5kqncX1sNO3nWEtY7/WZgHk4hbaJJUm26A8/h2wAjK/WzdNeOJhXnt8ku7tYa9rPsfTYiAsvluUUKk+Ir1Fe16NY4ZWg2h8GdNOZTmPlz6aP58Ixvuvjc1F6xbI68fRPVIAE4F1ecTI1KyV+IhayQw0b/Z6Jc9cBYBYkAO87V5zDZTqFu9mvxcaXu9hGP/s6rQUAmA0JwPucTm8F7ForVAPsUcKdMBju+r34ugAAtrzK3bTRqN5pAdvd36rOI3wBhGOsc7pmpb6enIRzAG53rlCajt2TXm/DKyQDdghRqYvh8HS+Vu8fUAOgPiT+CSEBuJ1TSAK+0jTabdgvhFeYQ/5SeR8mZMd8tgqbH4dXABg4IRkkAHezRflMoX8/FbtLvtT1Ubde16eUWUKQYsZsn7Mt9q9vBDv4AdzlT0IyPlCavE4/mS+mpo/vtQyn66NLh/PNx55pfozhQS2v97x2AoDxbB9QjW0AOy6+VWKoABxmrevy9ty6bVzued+QEAzhtm8f/vuuv/PmnzvtfxIbAMRw33UJMyMBONyFQhaXUl+bHjuAXHDEd2I4B+BwlrlaW4IfYgAYj2tnYkgAxrEk4FUfTwUAGMMLSSEBOM5acU8LBIDSfSwkhQTgeCuRBADAIZxoASSHBOA0K4WWgBMA4DYs/gkiATid/WDb5sBGAIB9ngjJIQGIwykcG/ytmHMFgJu+FJJDAhDXM4WWQCMAgHGiTZokEoD4nEI14Fz80AOAF5JEAjCdpo+NwqSAEwDUiXNTEkUCML2VwiZBEgEAtRked44EkQDMw4lEAEB92P2fMBKAeTmFRMBaA+wRAFA6LySLBGA5jUIiMJwhwPgggNI8FpJFArA8r1AN+HX7aiUzkgEAuWvEtSxpJABpafq4UEgGLrb/7QQA+WH3f+I+FFL1RNcbaLo+2j5+7OP1NlJg2b1TOA65U/gcAcCJ/n/ySADy4BSqAc32v98oJAE/Kyy63TbeaDrDYu/7+Exh0d99wMdzkQAACFZC8kgA8jTM1lp8s/P2ITGw1190nRR0O+9/s+fvGhZ37bx+vPPfTve3IlKpSgBYlhPl/yyQAJSFQzcALG0lZIFNgIilE4DaOXH3nw0SAABALCshGyQAiIV5X6BuTtz9Z4UEALGQAAB1WwlZIQFALE4AauXE3X92SAAQCxUAoF5XQnZIABCLE4AaNeL3P0skAIjFCUBtXB9nQpZIABDLZwJQm29F8p8tEgDE4sQ+AKAmduf/RMgWCQBi8gJQAyfG/rJHAoCYvACUzold/0UgAUBMjwWgdBei718EEgDE5MSFASiZbfp7KBSBBACxNQJQItv090woBgkAYvtGAEpji/9KKAoJAGKzUUAvAHOxUbwpR3DPxeJfJBIATIGTwYD5WNXtleLvv3Hbv7cRikQCgCl4UQUA5mKb8pzCaF6sDXpWVXglNvwVjQQAU6EKAEzPFuih/O8UFu1TfvecQiJxIU72LB4JAKbiRRUAmNq+O/RVHxuNK937Ptbb/50XqvChgOnYnUgrAFN5esvbncLmPfsd/EHh97Dr4832/XZ3/3Abj8X5HUiI7+MtUUQwNwxMwymva0HN4ZUgWgCY2pm4uwCm4AWcgAQAU7NS47kAxMahWzgJCQDm4BXOEAcQx9C/B45GAoC52F6ApwIQA3trcDISAMzppbhrAU7lRDKNCEgAMCfbD3AlNgUCp1gJiIAEAHMjCQCO58TdPyIhAcASnOKeWw7UgsUf0ZAAYClOIQl4IgCHcOLJfIiIBABLsnaAPXTkTADuY3f/TkAkJABIwUrsCwDu4sTmP0RGAoBUeNESAG7DaZqIjgQAKXGiCgDcZC0yLyAyEgCk5lIABlYRWwmYAAkAUvKjwjPLAYQxWUr/mAwJAFKyFgBji7/tiXkgYCIkAEhFJxIAwHix+GMGJABIxQsBsKf8sfhjFh8KWN6bPloBdftWPOYXMyIBQAps538noE5OYbOfFzAjWgBIAeV/1MrG/F6JxR8LIAHA0tbi7h/1sR6/lfwvRL8fC6EFgKVx94/aeIWSvxOwICoAWNJa3P2jHsNdPw++QhKoAGApnbj7Rz28uOtHYkgAsJTvxd0/ymd3/bbw85RLJIcWAJbQiQecoHw2078Riz8SRQUAS6D0j5I5MdePDFABwNxeizP/US6762euH1mgAoC5faU6WO/3jVALJ+76kRkSAMzpO9Wz8W/dx2OFikfXx8/bP7/ZeUUZ7K7/TBzog8yQAGAuXR8vVY/Ptq8Pt3FzI9iQCHR9/CKSgxzZgm8n+XkBGSIBwFxs41+nOtiC7+75GFs8/C3vswSg03VyMPw59wTBKXxtWuWf5Hgx14/MkQBgDj+oro1/Xqex5GCoHNym03VS8IveTRq08745F1qn8LkPr/b5/0nXCdFQIrdkcKV88dheFOEDpckrHJeJMnyiug79sZ9dr3R0N153E4Nf7vh480DXC/fHN97m9nzMIezf/rPy48RGPxznkULlKylUADC1mkr/5q7S/lLcjdelDV+jVvmwKob1+52AQnAOAKbUqb4T/54Ih/hG+XgqHuCDApEAYEqPVB8SgMN45TE2Z+N9azHihwKRAGAqNc387/pSOIQtqI3SZov/SkChSAAwhU51Xji9uFMc47HS5cTij8KRAGAKtvGvxsNsGmEMr3R31F8IKBwJAGJbq96H/VD+Hy/FPRP2OT0UUDgSAMTUqd5H/XqxS/wYT5WeRkAFSAAQU20z/7vY/X+c1M5NsM8n5b0JQDQkAIiltuN+b6L8f7yUqgBeQCVIABBLzWejO9EzPoVVT1KZnvACKkECgBhqLv0bL5zCFv9UWiifCagECQBO1Yl56RQ3suUmla8hlRxUgwQAp3oueOFUXmm0ATjICdUgAcAp1n1cqm5eiKXRspyAipAA4Fh20l+tM/+7vBAL43fAjEgAcKxaH/ZzE+N/8Vj/fckSPOV/VIUEAMfotOzGP690eCGWpacBanx+BSpGAoBjLFn6b5QOdozHR0UFmAkJAMbqtOyJf2dKhxdi40hlYCYkABjray2nUdip3SkNTojN2gBOy6AFgKqQAGCMH/totZzh7j+VCzWnxk1jqSoACQCqQgKAMT7Wchpd3xmmcqFmD8A0lkysfhFQCRIAjOG03KhUanf/hrGxafxZy9kIqAQJAMbyml+j9O7+nTCVJRMrKgCoBgkAxvKaX0o7/wdOKNFrAZUgAcBYc89pN2KxxXw6AZUgAcBYcx/XmuLdv6H/P50l2zxUAFANEgAco9E8bBzMKU0kANP5VcvpxDggKkECgGPM9dS2Zs/bUll4O2Eqv2lZVAFQBRIAHMNr+oXYaX+iwZ13+Za+A/9ZQAVIAHCsZ5qWv+N9TsvrhKl0WlYroAIkADjW1G0Af+T75kKfeDqdltUKqAAJAI5l0wBey0jhCF5LADg0ZhpLJ1d8b1EFEgCcYsoRvbsWgVQewtMKU0hhE96lgMKRAOAUXtP14y/v+XdTeG48u8Xj65QGvrcoHgkATtVoGnYBvqsKcKHlDwlaC7GlUnqnAoDikQDgVN9omtE8W/y/u+djVn18q+XY59gKMaVy5833FsUjAcCpbPGfaiTwpe4vCdu/faHlzgf4XoipUzp+FFAwEgDEMGUV4OsDPs72A7zSMucDrMWZADF1SkcroGAkAIhhyipAq/tbAcb1caVlkoAXQiyd0tGK8x5QMBIAxDJVFcBYctEe8HFOIQmY+5yAtbhbjCW13fe0eFAsEgDEYov/lBvyvtJhi4NTSALmHhO0VgV3i6dJcfSOaQAUiwQAMTWa7nRAW1wtCegO+FhLRmxj4NTPK9jV6bD9Crjd0k8B3KcViR0KRQKA2Kacze/6eKTD+8RWkZjzrAC7WzxkvwL2S/XwHdoAKBIJAGLzmrb83mlcErDSvEmAVR04Re44ndJEGwBFIgHAFOzOe8q5/E4hCTh0oV1p3iTAWhWUjcfrlKZWfD9RIBIATMFp+gW30/gk4Fzz6BSSAIzTKV20dlAcEgBMxUrhXtOyuzJLAg4t0TaaLwlo+3gujNEpXa2AwpAAYEpznNM/TAcculGrUTg1cI6jg+0oYw4JOlzKZfZWJAEoDAkApmQH8qw0j0aHJwH2edlZAXMkASuRBByiU/p+EFCQD5Qmr3CBRhk+13w7459s48GNf9P+2xb+j3V9XLC9/9CzBU610vKPL06ZPXjHK232M7TRcg+eQr6sVdkKB/F9vCWKiblK7odyCknCWvM+P2ClvL5vc0arPNh+k5y+rkQa4ZUgWgCYg915nykdncKFvFHIzOfqPa/ExsDcvRRQCBIAzGWOqYBjzbn5zBaQT8QjhG/aKA+tKOWiECQAmJOdz++ETmFfBLPleWIzIIpAAoA52T6Ac8FY1cGqIlYN4Kz5vKzFyYAoAAkA5uY1z/kAYzkto1PYizAkAp2QOlv8qd4geyQAWILd+T5VWuyivmRi0uk6EbCNibbA2GhcLXeanygvbAZE9j4UsAy7gP6sdJ6cZwutV5hWWPrgnlbvbjSzKQprn7id+FJl7af4k/JiPy+2F+CxAETlldeMJ3FcbJTWImZJiX1ez5QHSwzWyut7ftfPQm688voaE8uFV4JoAWBJTvMdyXuIoRphrYCnSp99vo3KGCt0yk8rRgKRMRIALM0pnSRgt9++VrjDzkGncY9GTpVTfnjOA7JFAoAUzPlwnrvc3HBnn1NuSUCnfD1RflpRBUCmSACQCltoz5XWMwPsc7EkwCkPw6ORc/WZ8vS1gAyRACAldge4ZCXgwS1vyykJsDZArmXpXKotN3WiFYAMkQAgNbYI2NMDneZ3WwnaKa8kwKYZcjw/wClfK9EKQGZIAJAip7Dges3H6e6Zbnt/LkmALf4/Kj/DWQe5svZLJyATJABIlVNYcM81/aJgd/5Wdbiv9eCUTxJwqTx55csSr9w3YqIiJABIXaNwSIwlAl7xPNj+fbagX+jwfQdOeSQBuSYAXypvncKTHnP9+qMiHyhNXuEiC+zTKhwjbK921/Va9/e8ncL+Anu1RcbrtM2GnULJN+XZ+1+V1lTFIez7+InKeAbCSuFoacAqQ61wEK+8jnkk0ojNnvh1wn/P/u6nSleneb7useNc5Wg07c8gkUd4JYgWAEri9sSUd8D2d6+V7l3eRnlqVM6d81qhJdAJSAwJAHC6lZZ9lPBtcnvE7q6VQgJjI41+G07TJ3VT6MS+ACSIPQBAPJ3S2gX+VuXrtq+2Z+BmYvBg+/bPlc6egpXYF1Aj9gCM4JVXf4cghrB+7zMtzyuvr9uUkVp1ZnjsNFFPeCWIFgAQl9112oJzpWVHBc+FgSVkXumwzyfl6RFUggQAmIbX9fkFTvN5sMC/mQP7mqS0d+C5gIWRAADTahQSgavtn6fkFU40bISbnNJqBVABwOJIAIB5eIW70F+3r43i3KV7hU1l9vcu3XZIXaN0NuCVcNARMvehAMzJytCNru/S7U6wU3h4j72+0btTBA9uhLETDT/bvuY2Ere01fZ16cf3egELIwEAlvVwG0+Euay2r0smAY2AhdECAFCjlZbbLNko7SOkUQkSAAC1ajTP5sxdVu1J8dRIVIgEAEDNnEIlwCY1Gk1XEbC9GrYB8Urs20Ai2AMAANeJgGkVNmXa6yGPmr6LLfbfKBz+w8KPpJAAAMC7vK7HKwdDIjDEb3o3Meh2/uz6+FjXGzyBJJEAAMD9WMhRHPYAAABQoX9SmjqFEtunom8GAMiTtYn+0sdflaBUEwDzUx8/9PFnUX4DAOTluz6+UthMmqQPlAcnzjkHAKTPJkhWSnjhH+SyB6Dr45M+vta7u20BAEiBlfttjfLKYPE3KbcA9rFRHGsL2P4ALwAAlmfPlfg3hdZ1NnJpAezjFMosnKkNAFiClfsbZVqZzjkBGDQKB3Y4AQAwvU6h3N8qY7m1APaxtoDttrRkxqYFPhIAAPFZn/8/FBb/vylzJSQAg7aP/xJjgwCA+NYKff7LPn5XAUpoAexjCcCFaAsAAE6TzVjfWKUeBWxtAcYGAQDHsnL/c2U01jdWSS2AfYaxQdoCAIBDJX+KXwyltgD2cQo9nC8FAMD7rNz/TOHmsXg1PQ2wUyjl0BYAAOzqFO74vSpZ/E3pLYB9dscGvQAAtdod66tm4R/U1ALYx4nTBAGgRlmf4hdD7QnA4Ekf34qxQQAoXacCTvGLocYWwD52opO1BewhQ5/28UAAgJJYuf8vCof5dAIJwA32JCfGBgGgLFWM9Y1FC+B2ro8r0RYAgFwVe4pfDDWNAY7VidMEASBHVu63a7cXi/+taAHcbzhN0KolXwgAkLIXCn3+n4Q70QIYx4mxQQBIUfVjfWORAByn6eNM7A8AgKV1YqzvKLQAjrN7mqBNC3wkAMCcdk/x+5swGgnAado+/kuMDQLAnC4Vxvrs9XfhKLQA4rEE4EK0BQBgKoz1RcQYYDzWFmBsEADis3L/czHWFxUtgPiGsUHaAgBwOk7xmwgtgGk5hbYAiQAAjEO5f2K0AKbV9fG5aAsAwKE6hTt+Lxb/SdECmIe1Bb7v4x8KP9QAgHftjvW9FiZHC2B+TpwmCAC7OMVvASQAy2nEaYIA6taJU/wWQwtgOcNpgr/18WkfDwQAdRjK/dbr74RFkAAsz55YxdgggFqs+/iXPv5HWBQtgLS4Pq5EWwBAeRjrSwxjgGnpxGmCAMrCKX6JogWQpuE0QavQfCEAyBOn+CWMFkD6XB8v+3gsAMgDY30ZoAWQvq6PJ6ItACB9XR+PFMr9nZA0WgD5GMYGrWrjBQDp2D3F729CFkgA8tMqHCvM2CCAFFwq9Pnt9XchG+wByJvv41yMDQKYn1UlbXd/K2SJPQB5a8XYIIB5DWN99qTTVsgWLYAyDGODtAUATImxvoLQAiiP6+NCJAIA4uEUvwLRAihPp1Caoy0A4FSdwrXEi8W/OLQAymVtAZsW+IcYGwQwzu5Y309CkWgB1MEplO+eCgDuxil+lSABqEvTx5kYGwTwvk7hjr8VqkALoC67pwm6Ph4IQO2Gcr/t7u+EapAA1KkVY4MApHUf/9LH/wjVoQUA18eVaAsANWGsD4wB4o+SH6cJAnUYTvHzYvGvHi0ADIbTBK0q9IUAlIZT/PAOWgDYx/Xxso/HApA7K/c/U0jygf9DAoC7NGJsEMhVJ8b6cAdaALjL7tigF4Ac7J7i9zcBwImcwsjQW4Igkg17EJgTcABaABjrSR/fiosMkBKr1tnu/lbAgWgBYCwrKVpb4Lc+PhWnCQJLsnL/X8QYL45AAoBj2RPCOE0QWA5jfTgJLQDE4MRpgsBcOMUPUXASIGLoxGmCwNSs3G+/Y14s/oiAFgBiso1I3/fxDzE2CMT0oo9/U2i9AUDSnBgbJIhToxWtNQCZavrYKK+LLkEsHRtRRcPEaAFgarunCdq0wEcCcBtO8QNQJCfaAgRxW5yLczUAFM4qARvldXEmiKmiFeV+AJVpRCJA1Bu/KjymFwCq5ERbgKgvXopyPwD8wSmUQnO6iBPE2GjF0dkAsFcj2gJEebFReJImAOAeK+V1gSeIfWF9/pUo9wPAKE7sDyDyjVac4gcAJ7HS6UZ5XfyJemMjxvoAICobmbKLaw6LAFFfMNYHABNyoi1ApBeM9QHATJyoBhDLRyvK/QCwiEYkAsT8YeX+RgCARTkxNkjMFytR7geApDixP4CYLlox1gcASWtEW4CIFxvR5weArKwUerW5LDREWsEpfgCQMSfaAsT4uBDlfgAogj2BbaO8FiFi/mhFuR8AitSIRIB4PzjFDwAq4ERbgLgOTvEDgMq4Pl4pr8WKiBetQmsIAFCpRrQFaoqNwhMmAQD4w0p5LWTEuGCsDwBwKyf2B5QYrRjrAwAcwErEG+W1yBHvx0aM9QEAjmCjYbaI5LDYEdcxlPsBADiaE22BnOJc9PkBABE5UQ1IOVpR7gcATKgRiUBKwSl+AIDZOIUT5HJaKEuMlSj3AwAW4Pq4VF6LZgnRirE+AEACGtEWmCM2os8PAEjQSnktqLkEp/gBAJLnxNhgzLgQ5X4AQEa8aAucEq9EuR8AkLFGJAJjgrE+AEAxnGgLHBI2WkmfHwBQHKdQ2s5pUZ4jWlHuBwBUoBFtgbfbr0EjAAAqYqXulfJasGMFY30AgOo51bU/oBVjfQAA/J9GZbcFNqLPDwDArVYqKxEYyv0AAOAeTmW0Bc5Fnx8AgNGc8qwGtKLcDwDAyRrlkQhwih8AAJE5hZPyUl38OcUPAIAJuT4ulc7C34qxPgAAZtNo2baA/dteAABgESvNu/Bzih8AAIlwmmds8EKU+wEASM4TTdMWsCcYegEAgKQ1ipMIMNYHAEBmnE5rCzDWBwBAxpxCCf/Qhb8V5X4AAIrR6O62wK/bjwEAAIWxkv5KjPUBAFAlp7A/oBVjfUCV/hdHhAZCFaMV6gAAAABJRU5ErkJggg==\",\"type\":\"image/png\"},\"$:/plugins/oeyoews/neotw-pwa/routes/get-manifest.js\":{\"title\":\"$:/plugins/oeyoews/neotw-pwa/routes/get-manifest.js\",\"text\":\"/*\\\\\\ntitle: $:/plugins/oeyoews/neotw-pwa/routes/get-manifest.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /manifest.json\\n\\n\\\\*/\\n(function () {\\n /*jslint node: true, browser: true */\\n /*global $tw: false */\\n 'use strict';\\n\\n exports.method = 'GET';\\n\\n exports.path = /^\\\\/manifest.json$/;\\n\\n exports.handler = function (request, response, state) {\\n const data = state.wiki.getTiddlerText('$:/manifest.json');\\n state.sendResponse(\\n 200,\\n { 'Content-Type': 'application/json' },\\n data,\\n 'utf8',\\n );\\n };\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/plugins/oeyoews/neotw-pwa/routes/get-tiddlywiki-image.js\":{\"title\":\"$:/plugins/oeyoews/neotw-pwa/routes/get-tiddlywiki-image.js\",\"text\":\"/*\\\\\\ntitle: $:/plugins/oeyoews/neotw-pwa/routes/get-tiddlywiki-image.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /tiddlywiki.png\\n\\n\\\\*/\\n(function () {\\n /*jslint node: true, browser: true */\\n /*global $tw: false */\\n 'use strict';\\n\\n exports.method = 'GET';\\n\\n exports.path = /^\\\\/tiddlywiki.png$/;\\n\\n exports.handler = function (request, response, state) {\\n const data = state.wiki.getTiddlerText('$:/tiddlywiki.png');\\n state.sendResponse(200, { 'Content-Type': 'image/png' }, data, 'base64');\\n };\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/plugins/oeyoews/neotw-pwa/icon\":{\"title\":\"$:/plugins/oeyoews/neotw-pwa/icon\",\"text\":\"\u003Csvg fill=\\\"none\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\u003Cpath d=\\\"m15.35 2.1425c.32-.19.71-.19 1.02 0l10.92 6.64c.26.16.42.45.42.75l-11.85 7.9675-11.86-7.86757v-.09993c0-.3.16-.59.42-.74z\\\" fill=\\\"#f3c07b\\\"/>\u003Cpath d=\\\"m15.856 16.2463 11.36-6.89997c.0498-.0297.1067-.04566.1647-.04626.058-.00061.1151.01418.1655.04284.0504.02867.0923.07016.1214.1203.0292.05014.0445.10711.0445.1651v12.33999c.0001.2972-.0762.5894-.2216.8486-.1453.2592-.3549.4765-.6085.6314l-10.6399 6.46c-.0271.0149-.0566.0251-.0871.0301-.0269.008-.0549.0117-.083.011-.1135.0318-.2322.0409-.3493.0267-.1171-.0143-.2301-.0516-.3327-.1097h.006l-2.396-10.8664z\\\" fill=\\\"#ffce7c\\\"/>\u003Cpath d=\\\"m15.86 29.6224v-13.37l-11.35-6.89997c-.23-.14-.51.02-.51.28v12.33997c0 .61.32 1.17.83 1.48l10.57 6.42c.2.13.46-.02.46-.25z\\\" fill=\\\"#e19747\\\"/>\u003Cpath d=\\\"m14.5 26.7824v-1.96c0-.23-.12-.44-.31-.56l-2.8-1.69c-.19-.11-.43.02-.43.24v1.96c0 .23.12.44.31.56l2.8 1.69c.19.11.43-.02.43-.24z\\\" fill=\\\"#d3d3d3\\\"/>\u003Cpath d=\\\"m11.76 16.5525v-2.79-1.7699l-3.27999-.2201v3.16c0 .1.05.2.14.26l2.67999 1.63c.2.11.46-.03.46-.27z\\\" fill=\\\"#8c5543\\\"/>\u003Cpath d=\\\"m20.34 4.5625-11.85999 7.21 3.27999 2 11.86-7.2z\\\" fill=\\\"#a56953\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\"},\"$:/languages/neotw-pwa/readme\":{\"title\":\"$:/languages/neotw-pwa/readme\",\"text\":\"\u003Cdiv class=\\\"prose max-w-none prose-indigo\\\">\\n\\n* [[Source|https://github.com/oeyoews/neotw/tree/main/plugins/oeyoews/neotw-pwa]]\\n\\n> 让你的TiddlyWiki网页像app一样启动\\n> make your TiddlyWiki web page start like an app\\n\\n> 注意: 额外提供了favicon.ico\\n\\n> 注意: 不要使用0.0.0.0:xxx, 请使用127.0.0.1:xxx\\n\\n> 由于tiddlywiki.png 使用了全透明, 中间的白色部分是透明的, 在iphone上看不到(全部自动补充成了黑色)\\n\\n* ref: https://github.com/oeyoews/tiddlywiki-starter-kit/commit/47b9530a2049a43b26f30094c77d8483282e59d7\\n\\n!! Setup\\n\\n\u003C$reveal type=\\\"nomatch\\\" state=\\\"$:/plugins/oeyoews/neotw-pwa/routes/get-manifest.js!!overwrite\\\" text=\\\"yes\\\">\\n\u003C$button class=\\\"bg-green-400 p-2\\\">\\n\u003C$action-setfield $tiddler=\\\"$:/plugins/oeyoews/neotw-pwa/routes/get-tiddlywiki-image.js\\\" $field=\\\"overwrite\\\" $value=\\\"yes\\\"/>\\n\u003C$action-setfield $tiddler=\\\"$:/plugins/oeyoews/neotw-pwa/routes/get-manifest.js\\\" $field=\\\"overwrite\\\" $value=\\\"yes\\\"/>\\nEnable PWA 📦\\n\u003C/$button>\\n\u003C/$reveal>\\n\\n\u003C$reveal type=\\\"match\\\" state=\\\"$:/plugins/oeyoews/neotw-pwa/routes/get-manifest.js!!overwrite\\\" text=\\\"yes\\\">\\n\u003C$button class=\\\"bg-rose-400 p-2\\\">\\n\u003C$action-deletetiddler $filter=\\\"[prefix[$:/plugins/oeyoews/neotw-pwa]field:overwrite[yes]]\\\"/>\\nReset PWA ♻️\\n\u003C/$button>\\n\u003C/$reveal>\\n\\n> 设置后需要重启tw, 不是刷新浏览器\\n> After setting, you need to restart tw, not refresh the browser\\n\\n\u003C!-- * get-menifest.json 变成shadow, 注意使用startupaction 修改变成shadow 是无效的,shadows文件不会保存 -->\\n\\n> 下面是针对构建在线版本支持pwa的参数\\n> The following are parameters for building online version to support pwa\\n\\n```\\n\\\"--savetiddler\\\",\\n \\\"$:/manifest.json\\\",\\n \\\"manifest.json\\\",\\n\\\"--savetiddler\\\",\\n \\\"$:/tiddlywiki.png\\\",\\n \\\"tiddlywiki.png\\\",\\n```\\n\\n\u003C!-- !! Tools -->\\n\u003C!---->\\n\u003C!-- https://maskable.app/editor -->\\n\\n\u003C/div>\"},\"$:/plugins/oeyoews/neotw-pwa/meta\":{\"title\":\"$:/plugins/oeyoews/neotw-pwa/meta\",\"tags\":\"$:/tags/RawMarkupWikified/TopHead\",\"text\":\"`\u003Clink rel=\\\"manifest\\\" href=\\\"manifest.json\\\" />`\"}}}"}, {"author":"efurlanm","core-version":"","created":"NaNNaNNaNNaNNaNNaNNaN","dependents":"","description":"wrapper for the Mermaid diagramming library","list":"readme usage example license","modified":"NaNNaNNaNNaNNaNNaNNaN","name":"Mermaid","plugin-type":"plugin","tags":"","title":"$:/plugins/orange/mermaid-tw5","version":"0.3.7.1","type":"application/json","text":"{\"tiddlers\":{\"$:/plugins/orange/mermaid-tw5/example\":{\"title\":\"$:/plugins/orange/mermaid-tw5/example\",\"text\":\"See full examples on the website http://mermaid-js.github.io/mermaid\\n\\nNotation\\n\\n```\\n%%{init: {'theme': 'default'}}%%\\ngraph LR\\n A[a node with text]-->B(a node with rounded corners)\\n A--no links---C((a circle))\\n B-->D{a diamond}\\n C==>|arrow and text|D\\n C-. back to.->A\\n```\\n\\nResults\\n\\n\u003C$mermaid text=\\\"\\n%%{init: {'theme': 'default'}}%%\\n graph LR\\n A[a node with text]-->B(a node with rounded corners)\\n A--no links---C((a circle))\\n B-->D{a diamond}\\n C==>|arrow and text|D\\n C-. back to.->A\\n\\\">\u003C/$mermaid>\\n\\nMore advanced usage is possible if you use the mermaid parser rather than the ``\u003C$mermaid>``. Below are two more examples from the [[mermaid.js website|http://mermaid-js.github.io/mermaid]]\\n\\nBuilt-in themes: 'default', 'base', 'forest', 'dark', 'neutral'\\n\"},\"$:/plugins/orange/mermaid-tw5/license\":{\"title\":\"$:/plugins/orange/mermaid-tw5/license\",\"text\":\"The MIT License (MIT)\\n\\nCopyright (c) 2022 E Furlan\\n\\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\\"Software\\\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\\n\\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\\n\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n\\nDependencies:\\n\\n- mermaid.js. License can be found at https://github.com/mermaid-js/mermaid/blob/master/LICENSE\\n- mermaid-tw5 by Nathaniel Jones. License can be found at https://github.com/gt6796c/mermaid-tw5/blob/master/license.tid\\n\",\"type\":\"text/plain\"},\"$:/plugins/orange/mermaid-tw5/mermaid.min.js\":{\"title\":\"$:/plugins/orange/mermaid-tw5/mermaid.min.js\",\"text\":\"(function(ln,Wr){typeof exports==\\\"object\\\"&&typeof module\u003C\\\"u\\\"?module.exports=Wr():typeof define==\\\"function\\\"&&define.amd?define(Wr):(ln=typeof globalThis\u003C\\\"u\\\"?globalThis:ln||self,ln.mermaid=Wr())})(this,function(){\\\"use strict\\\";var XY=Object.defineProperty;var KY=(ln,Wr,Bi)=>Wr in ln?XY(ln,Wr,{enumerable:!0,configurable:!0,writable:!0,value:Bi}):ln[Wr]=Bi;var za=(ln,Wr,Bi)=>(KY(ln,typeof Wr!=\\\"symbol\\\"?Wr+\\\"\\\":Wr,Bi),Bi);var ln=typeof globalThis\u003C\\\"u\\\"?globalThis:typeof window\u003C\\\"u\\\"?window:typeof global\u003C\\\"u\\\"?global:typeof self\u003C\\\"u\\\"?self:{};function Wr(t){throw new Error('Could not dynamically require \\\"'+t+'\\\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bi={exports:{}};(function(t,e){(function(r,n){t.exports=n()})(ln,function(){var r;function n(){return r.apply(null,arguments)}function i(h){return h instanceof Array||Object.prototype.toString.call(h)===\\\"[object Array]\\\"}function s(h){return h!=null&&Object.prototype.toString.call(h)===\\\"[object Object]\\\"}function a(h,y){return Object.prototype.hasOwnProperty.call(h,y)}function o(h){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(h).length===0;for(var y in h)if(a(h,y))return;return 1}function l(h){return h===void 0}function u(h){return typeof h==\\\"number\\\"||Object.prototype.toString.call(h)===\\\"[object Number]\\\"}function d(h){return h instanceof Date||Object.prototype.toString.call(h)===\\\"[object Date]\\\"}function f(h,y){for(var _=[],S=h.length,R=0;R\u003CS;++R)_.push(y(h[R],R));return _}function p(h,y){for(var _ in y)a(y,_)&&(h[_]=y[_]);return a(y,\\\"toString\\\")&&(h.toString=y.toString),a(y,\\\"valueOf\\\")&&(h.valueOf=y.valueOf),h}function g(h,y,_,S){return xr(h,y,_,S,!0).utc()}function b(h){return h._pf==null&&(h._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),h._pf}function k(h){if(h._isValid==null){var y=b(h),_=L.call(y.parsedDateParts,function(S){return S!=null}),_=!isNaN(h._d.getTime())&&y.overflow\u003C0&&!y.empty&&!y.invalidEra&&!y.invalidMonth&&!y.invalidWeekday&&!y.weekdayMismatch&&!y.nullInput&&!y.invalidFormat&&!y.userInvalidated&&(!y.meridiem||y.meridiem&&_);if(h._strict&&(_=_&&y.charsLeftOver===0&&y.unusedTokens.length===0&&y.bigHour===void 0),Object.isFrozen!=null&&Object.isFrozen(h))return _;h._isValid=_}return h._isValid}function T(h){var y=g(NaN);return h!=null?p(b(y),h):b(y).userInvalidated=!0,y}var L=Array.prototype.some||function(h){for(var y=Object(this),_=y.length>>>0,S=0;S\u003C_;S++)if(S in y&&h.call(this,y[S],S,y))return!0;return!1},E=n.momentProperties=[],I=!1;function V(h,y){var _,S,R,it=E.length;if(l(y._isAMomentObject)||(h._isAMomentObject=y._isAMomentObject),l(y._i)||(h._i=y._i),l(y._f)||(h._f=y._f),l(y._l)||(h._l=y._l),l(y._strict)||(h._strict=y._strict),l(y._tzm)||(h._tzm=y._tzm),l(y._isUTC)||(h._isUTC=y._isUTC),l(y._offset)||(h._offset=y._offset),l(y._pf)||(h._pf=b(y)),l(y._locale)||(h._locale=y._locale),0\u003Cit)for(_=0;_\u003Cit;_++)l(R=y[S=E[_]])||(h[S]=R);return h}function H(h){V(this,h),this._d=new Date(h._d!=null?h._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),I===!1&&(I=!0,n.updateOffset(this),I=!1)}function G(h){return h instanceof H||h!=null&&h._isAMomentObject!=null}function Y(h){n.suppressDeprecationWarnings===!1&&typeof console\u003C\\\"u\\\"&&console.warn&&console.warn(\\\"Deprecation warning: \\\"+h)}function W(h,y){var _=!0;return p(function(){if(n.deprecationHandler!=null&&n.deprecationHandler(null,h),_){for(var S,R,it=[],mt=arguments.length,Ct=0;Ct\u003Cmt;Ct++){if(S=\\\"\\\",typeof arguments[Ct]==\\\"object\\\"){for(R in S+=`\\n[`+Ct+\\\"] \\\",arguments[0])a(arguments[0],R)&&(S+=R+\\\": \\\"+arguments[0][R]+\\\", \\\");S=S.slice(0,-2)}else S=arguments[Ct];it.push(S)}Y(h+`\\nArguments: `+Array.prototype.slice.call(it).join(\\\"\\\")+`\\n`+new Error().stack),_=!1}return y.apply(this,arguments)},y)}var N={};function D(h,y){n.deprecationHandler!=null&&n.deprecationHandler(h,y),N[h]||(Y(y),N[h]=!0)}function w(h){return typeof Function\u003C\\\"u\\\"&&h instanceof Function||Object.prototype.toString.call(h)===\\\"[object Function]\\\"}function v(h,y){var _,S=p({},h);for(_ in y)a(y,_)&&(s(h[_])&&s(y[_])?(S[_]={},p(S[_],h[_]),p(S[_],y[_])):y[_]!=null?S[_]=y[_]:delete S[_]);for(_ in h)a(h,_)&&!a(y,_)&&s(h[_])&&(S[_]=p({},S[_]));return S}function M(h){h!=null&&this.set(h)}n.suppressDeprecationWarnings=!1,n.deprecationHandler=null;var m=Object.keys||function(h){var y,_=[];for(y in h)a(h,y)&&_.push(y);return _};function Q(h,y,_){var S=\\\"\\\"+Math.abs(h);return(0\u003C=h?_?\\\"+\\\":\\\"\\\":\\\"-\\\")+Math.pow(10,Math.max(0,y-S.length)).toString().substr(1)+S}var x=/(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ct=/(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Dt={},kt={};function j(h,y,_,S){var R=typeof S==\\\"string\\\"?function(){return this[S]()}:S;h&&(kt[h]=R),y&&(kt[y[0]]=function(){return Q(R.apply(this,arguments),y[1],y[2])}),_&&(kt[_]=function(){return this.localeData().ordinal(R.apply(this,arguments),h)})}function ot(h,y){return h.isValid()?(y=rt(y,h.localeData()),Dt[y]=Dt[y]||function(_){for(var S,R=_.match(x),it=0,mt=R.length;it\u003Cmt;it++)kt[R[it]]?R[it]=kt[R[it]]:R[it]=(S=R[it]).match(/\\\\[[\\\\s\\\\S]/)?S.replace(/^\\\\[|\\\\]$/g,\\\"\\\"):S.replace(/\\\\\\\\/g,\\\"\\\");return function(Ct){for(var Pt=\\\"\\\",It=0;It\u003Cmt;It++)Pt+=w(R[It])?R[It].call(Ct,_):R[It];return Pt}}(y),Dt[y](h)):h.localeData().invalidDate()}function rt(h,y){var _=5;function S(R){return y.longDateFormat(R)||R}for(ct.lastIndex=0;0\u003C=_&&ct.test(h);)h=h.replace(ct,S),ct.lastIndex=0,--_;return h}var nt={};function ut(h,y){var _=h.toLowerCase();nt[_]=nt[_+\\\"s\\\"]=nt[y]=h}function _t(h){return typeof h==\\\"string\\\"?nt[h]||nt[h.toLowerCase()]:void 0}function K(h){var y,_,S={};for(_ in h)a(h,_)&&(y=_t(_))&&(S[y]=h[_]);return S}var Ot={};function P(h,y){Ot[h]=y}function z(h){return h%4==0&&h%100!=0||h%400==0}function X(h){return h\u003C0?Math.ceil(h)||0:Math.floor(h)}function F(y){var y=+y,_=0;return _=y!=0&&isFinite(y)?X(y):_}function O(h,y){return function(_){return _!=null?(J(this,h,_),n.updateOffset(this,y),this):A(this,h)}}function A(h,y){return h.isValid()?h._d[\\\"get\\\"+(h._isUTC?\\\"UTC\\\":\\\"\\\")+y]():NaN}function J(h,y,_){h.isValid()&&!isNaN(_)&&(y===\\\"FullYear\\\"&&z(h.year())&&h.month()===1&&h.date()===29?(_=F(_),h._d[\\\"set\\\"+(h._isUTC?\\\"UTC\\\":\\\"\\\")+y](_,h.month(),dt(_,h.month()))):h._d[\\\"set\\\"+(h._isUTC?\\\"UTC\\\":\\\"\\\")+y](_))}var C=/\\\\d/,ce=/\\\\d\\\\d/,ht=/\\\\d{3}/,Ps=/\\\\d{4}/,Ji=/[+-]?\\\\d{6}/,U=/\\\\d\\\\d?/,Yt=/\\\\d\\\\d\\\\d\\\\d?/,et=/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d?/,Mt=/\\\\d{1,3}/,ts=/\\\\d{1,4}/,Qi=/[+-]?\\\\d{1,6}/,Tt=/\\\\d+/,gt=/[+-]?\\\\d+/,Et=/Z|[+-]\\\\d\\\\d:?\\\\d\\\\d/gi,wt=/Z|[+-]\\\\d\\\\d(?::?\\\\d\\\\d)?/gi,pt=/[0-9]{0,256}['a-z\\\\u00A0-\\\\u05FF\\\\u0700-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFF07\\\\uFF10-\\\\uFFEF]{1,256}|[\\\\u0600-\\\\u06FF\\\\/]{1,256}(\\\\s*?[\\\\u0600-\\\\u06FF]{1,256}){1,2}/i;function st(h,y,_){jt[h]=w(y)?y:function(S,R){return S&&_?_:y}}function le(h,y){return a(jt,h)?jt[h](y._strict,y._locale):new RegExp(Xt(h.replace(\\\"\\\\\\\\\\\",\\\"\\\").replace(/\\\\\\\\(\\\\[)|\\\\\\\\(\\\\])|\\\\[([^\\\\]\\\\[]*)\\\\]|\\\\\\\\(.)/g,function(_,S,R,it,mt){return S||R||it||mt})))}function Xt(h){return h.replace(/[-\\\\/\\\\\\\\^$*+?.()|[\\\\]{}]/g,\\\"\\\\\\\\$&\\\")}var jt={},Kt={};function Gt(h,y){var _,S,R=y;for(typeof h==\\\"string\\\"&&(h=[h]),u(y)&&(R=function(it,mt){mt[y]=F(it)}),S=h.length,_=0;_\u003CS;_++)Kt[h[_]]=R}function Ee(h,y){Gt(h,function(_,S,R,it){R._w=R._w||{},y(_,R._w,R,it)})}var Ht,Vt=0,Ft=1,xt=2,ft=3,Lt=4,bt=5,Ut=6,at=7,ie=8;function dt(h,y){if(isNaN(h)||isNaN(y))return NaN;var _=(y%(_=12)+_)%_;return h+=(y-_)/12,_==1?z(h)?29:28:31-_%7%2}Ht=Array.prototype.indexOf||function(h){for(var y=0;y\u003Cthis.length;++y)if(this[y]===h)return y;return-1},j(\\\"M\\\",[\\\"MM\\\",2],\\\"Mo\\\",function(){return this.month()+1}),j(\\\"MMM\\\",0,0,function(h){return this.localeData().monthsShort(this,h)}),j(\\\"MMMM\\\",0,0,function(h){return this.localeData().months(this,h)}),ut(\\\"month\\\",\\\"M\\\"),P(\\\"month\\\",8),st(\\\"M\\\",U),st(\\\"MM\\\",U,ce),st(\\\"MMM\\\",function(h,y){return y.monthsShortRegex(h)}),st(\\\"MMMM\\\",function(h,y){return y.monthsRegex(h)}),Gt([\\\"M\\\",\\\"MM\\\"],function(h,y){y[Ft]=F(h)-1}),Gt([\\\"MMM\\\",\\\"MMMM\\\"],function(h,y,_,S){S=_._locale.monthsParse(h,S,_._strict),S!=null?y[Ft]=S:b(_).invalidMonth=h});var ee=\\\"January_February_March_April_May_June_July_August_September_October_November_December\\\".split(\\\"_\\\"),fe=\\\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\\\".split(\\\"_\\\"),be=/D[oD]?(\\\\[[^\\\\[\\\\]]*\\\\]|\\\\s)+MMMM?/,_e=pt,ke=pt;function $t(h,y){var _;if(h.isValid()){if(typeof y==\\\"string\\\"){if(/^\\\\d+$/.test(y))y=F(y);else if(!u(y=h.localeData().monthsParse(y)))return}_=Math.min(h.date(),dt(h.year(),y)),h._d[\\\"set\\\"+(h._isUTC?\\\"UTC\\\":\\\"\\\")+\\\"Month\\\"](y,_)}}function se(h){return h!=null?($t(this,h),n.updateOffset(this,!0),this):A(this,\\\"Month\\\")}function ye(){function h(mt,Ct){return Ct.length-mt.length}for(var y,_=[],S=[],R=[],it=0;it\u003C12;it++)y=g([2e3,it]),_.push(this.monthsShort(y,\\\"\\\")),S.push(this.months(y,\\\"\\\")),R.push(this.months(y,\\\"\\\")),R.push(this.monthsShort(y,\\\"\\\"));for(_.sort(h),S.sort(h),R.sort(h),it=0;it\u003C12;it++)_[it]=Xt(_[it]),S[it]=Xt(S[it]);for(it=0;it\u003C24;it++)R[it]=Xt(R[it]);this._monthsRegex=new RegExp(\\\"^(\\\"+R.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\\\"^(\\\"+S.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._monthsShortStrictRegex=new RegExp(\\\"^(\\\"+_.join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function Jt(h){return z(h)?366:365}j(\\\"Y\\\",0,0,function(){var h=this.year();return h\u003C=9999?Q(h,4):\\\"+\\\"+h}),j(0,[\\\"YY\\\",2],0,function(){return this.year()%100}),j(0,[\\\"YYYY\\\",4],0,\\\"year\\\"),j(0,[\\\"YYYYY\\\",5],0,\\\"year\\\"),j(0,[\\\"YYYYYY\\\",6,!0],0,\\\"year\\\"),ut(\\\"year\\\",\\\"y\\\"),P(\\\"year\\\",1),st(\\\"Y\\\",gt),st(\\\"YY\\\",U,ce),st(\\\"YYYY\\\",ts,Ps),st(\\\"YYYYY\\\",Qi,Ji),st(\\\"YYYYYY\\\",Qi,Ji),Gt([\\\"YYYYY\\\",\\\"YYYYYY\\\"],Vt),Gt(\\\"YYYY\\\",function(h,y){y[Vt]=h.length===2?n.parseTwoDigitYear(h):F(h)}),Gt(\\\"YY\\\",function(h,y){y[Vt]=n.parseTwoDigitYear(h)}),Gt(\\\"Y\\\",function(h,y){y[Vt]=parseInt(h,10)}),n.parseTwoDigitYear=function(h){return F(h)+(68\u003CF(h)?1900:2e3)};var Ku=O(\\\"FullYear\\\",!0);function Nn(h,y,_,S,R,it,mt){var Ct;return h\u003C100&&0\u003C=h?(Ct=new Date(h+400,y,_,S,R,it,mt),isFinite(Ct.getFullYear())&&Ct.setFullYear(h)):Ct=new Date(h,y,_,S,R,it,mt),Ct}function Xr(h){var y;return h\u003C100&&0\u003C=h?((y=Array.prototype.slice.call(arguments))[0]=h+400,y=new Date(Date.UTC.apply(null,y)),isFinite(y.getUTCFullYear())&&y.setUTCFullYear(h)):y=new Date(Date.UTC.apply(null,arguments)),y}function De(h,y,_){return _=7+y-_,_-(7+Xr(h,0,_).getUTCDay()-y)%7-1}function ae(h,mt,Ct,S,R){var it,mt=1+7*(mt-1)+(7+Ct-S)%7+De(h,S,R),Ct=mt\u003C=0?Jt(it=h-1)+mt:mt>Jt(h)?(it=h+1,mt-Jt(h)):(it=h,mt);return{year:it,dayOfYear:Ct}}function Be(h,y,_){var S,R,it=De(h.year(),y,_),it=Math.floor((h.dayOfYear()-it-1)/7)+1;return it\u003C1?S=it+Re(R=h.year()-1,y,_):it>Re(h.year(),y,_)?(S=it-Re(h.year(),y,_),R=h.year()+1):(R=h.year(),S=it),{week:S,year:R}}function Re(h,R,_){var S=De(h,R,_),R=De(h+1,R,_);return(Jt(h)-S+R)/7}j(\\\"w\\\",[\\\"ww\\\",2],\\\"wo\\\",\\\"week\\\"),j(\\\"W\\\",[\\\"WW\\\",2],\\\"Wo\\\",\\\"isoWeek\\\"),ut(\\\"week\\\",\\\"w\\\"),ut(\\\"isoWeek\\\",\\\"W\\\"),P(\\\"week\\\",5),P(\\\"isoWeek\\\",5),st(\\\"w\\\",U),st(\\\"ww\\\",U,ce),st(\\\"W\\\",U),st(\\\"WW\\\",U,ce),Ee([\\\"w\\\",\\\"ww\\\",\\\"W\\\",\\\"WW\\\"],function(h,y,_,S){y[S.substr(0,1)]=F(h)});function Pe(h,y){return h.slice(y,7).concat(h.slice(0,y))}j(\\\"d\\\",0,\\\"do\\\",\\\"day\\\"),j(\\\"dd\\\",0,0,function(h){return this.localeData().weekdaysMin(this,h)}),j(\\\"ddd\\\",0,0,function(h){return this.localeData().weekdaysShort(this,h)}),j(\\\"dddd\\\",0,0,function(h){return this.localeData().weekdays(this,h)}),j(\\\"e\\\",0,0,\\\"weekday\\\"),j(\\\"E\\\",0,0,\\\"isoWeekday\\\"),ut(\\\"day\\\",\\\"d\\\"),ut(\\\"weekday\\\",\\\"e\\\"),ut(\\\"isoWeekday\\\",\\\"E\\\"),P(\\\"day\\\",11),P(\\\"weekday\\\",11),P(\\\"isoWeekday\\\",11),st(\\\"d\\\",U),st(\\\"e\\\",U),st(\\\"E\\\",U),st(\\\"dd\\\",function(h,y){return y.weekdaysMinRegex(h)}),st(\\\"ddd\\\",function(h,y){return y.weekdaysShortRegex(h)}),st(\\\"dddd\\\",function(h,y){return y.weekdaysRegex(h)}),Ee([\\\"dd\\\",\\\"ddd\\\",\\\"dddd\\\"],function(h,y,_,S){S=_._locale.weekdaysParse(h,S,_._strict),S!=null?y.d=S:b(_).invalidWeekday=h}),Ee([\\\"d\\\",\\\"e\\\",\\\"E\\\"],function(h,y,_,S){y[S]=F(h)});var Ye=\\\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\\\".split(\\\"_\\\"),Ie=\\\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\\\".split(\\\"_\\\"),$e=\\\"Su_Mo_Tu_We_Th_Fr_Sa\\\".split(\\\"_\\\"),ar=pt,zt=pt,Z=pt;function At(){function h(It,ue){return ue.length-It.length}for(var y,_,S,R=[],it=[],mt=[],Ct=[],Pt=0;Pt\u003C7;Pt++)S=g([2e3,1]).day(Pt),y=Xt(this.weekdaysMin(S,\\\"\\\")),_=Xt(this.weekdaysShort(S,\\\"\\\")),S=Xt(this.weekdays(S,\\\"\\\")),R.push(y),it.push(_),mt.push(S),Ct.push(y),Ct.push(_),Ct.push(S);R.sort(h),it.sort(h),mt.sort(h),Ct.sort(h),this._weekdaysRegex=new RegExp(\\\"^(\\\"+Ct.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\\\"^(\\\"+mt.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._weekdaysShortStrictRegex=new RegExp(\\\"^(\\\"+it.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._weekdaysMinStrictRegex=new RegExp(\\\"^(\\\"+R.join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function Nt(){return this.hours()%12||12}function pe(h,y){j(h,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),y)})}function Me(h,y){return y._meridiemParse}j(\\\"H\\\",[\\\"HH\\\",2],0,\\\"hour\\\"),j(\\\"h\\\",[\\\"hh\\\",2],0,Nt),j(\\\"k\\\",[\\\"kk\\\",2],0,function(){return this.hours()||24}),j(\\\"hmm\\\",0,0,function(){return\\\"\\\"+Nt.apply(this)+Q(this.minutes(),2)}),j(\\\"hmmss\\\",0,0,function(){return\\\"\\\"+Nt.apply(this)+Q(this.minutes(),2)+Q(this.seconds(),2)}),j(\\\"Hmm\\\",0,0,function(){return\\\"\\\"+this.hours()+Q(this.minutes(),2)}),j(\\\"Hmmss\\\",0,0,function(){return\\\"\\\"+this.hours()+Q(this.minutes(),2)+Q(this.seconds(),2)}),pe(\\\"a\\\",!0),pe(\\\"A\\\",!1),ut(\\\"hour\\\",\\\"h\\\"),P(\\\"hour\\\",13),st(\\\"a\\\",Me),st(\\\"A\\\",Me),st(\\\"H\\\",U),st(\\\"h\\\",U),st(\\\"k\\\",U),st(\\\"HH\\\",U,ce),st(\\\"hh\\\",U,ce),st(\\\"kk\\\",U,ce),st(\\\"hmm\\\",Yt),st(\\\"hmmss\\\",et),st(\\\"Hmm\\\",Yt),st(\\\"Hmmss\\\",et),Gt([\\\"H\\\",\\\"HH\\\"],ft),Gt([\\\"k\\\",\\\"kk\\\"],function(h,y,_){h=F(h),y[ft]=h===24?0:h}),Gt([\\\"a\\\",\\\"A\\\"],function(h,y,_){_._isPm=_._locale.isPM(h),_._meridiem=h}),Gt([\\\"h\\\",\\\"hh\\\"],function(h,y,_){y[ft]=F(h),b(_).bigHour=!0}),Gt(\\\"hmm\\\",function(h,y,_){var S=h.length-2;y[ft]=F(h.substr(0,S)),y[Lt]=F(h.substr(S)),b(_).bigHour=!0}),Gt(\\\"hmmss\\\",function(h,y,_){var S=h.length-4,R=h.length-2;y[ft]=F(h.substr(0,S)),y[Lt]=F(h.substr(S,2)),y[bt]=F(h.substr(R)),b(_).bigHour=!0}),Gt(\\\"Hmm\\\",function(h,y,_){var S=h.length-2;y[ft]=F(h.substr(0,S)),y[Lt]=F(h.substr(S))}),Gt(\\\"Hmmss\\\",function(h,y,_){var S=h.length-4,R=h.length-2;y[ft]=F(h.substr(0,S)),y[Lt]=F(h.substr(S,2)),y[bt]=F(h.substr(R))}),pt=O(\\\"Hours\\\",!0);var Le,We={calendar:{sameDay:\\\"[Today at] LT\\\",nextDay:\\\"[Tomorrow at] LT\\\",nextWeek:\\\"dddd [at] LT\\\",lastDay:\\\"[Yesterday at] LT\\\",lastWeek:\\\"[Last] dddd [at] LT\\\",sameElse:\\\"L\\\"},longDateFormat:{LTS:\\\"h:mm:ss A\\\",LT:\\\"h:mm A\\\",L:\\\"MM/DD/YYYY\\\",LL:\\\"MMMM D, YYYY\\\",LLL:\\\"MMMM D, YYYY h:mm A\\\",LLLL:\\\"dddd, MMMM D, YYYY h:mm A\\\"},invalidDate:\\\"Invalid date\\\",ordinal:\\\"%d\\\",dayOfMonthOrdinalParse:/\\\\d{1,2}/,relativeTime:{future:\\\"in %s\\\",past:\\\"%s ago\\\",s:\\\"a few seconds\\\",ss:\\\"%d seconds\\\",m:\\\"a minute\\\",mm:\\\"%d minutes\\\",h:\\\"an hour\\\",hh:\\\"%d hours\\\",d:\\\"a day\\\",dd:\\\"%d days\\\",w:\\\"a week\\\",ww:\\\"%d weeks\\\",M:\\\"a month\\\",MM:\\\"%d months\\\",y:\\\"a year\\\",yy:\\\"%d years\\\"},months:ee,monthsShort:fe,week:{dow:0,doy:6},weekdays:Ye,weekdaysMin:$e,weekdaysShort:Ie,meridiemParse:/[ap]\\\\.?m?\\\\.?/i},ve={},Ne={};function Xi(h){return h&&h.toLowerCase().replace(\\\"_\\\",\\\"-\\\")}function Ki(h){for(var y,_,S,R,it=0;it\u003Ch.length;){for(y=(R=Xi(h[it]).split(\\\"-\\\")).length,_=(_=Xi(h[it+1]))?_.split(\\\"-\\\"):null;0\u003Cy;){if(S=zr(R.slice(0,y).join(\\\"-\\\")))return S;if(_&&_.length>=y&&function(mt,Ct){for(var Pt=Math.min(mt.length,Ct.length),It=0;It\u003CPt;It+=1)if(mt[It]!==Ct[It])return It;return Pt}(R,_)>=y-1)break;y--}it++}return Le}function zr(h){var y;if(ve[h]===void 0&&!0&&t&&t.exports&&h.match(\\\"^[^/\\\\\\\\\\\\\\\\]*$\\\")!=null)try{y=Le._abbr,Wr(\\\"./locale/\\\"+h),qt(y)}catch{ve[h]=null}return ve[h]}function qt(h,y){return h&&((y=l(y)?oe(h):te(h,y))?Le=y:typeof console\u003C\\\"u\\\"&&console.warn&&console.warn(\\\"Locale \\\"+h+\\\" not found. Did you forget to load it?\\\")),Le._abbr}function te(h,y){if(y===null)return delete ve[h],null;var _,S=We;if(y.abbr=h,ve[h]!=null)D(\\\"defineLocaleOverride\\\",\\\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\\\"),S=ve[h]._config;else if(y.parentLocale!=null)if(ve[y.parentLocale]!=null)S=ve[y.parentLocale]._config;else{if((_=zr(y.parentLocale))==null)return Ne[y.parentLocale]||(Ne[y.parentLocale]=[]),Ne[y.parentLocale].push({name:h,config:y}),null;S=_._config}return ve[h]=new M(v(S,y)),Ne[h]&&Ne[h].forEach(function(R){te(R.name,R.config)}),qt(h),ve[h]}function oe(h){var y;if(!(h=h&&h._locale&&h._locale._abbr?h._locale._abbr:h))return Le;if(!i(h)){if(y=zr(h))return y;h=[h]}return Ki(h)}function Rt(h){var y=h._a;return y&&b(h).overflow===-2&&(y=y[Ft]\u003C0||11\u003Cy[Ft]?Ft:y[xt]\u003C1||y[xt]>dt(y[Vt],y[Ft])?xt:y[ft]\u003C0||24\u003Cy[ft]||y[ft]===24&&(y[Lt]!==0||y[bt]!==0||y[Ut]!==0)?ft:y[Lt]\u003C0||59\u003Cy[Lt]?Lt:y[bt]\u003C0||59\u003Cy[bt]?bt:y[Ut]\u003C0||999\u003Cy[Ut]?Ut:-1,b(h)._overflowDayOfYear&&(y\u003CVt||xt\u003Cy)&&(y=xt),b(h)._overflowWeeks&&y===-1&&(y=at),b(h)._overflowWeekday&&y===-1&&(y=ie),b(h).overflow=y),h}var Ve=/^\\\\s*((?:[+-]\\\\d{6}|\\\\d{4})-(?:\\\\d\\\\d-\\\\d\\\\d|W\\\\d\\\\d-\\\\d|W\\\\d\\\\d|\\\\d\\\\d\\\\d|\\\\d\\\\d))(?:(T| )(\\\\d\\\\d(?::\\\\d\\\\d(?::\\\\d\\\\d(?:[.,]\\\\d+)?)?)?)([+-]\\\\d\\\\d(?::?\\\\d\\\\d)?|\\\\s*Z)?)?$/,q=/^\\\\s*((?:[+-]\\\\d{6}|\\\\d{4})(?:\\\\d\\\\d\\\\d\\\\d|W\\\\d\\\\d\\\\d|W\\\\d\\\\d|\\\\d\\\\d\\\\d|\\\\d\\\\d|))(?:(T| )(\\\\d\\\\d(?:\\\\d\\\\d(?:\\\\d\\\\d(?:[.,]\\\\d+)?)?)?)([+-]\\\\d\\\\d(?::?\\\\d\\\\d)?|\\\\s*Z)?)?$/,Is=/Z|[+-]\\\\d\\\\d(?::?\\\\d\\\\d)?/,tt=[[\\\"YYYYYY-MM-DD\\\",/[+-]\\\\d{6}-\\\\d\\\\d-\\\\d\\\\d/],[\\\"YYYY-MM-DD\\\",/\\\\d{4}-\\\\d\\\\d-\\\\d\\\\d/],[\\\"GGGG-[W]WW-E\\\",/\\\\d{4}-W\\\\d\\\\d-\\\\d/],[\\\"GGGG-[W]WW\\\",/\\\\d{4}-W\\\\d\\\\d/,!1],[\\\"YYYY-DDD\\\",/\\\\d{4}-\\\\d{3}/],[\\\"YYYY-MM\\\",/\\\\d{4}-\\\\d\\\\d/,!1],[\\\"YYYYYYMMDD\\\",/[+-]\\\\d{10}/],[\\\"YYYYMMDD\\\",/\\\\d{8}/],[\\\"GGGG[W]WWE\\\",/\\\\d{4}W\\\\d{3}/],[\\\"GGGG[W]WW\\\",/\\\\d{4}W\\\\d{2}/,!1],[\\\"YYYYDDD\\\",/\\\\d{7}/],[\\\"YYYYMM\\\",/\\\\d{6}/,!1],[\\\"YYYY\\\",/\\\\d{4}/,!1]],Sr=[[\\\"HH:mm:ss.SSSS\\\",/\\\\d\\\\d:\\\\d\\\\d:\\\\d\\\\d\\\\.\\\\d+/],[\\\"HH:mm:ss,SSSS\\\",/\\\\d\\\\d:\\\\d\\\\d:\\\\d\\\\d,\\\\d+/],[\\\"HH:mm:ss\\\",/\\\\d\\\\d:\\\\d\\\\d:\\\\d\\\\d/],[\\\"HH:mm\\\",/\\\\d\\\\d:\\\\d\\\\d/],[\\\"HHmmss.SSSS\\\",/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d\\\\.\\\\d+/],[\\\"HHmmss,SSSS\\\",/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d,\\\\d+/],[\\\"HHmmss\\\",/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d/],[\\\"HHmm\\\",/\\\\d\\\\d\\\\d\\\\d/],[\\\"HH\\\",/\\\\d\\\\d/]],Wu=/^\\\\/?Date\\\\((-?\\\\d+)/i,Rd=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\\\s)?(\\\\d{1,2})\\\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\\\s(\\\\d{2,4})\\\\s(\\\\d\\\\d):(\\\\d\\\\d)(?::(\\\\d\\\\d))?\\\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\\\d{4}))$/,Hu={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Gu(h){var y,_,S,R,it,mt,Pt=h._i,Ct=Ve.exec(Pt)||q.exec(Pt),Pt=tt.length,It=Sr.length;if(Ct){for(b(h).iso=!0,y=0,_=Pt;y\u003C_;y++)if(tt[y][1].exec(Ct[1])){R=tt[y][0],S=tt[y][2]!==!1;break}if(R==null)h._isValid=!1;else{if(Ct[3]){for(y=0,_=It;y\u003C_;y++)if(Sr[y][1].exec(Ct[3])){it=(Ct[2]||\\\" \\\")+Sr[y][0];break}if(it==null)return void(h._isValid=!1)}if(S||it==null){if(Ct[4]){if(!Is.exec(Ct[4]))return void(h._isValid=!1);mt=\\\"Z\\\"}h._f=R+(it||\\\"\\\")+(mt||\\\"\\\"),ll(h)}else h._isValid=!1}}else h._isValid=!1}function or(h,y,_,S,R,it){return h=[function(mt){mt=parseInt(mt,10);{if(mt\u003C=49)return 2e3+mt;if(mt\u003C=999)return 1900+mt}return mt}(h),fe.indexOf(y),parseInt(_,10),parseInt(S,10),parseInt(R,10)],it&&h.push(parseInt(it,10)),h}function Zn(h){var y,_,S,R,it=Rd.exec(h._i.replace(/\\\\([^()]*\\\\)|[\\\\n\\\\t]/g,\\\" \\\").replace(/(\\\\s\\\\s+)/g,\\\" \\\").replace(/^\\\\s\\\\s*/,\\\"\\\").replace(/\\\\s\\\\s*$/,\\\"\\\"));it?(y=or(it[4],it[3],it[2],it[5],it[6],it[7]),_=it[1],S=y,R=h,_&&Ie.indexOf(_)!==new Date(S[0],S[1],S[2]).getDay()?(b(R).weekdayMismatch=!0,R._isValid=!1):(h._a=y,h._tzm=(_=it[8],S=it[9],R=it[10],_?Hu[_]:S?0:60*(((_=parseInt(R,10))-(S=_%100))/100)+S),h._d=Xr.apply(null,h._a),h._d.setUTCMinutes(h._d.getUTCMinutes()-h._tzm),b(h).rfc2822=!0)):h._isValid=!1}function Qn(h,y,_){return h!=null?h:y!=null?y:_}function Os(h){var y,_,S,R,it,mt,Ct,Pt,It,ue,re,He=[];if(!h._d){for(S=h,R=new Date(n.now()),_=S._useUTC?[R.getUTCFullYear(),R.getUTCMonth(),R.getUTCDate()]:[R.getFullYear(),R.getMonth(),R.getDate()],h._w&&h._a[xt]==null&&h._a[Ft]==null&&((R=(S=h)._w).GG!=null||R.W!=null||R.E!=null?(Pt=1,It=4,it=Qn(R.GG,S._a[Vt],Be(Se(),1,4).year),mt=Qn(R.W,1),((Ct=Qn(R.E,1))\u003C1||7\u003CCt)&&(ue=!0)):(Pt=S._locale._week.dow,It=S._locale._week.doy,re=Be(Se(),Pt,It),it=Qn(R.gg,S._a[Vt],re.year),mt=Qn(R.w,re.week),R.d!=null?((Ct=R.d)\u003C0||6\u003CCt)&&(ue=!0):R.e!=null?(Ct=R.e+Pt,(R.e\u003C0||6\u003CR.e)&&(ue=!0)):Ct=Pt),mt\u003C1||mt>Re(it,Pt,It)?b(S)._overflowWeeks=!0:ue!=null?b(S)._overflowWeekday=!0:(re=ae(it,mt,Ct,Pt,It),S._a[Vt]=re.year,S._dayOfYear=re.dayOfYear)),h._dayOfYear!=null&&(R=Qn(h._a[Vt],_[Vt]),(h._dayOfYear>Jt(R)||h._dayOfYear===0)&&(b(h)._overflowDayOfYear=!0),ue=Xr(R,0,h._dayOfYear),h._a[Ft]=ue.getUTCMonth(),h._a[xt]=ue.getUTCDate()),y=0;y\u003C3&&h._a[y]==null;++y)h._a[y]=He[y]=_[y];for(;y\u003C7;y++)h._a[y]=He[y]=h._a[y]==null?y===2?1:0:h._a[y];h._a[ft]===24&&h._a[Lt]===0&&h._a[bt]===0&&h._a[Ut]===0&&(h._nextDay=!0,h._a[ft]=0),h._d=(h._useUTC?Xr:Nn).apply(null,He),it=h._useUTC?h._d.getUTCDay():h._d.getDay(),h._tzm!=null&&h._d.setUTCMinutes(h._d.getUTCMinutes()-h._tzm),h._nextDay&&(h._a[ft]=24),h._w&&h._w.d!==void 0&&h._w.d!==it&&(b(h).weekdayMismatch=!0)}}function ll(h){if(h._f===n.ISO_8601)Gu(h);else if(h._f===n.RFC_2822)Zn(h);else{h._a=[],b(h).empty=!0;for(var y,_,S,R,it,mt=\\\"\\\"+h._i,Ct=mt.length,Pt=0,It=rt(h._f,h._locale).match(x)||[],ue=It.length,re=0;re\u003Cue;re++)_=It[re],(y=(mt.match(le(_,h))||[])[0])&&(0\u003C(S=mt.substr(0,mt.indexOf(y))).length&&b(h).unusedInput.push(S),mt=mt.slice(mt.indexOf(y)+y.length),Pt+=y.length),kt[_]?(y?b(h).empty=!1:b(h).unusedTokens.push(_),S=_,it=h,(R=y)!=null&&a(Kt,S)&&Kt[S](R,it._a,it,S)):h._strict&&!y&&b(h).unusedTokens.push(_);b(h).charsLeftOver=Ct-Pt,0\u003Cmt.length&&b(h).unusedInput.push(mt),h._a[ft]\u003C=12&&b(h).bigHour===!0&&0\u003Ch._a[ft]&&(b(h).bigHour=void 0),b(h).parsedDateParts=h._a.slice(0),b(h).meridiem=h._meridiem,h._a[ft]=function(He,lr,On){return On==null?lr:He.meridiemHour!=null?He.meridiemHour(lr,On):He.isPM!=null?((He=He.isPM(On))&&lr\u003C12&&(lr+=12),lr=He||lr!==12?lr:0):lr}(h._locale,h._a[ft],h._meridiem),(Ct=b(h).era)!==null&&(h._a[Vt]=h._locale.erasConvertYear(Ct,h._a[Vt])),Os(h),Rt(h)}}function qu(h){var y,_,S,R=h._i,it=h._f;return h._locale=h._locale||oe(h._l),R===null||it===void 0&&R===\\\"\\\"?T({nullInput:!0}):(typeof R==\\\"string\\\"&&(h._i=R=h._locale.preparse(R)),G(R)?new H(Rt(R)):(d(R)?h._d=R:i(it)?function(mt){var Ct,Pt,It,ue,re,He,lr=!1,On=mt._f.length;if(On===0)return b(mt).invalidFormat=!0,mt._d=new Date(NaN);for(ue=0;ue\u003COn;ue++)re=0,He=!1,Ct=V({},mt),mt._useUTC!=null&&(Ct._useUTC=mt._useUTC),Ct._f=mt._f[ue],ll(Ct),k(Ct)&&(He=!0),re=(re+=b(Ct).charsLeftOver)+10*b(Ct).unusedTokens.length,b(Ct).score=re,lr?re\u003CIt&&(It=re,Pt=Ct):(It==null||re\u003CIt||He)&&(It=re,Pt=Ct,He&&(lr=!0));p(mt,Pt||Ct)}(h):it?ll(h):l(it=(R=h)._i)?R._d=new Date(n.now()):d(it)?R._d=new Date(it.valueOf()):typeof it==\\\"string\\\"?(_=R,(y=Wu.exec(_._i))!==null?_._d=new Date(+y[1]):(Gu(_),_._isValid===!1&&(delete _._isValid,Zn(_),_._isValid===!1&&(delete _._isValid,_._strict?_._isValid=!1:n.createFromInputFallback(_))))):i(it)?(R._a=f(it.slice(0),function(mt){return parseInt(mt,10)}),Os(R)):s(it)?(y=R)._d||(S=(_=K(y._i)).day===void 0?_.date:_.day,y._a=f([_.year,_.month,S,_.hour,_.minute,_.second,_.millisecond],function(mt){return mt&&parseInt(mt,10)}),Os(y)):u(it)?R._d=new Date(it):n.createFromInputFallback(R),k(h)||(h._d=null),h))}function xr(h,y,_,S,R){var it={};return y!==!0&&y!==!1||(S=y,y=void 0),_!==!0&&_!==!1||(S=_,_=void 0),(s(h)&&o(h)||i(h)&&h.length===0)&&(h=void 0),it._isAMomentObject=!0,it._useUTC=it._isUTC=R,it._l=_,it._i=h,it._f=y,it._strict=S,(R=new H(Rt(qu(R=it))))._nextDay&&(R.add(1,\\\"d\\\"),R._nextDay=void 0),R}function Se(h,y,_,S){return xr(h,y,_,S,!1)}n.createFromInputFallback=W(\\\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\\\",function(h){h._d=new Date(h._i+(h._useUTC?\\\" UTC\\\":\\\"\\\"))}),n.ISO_8601=function(){},n.RFC_2822=function(){},Yt=W(\\\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\\\",function(){var h=Se.apply(null,arguments);return this.isValid()&&h.isValid()?h\u003Cthis?this:h:T()}),et=W(\\\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\\\",function(){var h=Se.apply(null,arguments);return this.isValid()&&h.isValid()?this\u003Ch?this:h:T()});function Or(h,y){var _,S;if(!(y=y.length===1&&i(y[0])?y[0]:y).length)return Se();for(_=y[0],S=1;S\u003Cy.length;++S)y[S].isValid()&&!y[S][h](_)||(_=y[S]);return _}var Ai=[\\\"year\\\",\\\"quarter\\\",\\\"month\\\",\\\"week\\\",\\\"day\\\",\\\"hour\\\",\\\"minute\\\",\\\"second\\\",\\\"millisecond\\\"];function Bn(y){var y=K(y),_=y.year||0,S=y.quarter||0,R=y.month||0,it=y.week||y.isoWeek||0,mt=y.day||0,Ct=y.hour||0,Pt=y.minute||0,It=y.second||0,ue=y.millisecond||0;this._isValid=function(re){var He,lr,On=!1,Wd=Ai.length;for(He in re)if(a(re,He)&&(Ht.call(Ai,He)===-1||re[He]!=null&&isNaN(re[He])))return!1;for(lr=0;lr\u003CWd;++lr)if(re[Ai[lr]]){if(On)return!1;parseFloat(re[Ai[lr]])!==F(re[Ai[lr]])&&(On=!0)}return!0}(y),this._milliseconds=+ue+1e3*It+6e4*Pt+1e3*Ct*60*60,this._days=+mt+7*it,this._months=+R+3*S+12*_,this._data={},this._locale=oe(),this._bubble()}function Li(h){return h instanceof Bn}function Kr(h){return h\u003C0?-1*Math.round(-1*h):Math.round(h)}function cl(h,y){j(h,0,0,function(){var _=this.utcOffset(),S=\\\"+\\\";return _\u003C0&&(_=-_,S=\\\"-\\\"),S+Q(~~(_/60),2)+y+Q(~~_%60,2)})}cl(\\\"Z\\\",\\\":\\\"),cl(\\\"ZZ\\\",\\\"\\\"),st(\\\"Z\\\",wt),st(\\\"ZZ\\\",wt),Gt([\\\"Z\\\",\\\"ZZ\\\"],function(h,y,_){_._useUTC=!0,_._tzm=Rs(wt,h)});var Pa=/([\\\\+\\\\-]|\\\\d\\\\d)/gi;function Rs(h,_){var _=(_||\\\"\\\").match(h);return _===null?null:(_=60*(h=((_[_.length-1]||[])+\\\"\\\").match(Pa)||[\\\"-\\\",0,0])[1]+F(h[2]))===0?0:h[0]===\\\"+\\\"?_:-_}function Zr(h,y){var _;return y._isUTC?(y=y.clone(),_=(G(h)||d(h)?h:Se(h)).valueOf()-y.valueOf(),y._d.setTime(y._d.valueOf()+_),n.updateOffset(y,!1),y):Se(h).local()}function Fd(h){return-Math.round(h._d.getTimezoneOffset())}function cb(){return!!this.isValid()&&this._isUTC&&this._offset===0}n.updateOffset=function(){};var UY=/^(-|\\\\+)?(?:(\\\\d*)[. ])?(\\\\d+):(\\\\d+)(?::(\\\\d+)(\\\\.\\\\d*)?)?$/,zY=/^(-|\\\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function In(h,y){var _,S=h,R=null;return Li(h)?S={ms:h._milliseconds,d:h._days,M:h._months}:u(h)||!isNaN(+h)?(S={},y?S[y]=+h:S.milliseconds=+h):(R=UY.exec(h))?(_=R[1]===\\\"-\\\"?-1:1,S={y:0,d:F(R[xt])*_,h:F(R[ft])*_,m:F(R[Lt])*_,s:F(R[bt])*_,ms:F(Kr(1e3*R[Ut]))*_}):(R=zY.exec(h))?(_=R[1]===\\\"-\\\"?-1:1,S={y:Fs(R[2],_),M:Fs(R[3],_),w:Fs(R[4],_),d:Fs(R[5],_),h:Fs(R[6],_),m:Fs(R[7],_),s:Fs(R[8],_)}):S==null?S={}:typeof S==\\\"object\\\"&&(\\\"from\\\"in S||\\\"to\\\"in S)&&(y=function(it,mt){var Ct;return!it.isValid()||!mt.isValid()?{milliseconds:0,months:0}:(mt=Zr(mt,it),it.isBefore(mt)?Ct=ub(it,mt):((Ct=ub(mt,it)).milliseconds=-Ct.milliseconds,Ct.months=-Ct.months),Ct)}(Se(S.from),Se(S.to)),(S={}).ms=y.milliseconds,S.M=y.months),R=new Bn(S),Li(h)&&a(h,\\\"_locale\\\")&&(R._locale=h._locale),Li(h)&&a(h,\\\"_isValid\\\")&&(R._isValid=h._isValid),R}function Fs(h,y){return h=h&&parseFloat(h.replace(\\\",\\\",\\\".\\\")),(isNaN(h)?0:h)*y}function ub(h,y){var _={};return _.months=y.month()-h.month()+12*(y.year()-h.year()),h.clone().add(_.months,\\\"M\\\").isAfter(y)&&--_.months,_.milliseconds=+y-+h.clone().add(_.months,\\\"M\\\"),_}function hb(h,y){return function(_,S){var R;return S===null||isNaN(+S)||(D(y,\\\"moment().\\\"+y+\\\"(period, number) is deprecated. Please use moment().\\\"+y+\\\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\\\"),R=_,_=S,S=R),db(this,In(_,S),h),this}}function db(h,mt,_,S){var R=mt._milliseconds,it=Kr(mt._days),mt=Kr(mt._months);h.isValid()&&(S=S==null||S,mt&&$t(h,A(h,\\\"Month\\\")+mt*_),it&&J(h,\\\"Date\\\",A(h,\\\"Date\\\")+it*_),R&&h._d.setTime(h._d.valueOf()+R*_),S&&n.updateOffset(h,it||mt))}In.fn=Bn.prototype,In.invalid=function(){return In(NaN)},ee=hb(1,\\\"add\\\"),Ye=hb(-1,\\\"subtract\\\");function fb(h){return typeof h==\\\"string\\\"||h instanceof String}function WY(h){return G(h)||d(h)||fb(h)||u(h)||function(y){var _=i(y),S=!1;return _&&(S=y.filter(function(R){return!u(R)&&fb(y)}).length===0),_&&S}(h)||function(y){var _,S,R=s(y)&&!o(y),it=!1,mt=[\\\"years\\\",\\\"year\\\",\\\"y\\\",\\\"months\\\",\\\"month\\\",\\\"M\\\",\\\"days\\\",\\\"day\\\",\\\"d\\\",\\\"dates\\\",\\\"date\\\",\\\"D\\\",\\\"hours\\\",\\\"hour\\\",\\\"h\\\",\\\"minutes\\\",\\\"minute\\\",\\\"m\\\",\\\"seconds\\\",\\\"second\\\",\\\"s\\\",\\\"milliseconds\\\",\\\"millisecond\\\",\\\"ms\\\"],Ct=mt.length;for(_=0;_\u003CCt;_+=1)S=mt[_],it=it||a(y,S);return R&&it}(h)||h==null}function ju(h,R){if(h.date()\u003CR.date())return-ju(R,h);var _=12*(R.year()-h.year())+(R.month()-h.month()),S=h.clone().add(_,\\\"months\\\"),R=R-S\u003C0?(R-S)/(S-h.clone().add(_-1,\\\"months\\\")):(R-S)/(h.clone().add(1+_,\\\"months\\\")-S);return-(_+R)||0}function pb(h){return h===void 0?this._locale._abbr:((h=oe(h))!=null&&(this._locale=h),this)}n.defaultFormat=\\\"YYYY-MM-DDTHH:mm:ssZ\\\",n.defaultFormatUtc=\\\"YYYY-MM-DDTHH:mm:ss[Z]\\\",$e=W(\\\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\\\",function(h){return h===void 0?this.localeData():this.locale(h)});function gb(){return this._locale}var yb=126227808e5;function Ya(h,y){return(h%y+y)%y}function mb(h,y,_){return h\u003C100&&0\u003C=h?new Date(h+400,y,_)-yb:new Date(h,y,_).valueOf()}function bb(h,y,_){return h\u003C100&&0\u003C=h?Date.UTC(h+400,y,_)-yb:Date.UTC(h,y,_)}function Pd(h,y){return y.erasAbbrRegex(h)}function Yd(){for(var h=[],y=[],_=[],S=[],R=this.eras(),it=0,mt=R.length;it\u003Cmt;++it)y.push(Xt(R[it].name)),h.push(Xt(R[it].abbr)),_.push(Xt(R[it].narrow)),S.push(Xt(R[it].name)),S.push(Xt(R[it].abbr)),S.push(Xt(R[it].narrow));this._erasRegex=new RegExp(\\\"^(\\\"+S.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._erasNameRegex=new RegExp(\\\"^(\\\"+y.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._erasAbbrRegex=new RegExp(\\\"^(\\\"+h.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._erasNarrowRegex=new RegExp(\\\"^(\\\"+_.join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function $u(h,y){j(0,[h,h.length],0,y)}function _b(h,y,_,S,R){var it;return h==null?Be(this,S,R).year:(it=Re(h,S,R),function(mt,Ct,Pt,It,ue){return mt=ae(mt,Ct,Pt,It,ue),Ct=Xr(mt.year,0,mt.dayOfYear),this.year(Ct.getUTCFullYear()),this.month(Ct.getUTCMonth()),this.date(Ct.getUTCDate()),this}.call(this,h,y=it\u003Cy?it:y,_,S,R))}j(\\\"N\\\",0,0,\\\"eraAbbr\\\"),j(\\\"NN\\\",0,0,\\\"eraAbbr\\\"),j(\\\"NNN\\\",0,0,\\\"eraAbbr\\\"),j(\\\"NNNN\\\",0,0,\\\"eraName\\\"),j(\\\"NNNNN\\\",0,0,\\\"eraNarrow\\\"),j(\\\"y\\\",[\\\"y\\\",1],\\\"yo\\\",\\\"eraYear\\\"),j(\\\"y\\\",[\\\"yy\\\",2],0,\\\"eraYear\\\"),j(\\\"y\\\",[\\\"yyy\\\",3],0,\\\"eraYear\\\"),j(\\\"y\\\",[\\\"yyyy\\\",4],0,\\\"eraYear\\\"),st(\\\"N\\\",Pd),st(\\\"NN\\\",Pd),st(\\\"NNN\\\",Pd),st(\\\"NNNN\\\",function(h,y){return y.erasNameRegex(h)}),st(\\\"NNNNN\\\",function(h,y){return y.erasNarrowRegex(h)}),Gt([\\\"N\\\",\\\"NN\\\",\\\"NNN\\\",\\\"NNNN\\\",\\\"NNNNN\\\"],function(h,y,_,S){S=_._locale.erasParse(h,S,_._strict),S?b(_).era=S:b(_).invalidEra=h}),st(\\\"y\\\",Tt),st(\\\"yy\\\",Tt),st(\\\"yyy\\\",Tt),st(\\\"yyyy\\\",Tt),st(\\\"yo\\\",function(h,y){return y._eraYearOrdinalRegex||Tt}),Gt([\\\"y\\\",\\\"yy\\\",\\\"yyy\\\",\\\"yyyy\\\"],Vt),Gt([\\\"yo\\\"],function(h,y,_,S){var R;_._locale._eraYearOrdinalRegex&&(R=h.match(_._locale._eraYearOrdinalRegex)),_._locale.eraYearOrdinalParse?y[Vt]=_._locale.eraYearOrdinalParse(h,R):y[Vt]=parseInt(h,10)}),j(0,[\\\"gg\\\",2],0,function(){return this.weekYear()%100}),j(0,[\\\"GG\\\",2],0,function(){return this.isoWeekYear()%100}),$u(\\\"gggg\\\",\\\"weekYear\\\"),$u(\\\"ggggg\\\",\\\"weekYear\\\"),$u(\\\"GGGG\\\",\\\"isoWeekYear\\\"),$u(\\\"GGGGG\\\",\\\"isoWeekYear\\\"),ut(\\\"weekYear\\\",\\\"gg\\\"),ut(\\\"isoWeekYear\\\",\\\"GG\\\"),P(\\\"weekYear\\\",1),P(\\\"isoWeekYear\\\",1),st(\\\"G\\\",gt),st(\\\"g\\\",gt),st(\\\"GG\\\",U,ce),st(\\\"gg\\\",U,ce),st(\\\"GGGG\\\",ts,Ps),st(\\\"gggg\\\",ts,Ps),st(\\\"GGGGG\\\",Qi,Ji),st(\\\"ggggg\\\",Qi,Ji),Ee([\\\"gggg\\\",\\\"ggggg\\\",\\\"GGGG\\\",\\\"GGGGG\\\"],function(h,y,_,S){y[S.substr(0,2)]=F(h)}),Ee([\\\"gg\\\",\\\"GG\\\"],function(h,y,_,S){y[S]=n.parseTwoDigitYear(h)}),j(\\\"Q\\\",0,\\\"Qo\\\",\\\"quarter\\\"),ut(\\\"quarter\\\",\\\"Q\\\"),P(\\\"quarter\\\",7),st(\\\"Q\\\",C),Gt(\\\"Q\\\",function(h,y){y[Ft]=3*(F(h)-1)}),j(\\\"D\\\",[\\\"DD\\\",2],\\\"Do\\\",\\\"date\\\"),ut(\\\"date\\\",\\\"D\\\"),P(\\\"date\\\",9),st(\\\"D\\\",U),st(\\\"DD\\\",U,ce),st(\\\"Do\\\",function(h,y){return h?y._dayOfMonthOrdinalParse||y._ordinalParse:y._dayOfMonthOrdinalParseLenient}),Gt([\\\"D\\\",\\\"DD\\\"],xt),Gt(\\\"Do\\\",function(h,y){y[xt]=F(h.match(U)[0])}),ts=O(\\\"Date\\\",!0),j(\\\"DDD\\\",[\\\"DDDD\\\",3],\\\"DDDo\\\",\\\"dayOfYear\\\"),ut(\\\"dayOfYear\\\",\\\"DDD\\\"),P(\\\"dayOfYear\\\",4),st(\\\"DDD\\\",Mt),st(\\\"DDDD\\\",ht),Gt([\\\"DDD\\\",\\\"DDDD\\\"],function(h,y,_){_._dayOfYear=F(h)}),j(\\\"m\\\",[\\\"mm\\\",2],0,\\\"minute\\\"),ut(\\\"minute\\\",\\\"m\\\"),P(\\\"minute\\\",14),st(\\\"m\\\",U),st(\\\"mm\\\",U,ce),Gt([\\\"m\\\",\\\"mm\\\"],Lt);var Zi,Ps=O(\\\"Minutes\\\",!1),Qi=(j(\\\"s\\\",[\\\"ss\\\",2],0,\\\"second\\\"),ut(\\\"second\\\",\\\"s\\\"),P(\\\"second\\\",15),st(\\\"s\\\",U),st(\\\"ss\\\",U,ce),Gt([\\\"s\\\",\\\"ss\\\"],bt),O(\\\"Seconds\\\",!1));for(j(\\\"S\\\",0,0,function(){return~~(this.millisecond()/100)}),j(0,[\\\"SS\\\",2],0,function(){return~~(this.millisecond()/10)}),j(0,[\\\"SSS\\\",3],0,\\\"millisecond\\\"),j(0,[\\\"SSSS\\\",4],0,function(){return 10*this.millisecond()}),j(0,[\\\"SSSSS\\\",5],0,function(){return 100*this.millisecond()}),j(0,[\\\"SSSSSS\\\",6],0,function(){return 1e3*this.millisecond()}),j(0,[\\\"SSSSSSS\\\",7],0,function(){return 1e4*this.millisecond()}),j(0,[\\\"SSSSSSSS\\\",8],0,function(){return 1e5*this.millisecond()}),j(0,[\\\"SSSSSSSSS\\\",9],0,function(){return 1e6*this.millisecond()}),ut(\\\"millisecond\\\",\\\"ms\\\"),P(\\\"millisecond\\\",16),st(\\\"S\\\",Mt,C),st(\\\"SS\\\",Mt,ce),st(\\\"SSS\\\",Mt,ht),Zi=\\\"SSSS\\\";Zi.length\u003C=9;Zi+=\\\"S\\\")st(Zi,Tt);function HY(h,y){y[Ut]=F(1e3*(\\\"0.\\\"+h))}for(Zi=\\\"S\\\";Zi.length\u003C=9;Zi+=\\\"S\\\")Gt(Zi,HY);Ji=O(\\\"Milliseconds\\\",!1),j(\\\"z\\\",0,0,\\\"zoneAbbr\\\"),j(\\\"zz\\\",0,0,\\\"zoneName\\\"),C=H.prototype;function xb(h){return h}C.add=ee,C.calendar=function(_,R){arguments.length===1&&(arguments[0]?WY(arguments[0])?(_=arguments[0],R=void 0):function(it){for(var mt=s(it)&&!o(it),Ct=!1,Pt=[\\\"sameDay\\\",\\\"nextDay\\\",\\\"lastDay\\\",\\\"nextWeek\\\",\\\"lastWeek\\\",\\\"sameElse\\\"],It=0;It\u003CPt.length;It+=1)Ct=Ct||a(it,Pt[It]);return mt&&Ct}(arguments[0])&&(R=arguments[0],_=void 0):R=_=void 0);var _=_||Se(),S=Zr(_,this).startOf(\\\"day\\\"),S=n.calendarFormat(this,S)||\\\"sameElse\\\",R=R&&(w(R[S])?R[S].call(this,_):R[S]);return this.format(R||this.localeData().calendar(S,this,Se(_)))},C.clone=function(){return new H(this)},C.diff=function(h,y,_){var S,R,it;if(!this.isValid())return NaN;if(!(S=Zr(h,this)).isValid())return NaN;switch(R=6e4*(S.utcOffset()-this.utcOffset()),y=_t(y)){case\\\"year\\\":it=ju(this,S)/12;break;case\\\"month\\\":it=ju(this,S);break;case\\\"quarter\\\":it=ju(this,S)/3;break;case\\\"second\\\":it=(this-S)/1e3;break;case\\\"minute\\\":it=(this-S)/6e4;break;case\\\"hour\\\":it=(this-S)/36e5;break;case\\\"day\\\":it=(this-S-R)/864e5;break;case\\\"week\\\":it=(this-S-R)/6048e5;break;default:it=this-S}return _?it:X(it)},C.endOf=function(h){var y,_;if((h=_t(h))===void 0||h===\\\"millisecond\\\"||!this.isValid())return this;switch(_=this._isUTC?bb:mb,h){case\\\"year\\\":y=_(this.year()+1,0,1)-1;break;case\\\"quarter\\\":y=_(this.year(),this.month()-this.month()%3+3,1)-1;break;case\\\"month\\\":y=_(this.year(),this.month()+1,1)-1;break;case\\\"week\\\":y=_(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\\\"isoWeek\\\":y=_(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\\\"day\\\":case\\\"date\\\":y=_(this.year(),this.month(),this.date()+1)-1;break;case\\\"hour\\\":y=this._d.valueOf(),y+=36e5-Ya(y+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case\\\"minute\\\":y=this._d.valueOf(),y+=6e4-Ya(y,6e4)-1;break;case\\\"second\\\":y=this._d.valueOf(),y+=1e3-Ya(y,1e3)-1;break}return this._d.setTime(y),n.updateOffset(this,!0),this},C.format=function(h){return h=h||(this.isUtc()?n.defaultFormatUtc:n.defaultFormat),h=ot(this,h),this.localeData().postformat(h)},C.from=function(h,y){return this.isValid()&&(G(h)&&h.isValid()||Se(h).isValid())?In({to:this,from:h}).locale(this.locale()).humanize(!y):this.localeData().invalidDate()},C.fromNow=function(h){return this.from(Se(),h)},C.to=function(h,y){return this.isValid()&&(G(h)&&h.isValid()||Se(h).isValid())?In({from:this,to:h}).locale(this.locale()).humanize(!y):this.localeData().invalidDate()},C.toNow=function(h){return this.to(Se(),h)},C.get=function(h){return w(this[h=_t(h)])?this[h]():this},C.invalidAt=function(){return b(this).overflow},C.isAfter=function(h,y){return h=G(h)?h:Se(h),!(!this.isValid()||!h.isValid())&&((y=_t(y)||\\\"millisecond\\\")===\\\"millisecond\\\"?this.valueOf()>h.valueOf():h.valueOf()\u003Cthis.clone().startOf(y).valueOf())},C.isBefore=function(h,y){return h=G(h)?h:Se(h),!(!this.isValid()||!h.isValid())&&((y=_t(y)||\\\"millisecond\\\")===\\\"millisecond\\\"?this.valueOf()\u003Ch.valueOf():this.clone().endOf(y).valueOf()\u003Ch.valueOf())},C.isBetween=function(h,y,_,S){return h=G(h)?h:Se(h),y=G(y)?y:Se(y),!!(this.isValid()&&h.isValid()&&y.isValid())&&((S=S||\\\"()\\\")[0]===\\\"(\\\"?this.isAfter(h,_):!this.isBefore(h,_))&&(S[1]===\\\")\\\"?this.isBefore(y,_):!this.isAfter(y,_))},C.isSame=function(_,y){var _=G(_)?_:Se(_);return!(!this.isValid()||!_.isValid())&&((y=_t(y)||\\\"millisecond\\\")===\\\"millisecond\\\"?this.valueOf()===_.valueOf():(_=_.valueOf(),this.clone().startOf(y).valueOf()\u003C=_&&_\u003C=this.clone().endOf(y).valueOf()))},C.isSameOrAfter=function(h,y){return this.isSame(h,y)||this.isAfter(h,y)},C.isSameOrBefore=function(h,y){return this.isSame(h,y)||this.isBefore(h,y)},C.isValid=function(){return k(this)},C.lang=$e,C.locale=pb,C.localeData=gb,C.max=et,C.min=Yt,C.parsingFlags=function(){return p({},b(this))},C.set=function(h,y){if(typeof h==\\\"object\\\")for(var _=function(it){var mt,Ct=[];for(mt in it)a(it,mt)&&Ct.push({unit:mt,priority:Ot[mt]});return Ct.sort(function(Pt,It){return Pt.priority-It.priority}),Ct}(h=K(h)),S=_.length,R=0;R\u003CS;R++)this[_[R].unit](h[_[R].unit]);else if(w(this[h=_t(h)]))return this[h](y);return this},C.startOf=function(h){var y,_;if((h=_t(h))===void 0||h===\\\"millisecond\\\"||!this.isValid())return this;switch(_=this._isUTC?bb:mb,h){case\\\"year\\\":y=_(this.year(),0,1);break;case\\\"quarter\\\":y=_(this.year(),this.month()-this.month()%3,1);break;case\\\"month\\\":y=_(this.year(),this.month(),1);break;case\\\"week\\\":y=_(this.year(),this.month(),this.date()-this.weekday());break;case\\\"isoWeek\\\":y=_(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\\\"day\\\":case\\\"date\\\":y=_(this.year(),this.month(),this.date());break;case\\\"hour\\\":y=this._d.valueOf(),y-=Ya(y+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case\\\"minute\\\":y=this._d.valueOf(),y-=Ya(y,6e4);break;case\\\"second\\\":y=this._d.valueOf(),y-=Ya(y,1e3);break}return this._d.setTime(y),n.updateOffset(this,!0),this},C.subtract=Ye,C.toArray=function(){var h=this;return[h.year(),h.month(),h.date(),h.hour(),h.minute(),h.second(),h.millisecond()]},C.toObject=function(){var h=this;return{years:h.year(),months:h.month(),date:h.date(),hours:h.hours(),minutes:h.minutes(),seconds:h.seconds(),milliseconds:h.milliseconds()}},C.toDate=function(){return new Date(this.valueOf())},C.toISOString=function(h){if(!this.isValid())return null;var y=(h=h!==!0)?this.clone().utc():this;return y.year()\u003C0||9999\u003Cy.year()?ot(y,h?\\\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\\\":\\\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\\\"):w(Date.prototype.toISOString)?h?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\\\"Z\\\",ot(y,\\\"Z\\\")):ot(y,h?\\\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\\\":\\\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\\\")},C.inspect=function(){if(!this.isValid())return\\\"moment.invalid(/* \\\"+this._i+\\\" */)\\\";var h,y=\\\"moment\\\",_=\\\"\\\";return this.isLocal()||(y=this.utcOffset()===0?\\\"moment.utc\\\":\\\"moment.parseZone\\\",_=\\\"Z\\\"),y=\\\"[\\\"+y+'(\\\"]',h=0\u003C=this.year()&&this.year()\u003C=9999?\\\"YYYY\\\":\\\"YYYYYY\\\",this.format(y+h+\\\"-MM-DD[T]HH:mm:ss.SSS\\\"+(_+'[\\\")]'))},typeof Symbol\u003C\\\"u\\\"&&Symbol.for!=null&&(C[Symbol.for(\\\"nodejs.util.inspect.custom\\\")]=function(){return\\\"Moment\u003C\\\"+this.format()+\\\">\\\"}),C.toJSON=function(){return this.isValid()?this.toISOString():null},C.toString=function(){return this.clone().locale(\\\"en\\\").format(\\\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\\\")},C.unix=function(){return Math.floor(this.valueOf()/1e3)},C.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},C.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},C.eraName=function(){for(var h,y=this.localeData().eras(),_=0,S=y.length;_\u003CS;++_)if(h=this.clone().startOf(\\\"day\\\").valueOf(),y[_].since\u003C=h&&h\u003C=y[_].until||y[_].until\u003C=h&&h\u003C=y[_].since)return y[_].name;return\\\"\\\"},C.eraNarrow=function(){for(var h,y=this.localeData().eras(),_=0,S=y.length;_\u003CS;++_)if(h=this.clone().startOf(\\\"day\\\").valueOf(),y[_].since\u003C=h&&h\u003C=y[_].until||y[_].until\u003C=h&&h\u003C=y[_].since)return y[_].narrow;return\\\"\\\"},C.eraAbbr=function(){for(var h,y=this.localeData().eras(),_=0,S=y.length;_\u003CS;++_)if(h=this.clone().startOf(\\\"day\\\").valueOf(),y[_].since\u003C=h&&h\u003C=y[_].until||y[_].until\u003C=h&&h\u003C=y[_].since)return y[_].abbr;return\\\"\\\"},C.eraYear=function(){for(var h,y,_=this.localeData().eras(),S=0,R=_.length;S\u003CR;++S)if(h=_[S].since\u003C=_[S].until?1:-1,y=this.clone().startOf(\\\"day\\\").valueOf(),_[S].since\u003C=y&&y\u003C=_[S].until||_[S].until\u003C=y&&y\u003C=_[S].since)return(this.year()-n(_[S].since).year())*h+_[S].offset;return this.year()},C.year=Ku,C.isLeapYear=function(){return z(this.year())},C.weekYear=function(h){return _b.call(this,h,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},C.isoWeekYear=function(h){return _b.call(this,h,this.isoWeek(),this.isoWeekday(),1,4)},C.quarter=C.quarters=function(h){return h==null?Math.ceil((this.month()+1)/3):this.month(3*(h-1)+this.month()%3)},C.month=se,C.daysInMonth=function(){return dt(this.year(),this.month())},C.week=C.weeks=function(h){var y=this.localeData().week(this);return h==null?y:this.add(7*(h-y),\\\"d\\\")},C.isoWeek=C.isoWeeks=function(h){var y=Be(this,1,4).week;return h==null?y:this.add(7*(h-y),\\\"d\\\")},C.weeksInYear=function(){var h=this.localeData()._week;return Re(this.year(),h.dow,h.doy)},C.weeksInWeekYear=function(){var h=this.localeData()._week;return Re(this.weekYear(),h.dow,h.doy)},C.isoWeeksInYear=function(){return Re(this.year(),1,4)},C.isoWeeksInISOWeekYear=function(){return Re(this.isoWeekYear(),1,4)},C.date=ts,C.day=C.days=function(h){if(!this.isValid())return h!=null?this:NaN;var y,_,S=this._isUTC?this._d.getUTCDay():this._d.getDay();return h!=null?(y=h,_=this.localeData(),h=typeof y!=\\\"string\\\"?y:isNaN(y)?typeof(y=_.weekdaysParse(y))==\\\"number\\\"?y:null:parseInt(y,10),this.add(h-S,\\\"d\\\")):S},C.weekday=function(h){if(!this.isValid())return h!=null?this:NaN;var y=(this.day()+7-this.localeData()._week.dow)%7;return h==null?y:this.add(h-y,\\\"d\\\")},C.isoWeekday=function(h){return this.isValid()?h!=null?(y=h,_=this.localeData(),_=typeof y==\\\"string\\\"?_.weekdaysParse(y)%7||7:isNaN(y)?null:y,this.day(this.day()%7?_:_-7)):this.day()||7:h!=null?this:NaN;var y,_},C.dayOfYear=function(h){var y=Math.round((this.clone().startOf(\\\"day\\\")-this.clone().startOf(\\\"year\\\"))/864e5)+1;return h==null?y:this.add(h-y,\\\"d\\\")},C.hour=C.hours=pt,C.minute=C.minutes=Ps,C.second=C.seconds=Qi,C.millisecond=C.milliseconds=Ji,C.utcOffset=function(h,y,_){var S,R=this._offset||0;if(!this.isValid())return h!=null?this:NaN;if(h==null)return this._isUTC?R:Fd(this);if(typeof h==\\\"string\\\"){if((h=Rs(wt,h))===null)return this}else Math.abs(h)\u003C16&&!_&&(h*=60);return!this._isUTC&&y&&(S=Fd(this)),this._offset=h,this._isUTC=!0,S!=null&&this.add(S,\\\"m\\\"),R!==h&&(!y||this._changeInProgress?db(this,In(h-R,\\\"m\\\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this},C.utc=function(h){return this.utcOffset(0,h)},C.local=function(h){return this._isUTC&&(this.utcOffset(0,h),this._isUTC=!1,h&&this.subtract(Fd(this),\\\"m\\\")),this},C.parseZone=function(){var h;return this._tzm!=null?this.utcOffset(this._tzm,!1,!0):typeof this._i==\\\"string\\\"&&((h=Rs(Et,this._i))!=null?this.utcOffset(h):this.utcOffset(0,!0)),this},C.hasAlignedHourOffset=function(h){return!!this.isValid()&&(h=h?Se(h).utcOffset():0,(this.utcOffset()-h)%60==0)},C.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},C.isLocal=function(){return!!this.isValid()&&!this._isUTC},C.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},C.isUtc=cb,C.isUTC=cb,C.zoneAbbr=function(){return this._isUTC?\\\"UTC\\\":\\\"\\\"},C.zoneName=function(){return this._isUTC?\\\"Coordinated Universal Time\\\":\\\"\\\"},C.dates=W(\\\"dates accessor is deprecated. Use date instead.\\\",ts),C.months=W(\\\"months accessor is deprecated. Use month instead\\\",se),C.years=W(\\\"years accessor is deprecated. Use year instead\\\",Ku),C.zone=W(\\\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\\\",function(h,y){return h!=null?(this.utcOffset(h=typeof h!=\\\"string\\\"?-h:h,y),this):-this.utcOffset()}),C.isDSTShifted=W(\\\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\\\",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var h,y={};return V(y,this),(y=qu(y))._a?(h=(y._isUTC?g:Se)(y._a),this._isDSTShifted=this.isValid()&&0\u003Cfunction(_,S,R){for(var it=Math.min(_.length,S.length),mt=Math.abs(_.length-S.length),Ct=0,Pt=0;Pt\u003Cit;Pt++)(R&&_[Pt]!==S[Pt]||!R&&F(_[Pt])!==F(S[Pt]))&&Ct++;return Ct+mt}(y._a,h.toArray())):this._isDSTShifted=!1,this._isDSTShifted}),ce=M.prototype;function Xu(h,y,_,it){var R=oe(),it=g().set(it,y);return R[_](it,h)}function vb(h,y,_){if(u(h)&&(y=h,h=void 0),h=h||\\\"\\\",y!=null)return Xu(h,y,_,\\\"month\\\");for(var S=[],R=0;R\u003C12;R++)S[R]=Xu(h,R,_,\\\"month\\\");return S}function Vd(h,y,_,S){y=(typeof h==\\\"boolean\\\"?u(y)&&(_=y,y=void 0):(y=h,h=!1,u(_=y)&&(_=y,y=void 0)),y||\\\"\\\");var R,it=oe(),mt=h?it._week.dow:0,Ct=[];if(_!=null)return Xu(y,(_+mt)%7,S,\\\"day\\\");for(R=0;R\u003C7;R++)Ct[R]=Xu(y,(R+mt)%7,S,\\\"day\\\");return Ct}ce.calendar=function(h,y,_){return w(h=this._calendar[h]||this._calendar.sameElse)?h.call(y,_):h},ce.longDateFormat=function(h){var y=this._longDateFormat[h],_=this._longDateFormat[h.toUpperCase()];return y||!_?y:(this._longDateFormat[h]=_.match(x).map(function(S){return S===\\\"MMMM\\\"||S===\\\"MM\\\"||S===\\\"DD\\\"||S===\\\"dddd\\\"?S.slice(1):S}).join(\\\"\\\"),this._longDateFormat[h])},ce.invalidDate=function(){return this._invalidDate},ce.ordinal=function(h){return this._ordinal.replace(\\\"%d\\\",h)},ce.preparse=xb,ce.postformat=xb,ce.relativeTime=function(h,y,_,S){var R=this._relativeTime[_];return w(R)?R(h,y,_,S):R.replace(/%d/i,h)},ce.pastFuture=function(h,y){return w(h=this._relativeTime[0\u003Ch?\\\"future\\\":\\\"past\\\"])?h(y):h.replace(/%s/i,y)},ce.set=function(h){var y,_;for(_ in h)a(h,_)&&(w(y=h[_])?this[_]=y:this[\\\"_\\\"+_]=y);this._config=h,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\\\"|\\\"+/\\\\d{1,2}/.source)},ce.eras=function(h,y){for(var _,S=this._eras||oe(\\\"en\\\")._eras,R=0,it=S.length;R\u003Cit;++R){switch(typeof S[R].since){case\\\"string\\\":_=n(S[R].since).startOf(\\\"day\\\"),S[R].since=_.valueOf();break}switch(typeof S[R].until){case\\\"undefined\\\":S[R].until=1/0;break;case\\\"string\\\":_=n(S[R].until).startOf(\\\"day\\\").valueOf(),S[R].until=_.valueOf();break}}return S},ce.erasParse=function(h,y,_){var S,R,it,mt,Ct,Pt=this.eras();for(h=h.toUpperCase(),S=0,R=Pt.length;S\u003CR;++S)if(it=Pt[S].name.toUpperCase(),mt=Pt[S].abbr.toUpperCase(),Ct=Pt[S].narrow.toUpperCase(),_)switch(y){case\\\"N\\\":case\\\"NN\\\":case\\\"NNN\\\":if(mt===h)return Pt[S];break;case\\\"NNNN\\\":if(it===h)return Pt[S];break;case\\\"NNNNN\\\":if(Ct===h)return Pt[S];break}else if(0\u003C=[it,mt,Ct].indexOf(h))return Pt[S]},ce.erasConvertYear=function(h,y){var _=h.since\u003C=h.until?1:-1;return y===void 0?n(h.since).year():n(h.since).year()+(y-h.offset)*_},ce.erasAbbrRegex=function(h){return a(this,\\\"_erasAbbrRegex\\\")||Yd.call(this),h?this._erasAbbrRegex:this._erasRegex},ce.erasNameRegex=function(h){return a(this,\\\"_erasNameRegex\\\")||Yd.call(this),h?this._erasNameRegex:this._erasRegex},ce.erasNarrowRegex=function(h){return a(this,\\\"_erasNarrowRegex\\\")||Yd.call(this),h?this._erasNarrowRegex:this._erasRegex},ce.months=function(h,y){return h?(i(this._months)?this._months:this._months[(this._months.isFormat||be).test(y)?\\\"format\\\":\\\"standalone\\\"])[h.month()]:i(this._months)?this._months:this._months.standalone},ce.monthsShort=function(h,y){return h?(i(this._monthsShort)?this._monthsShort:this._monthsShort[be.test(y)?\\\"format\\\":\\\"standalone\\\"])[h.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},ce.monthsParse=function(h,y,_){var S,R;if(this._monthsParseExact)return function(re,mt,Ct){var Pt,It,ue,re=re.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],Pt=0;Pt\u003C12;++Pt)ue=g([2e3,Pt]),this._shortMonthsParse[Pt]=this.monthsShort(ue,\\\"\\\").toLocaleLowerCase(),this._longMonthsParse[Pt]=this.months(ue,\\\"\\\").toLocaleLowerCase();return Ct?mt===\\\"MMM\\\"?(It=Ht.call(this._shortMonthsParse,re))!==-1?It:null:(It=Ht.call(this._longMonthsParse,re))!==-1?It:null:mt===\\\"MMM\\\"?(It=Ht.call(this._shortMonthsParse,re))!==-1||(It=Ht.call(this._longMonthsParse,re))!==-1?It:null:(It=Ht.call(this._longMonthsParse,re))!==-1||(It=Ht.call(this._shortMonthsParse,re))!==-1?It:null}.call(this,h,y,_);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),S=0;S\u003C12;S++)if(R=g([2e3,S]),_&&!this._longMonthsParse[S]&&(this._longMonthsParse[S]=new RegExp(\\\"^\\\"+this.months(R,\\\"\\\").replace(\\\".\\\",\\\"\\\")+\\\"$\\\",\\\"i\\\"),this._shortMonthsParse[S]=new RegExp(\\\"^\\\"+this.monthsShort(R,\\\"\\\").replace(\\\".\\\",\\\"\\\")+\\\"$\\\",\\\"i\\\")),_||this._monthsParse[S]||(R=\\\"^\\\"+this.months(R,\\\"\\\")+\\\"|^\\\"+this.monthsShort(R,\\\"\\\"),this._monthsParse[S]=new RegExp(R.replace(\\\".\\\",\\\"\\\"),\\\"i\\\")),_&&y===\\\"MMMM\\\"&&this._longMonthsParse[S].test(h)||_&&y===\\\"MMM\\\"&&this._shortMonthsParse[S].test(h)||!_&&this._monthsParse[S].test(h))return S},ce.monthsRegex=function(h){return this._monthsParseExact?(a(this,\\\"_monthsRegex\\\")||ye.call(this),h?this._monthsStrictRegex:this._monthsRegex):(a(this,\\\"_monthsRegex\\\")||(this._monthsRegex=ke),this._monthsStrictRegex&&h?this._monthsStrictRegex:this._monthsRegex)},ce.monthsShortRegex=function(h){return this._monthsParseExact?(a(this,\\\"_monthsRegex\\\")||ye.call(this),h?this._monthsShortStrictRegex:this._monthsShortRegex):(a(this,\\\"_monthsShortRegex\\\")||(this._monthsShortRegex=_e),this._monthsShortStrictRegex&&h?this._monthsShortStrictRegex:this._monthsShortRegex)},ce.week=function(h){return Be(h,this._week.dow,this._week.doy).week},ce.firstDayOfYear=function(){return this._week.doy},ce.firstDayOfWeek=function(){return this._week.dow},ce.weekdays=function(h,y){return y=i(this._weekdays)?this._weekdays:this._weekdays[h&&h!==!0&&this._weekdays.isFormat.test(y)?\\\"format\\\":\\\"standalone\\\"],h===!0?Pe(y,this._week.dow):h?y[h.day()]:y},ce.weekdaysMin=function(h){return h===!0?Pe(this._weekdaysMin,this._week.dow):h?this._weekdaysMin[h.day()]:this._weekdaysMin},ce.weekdaysShort=function(h){return h===!0?Pe(this._weekdaysShort,this._week.dow):h?this._weekdaysShort[h.day()]:this._weekdaysShort},ce.weekdaysParse=function(h,y,_){var S,R;if(this._weekdaysParseExact)return function(re,mt,Ct){var Pt,It,ue,re=re.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],Pt=0;Pt\u003C7;++Pt)ue=g([2e3,1]).day(Pt),this._minWeekdaysParse[Pt]=this.weekdaysMin(ue,\\\"\\\").toLocaleLowerCase(),this._shortWeekdaysParse[Pt]=this.weekdaysShort(ue,\\\"\\\").toLocaleLowerCase(),this._weekdaysParse[Pt]=this.weekdays(ue,\\\"\\\").toLocaleLowerCase();return Ct?mt===\\\"dddd\\\"?(It=Ht.call(this._weekdaysParse,re))!==-1?It:null:mt===\\\"ddd\\\"?(It=Ht.call(this._shortWeekdaysParse,re))!==-1?It:null:(It=Ht.call(this._minWeekdaysParse,re))!==-1?It:null:mt===\\\"dddd\\\"?(It=Ht.call(this._weekdaysParse,re))!==-1||(It=Ht.call(this._shortWeekdaysParse,re))!==-1||(It=Ht.call(this._minWeekdaysParse,re))!==-1?It:null:mt===\\\"ddd\\\"?(It=Ht.call(this._shortWeekdaysParse,re))!==-1||(It=Ht.call(this._weekdaysParse,re))!==-1||(It=Ht.call(this._minWeekdaysParse,re))!==-1?It:null:(It=Ht.call(this._minWeekdaysParse,re))!==-1||(It=Ht.call(this._weekdaysParse,re))!==-1||(It=Ht.call(this._shortWeekdaysParse,re))!==-1?It:null}.call(this,h,y,_);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),S=0;S\u003C7;S++)if(R=g([2e3,1]).day(S),_&&!this._fullWeekdaysParse[S]&&(this._fullWeekdaysParse[S]=new RegExp(\\\"^\\\"+this.weekdays(R,\\\"\\\").replace(\\\".\\\",\\\"\\\\\\\\.?\\\")+\\\"$\\\",\\\"i\\\"),this._shortWeekdaysParse[S]=new RegExp(\\\"^\\\"+this.weekdaysShort(R,\\\"\\\").replace(\\\".\\\",\\\"\\\\\\\\.?\\\")+\\\"$\\\",\\\"i\\\"),this._minWeekdaysParse[S]=new RegExp(\\\"^\\\"+this.weekdaysMin(R,\\\"\\\").replace(\\\".\\\",\\\"\\\\\\\\.?\\\")+\\\"$\\\",\\\"i\\\")),this._weekdaysParse[S]||(R=\\\"^\\\"+this.weekdays(R,\\\"\\\")+\\\"|^\\\"+this.weekdaysShort(R,\\\"\\\")+\\\"|^\\\"+this.weekdaysMin(R,\\\"\\\"),this._weekdaysParse[S]=new RegExp(R.replace(\\\".\\\",\\\"\\\"),\\\"i\\\")),_&&y===\\\"dddd\\\"&&this._fullWeekdaysParse[S].test(h)||_&&y===\\\"ddd\\\"&&this._shortWeekdaysParse[S].test(h)||_&&y===\\\"dd\\\"&&this._minWeekdaysParse[S].test(h)||!_&&this._weekdaysParse[S].test(h))return S},ce.weekdaysRegex=function(h){return this._weekdaysParseExact?(a(this,\\\"_weekdaysRegex\\\")||At.call(this),h?this._weekdaysStrictRegex:this._weekdaysRegex):(a(this,\\\"_weekdaysRegex\\\")||(this._weekdaysRegex=ar),this._weekdaysStrictRegex&&h?this._weekdaysStrictRegex:this._weekdaysRegex)},ce.weekdaysShortRegex=function(h){return this._weekdaysParseExact?(a(this,\\\"_weekdaysRegex\\\")||At.call(this),h?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(a(this,\\\"_weekdaysShortRegex\\\")||(this._weekdaysShortRegex=zt),this._weekdaysShortStrictRegex&&h?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},ce.weekdaysMinRegex=function(h){return this._weekdaysParseExact?(a(this,\\\"_weekdaysRegex\\\")||At.call(this),h?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(a(this,\\\"_weekdaysMinRegex\\\")||(this._weekdaysMinRegex=Z),this._weekdaysMinStrictRegex&&h?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},ce.isPM=function(h){return(h+\\\"\\\").toLowerCase().charAt(0)===\\\"p\\\"},ce.meridiem=function(h,y,_){return 11\u003Ch?_?\\\"pm\\\":\\\"PM\\\":_?\\\"am\\\":\\\"AM\\\"},qt(\\\"en\\\",{eras:[{since:\\\"0001-01-01\\\",until:1/0,offset:1,name:\\\"Anno Domini\\\",narrow:\\\"AD\\\",abbr:\\\"AD\\\"},{since:\\\"0000-12-31\\\",until:-1/0,offset:1,name:\\\"Before Christ\\\",narrow:\\\"BC\\\",abbr:\\\"BC\\\"}],dayOfMonthOrdinalParse:/\\\\d{1,2}(th|st|nd|rd)/,ordinal:function(h){var y=h%10;return h+(F(h%100/10)===1?\\\"th\\\":y==1?\\\"st\\\":y==2?\\\"nd\\\":y==3?\\\"rd\\\":\\\"th\\\")}}),n.lang=W(\\\"moment.lang is deprecated. Use moment.locale instead.\\\",qt),n.langData=W(\\\"moment.langData is deprecated. Use moment.localeData instead.\\\",oe);var Di=Math.abs;function kb(h,y,_,S){return y=In(y,_),h._milliseconds+=S*y._milliseconds,h._days+=S*y._days,h._months+=S*y._months,h._bubble()}function wb(h){return h\u003C0?Math.floor(h):Math.ceil(h)}function Tb(h){return 4800*h/146097}function Ud(h){return 146097*h/4800}function Mi(h){return function(){return this.as(h)}}Mt=Mi(\\\"ms\\\"),ht=Mi(\\\"s\\\"),ee=Mi(\\\"m\\\"),et=Mi(\\\"h\\\"),Yt=Mi(\\\"d\\\"),Ye=Mi(\\\"w\\\"),pt=Mi(\\\"M\\\"),Ps=Mi(\\\"Q\\\"),Qi=Mi(\\\"y\\\");function Ys(h){return function(){return this.isValid()?this._data[h]:NaN}}var Ji=Ys(\\\"milliseconds\\\"),ts=Ys(\\\"seconds\\\"),Ku=Ys(\\\"minutes\\\"),ce=Ys(\\\"hours\\\"),GY=Ys(\\\"days\\\"),qY=Ys(\\\"months\\\"),jY=Ys(\\\"years\\\"),Ni=Math.round,Va={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function $Y(h,y,_,S){var It=In(h).abs(),ue=Ni(It.as(\\\"s\\\")),R=Ni(It.as(\\\"m\\\")),it=Ni(It.as(\\\"h\\\")),mt=Ni(It.as(\\\"d\\\")),Ct=Ni(It.as(\\\"M\\\")),Pt=Ni(It.as(\\\"w\\\")),It=Ni(It.as(\\\"y\\\")),ue=(ue\u003C=_.ss?[\\\"s\\\",ue]:ue\u003C_.s&&[\\\"ss\\\",ue])||R\u003C=1&&[\\\"m\\\"]||R\u003C_.m&&[\\\"mm\\\",R]||it\u003C=1&&[\\\"h\\\"]||it\u003C_.h&&[\\\"hh\\\",it]||mt\u003C=1&&[\\\"d\\\"]||mt\u003C_.d&&[\\\"dd\\\",mt];return(ue=(ue=_.w!=null?ue||Pt\u003C=1&&[\\\"w\\\"]||Pt\u003C_.w&&[\\\"ww\\\",Pt]:ue)||Ct\u003C=1&&[\\\"M\\\"]||Ct\u003C_.M&&[\\\"MM\\\",Ct]||It\u003C=1&&[\\\"y\\\"]||[\\\"yy\\\",It])[2]=y,ue[3]=0\u003C+h,ue[4]=S,function(re,He,lr,On,Wd){return Wd.relativeTime(He||1,!!lr,re,On)}.apply(null,ue)}var zd=Math.abs;function Ua(h){return(0\u003Ch)-(h\u003C0)||+h}function Zu(){if(!this.isValid())return this.localeData().invalidDate();var h,y,_,S,R,it,mt,Ct=zd(this._milliseconds)/1e3,Pt=zd(this._days),It=zd(this._months),ue=this.asSeconds();return ue?(h=X(Ct/60),y=X(h/60),Ct%=60,h%=60,_=X(It/12),It%=12,S=Ct?Ct.toFixed(3).replace(/\\\\.?0+$/,\\\"\\\"):\\\"\\\",R=Ua(this._months)!==Ua(ue)?\\\"-\\\":\\\"\\\",it=Ua(this._days)!==Ua(ue)?\\\"-\\\":\\\"\\\",mt=Ua(this._milliseconds)!==Ua(ue)?\\\"-\\\":\\\"\\\",(ue\u003C0?\\\"-\\\":\\\"\\\")+\\\"P\\\"+(_?R+_+\\\"Y\\\":\\\"\\\")+(It?R+It+\\\"M\\\":\\\"\\\")+(Pt?it+Pt+\\\"D\\\":\\\"\\\")+(y||h||Ct?\\\"T\\\":\\\"\\\")+(y?mt+y+\\\"H\\\":\\\"\\\")+(h?mt+h+\\\"M\\\":\\\"\\\")+(Ct?mt+S+\\\"S\\\":\\\"\\\")):\\\"P0D\\\"}var Ce=Bn.prototype;return Ce.isValid=function(){return this._isValid},Ce.abs=function(){var h=this._data;return this._milliseconds=Di(this._milliseconds),this._days=Di(this._days),this._months=Di(this._months),h.milliseconds=Di(h.milliseconds),h.seconds=Di(h.seconds),h.minutes=Di(h.minutes),h.hours=Di(h.hours),h.months=Di(h.months),h.years=Di(h.years),this},Ce.add=function(h,y){return kb(this,h,y,1)},Ce.subtract=function(h,y){return kb(this,h,y,-1)},Ce.as=function(h){if(!this.isValid())return NaN;var y,_,S=this._milliseconds;if((h=_t(h))===\\\"month\\\"||h===\\\"quarter\\\"||h===\\\"year\\\")switch(y=this._days+S/864e5,_=this._months+Tb(y),h){case\\\"month\\\":return _;case\\\"quarter\\\":return _/3;case\\\"year\\\":return _/12}else switch(y=this._days+Math.round(Ud(this._months)),h){case\\\"week\\\":return y/7+S/6048e5;case\\\"day\\\":return y+S/864e5;case\\\"hour\\\":return 24*y+S/36e5;case\\\"minute\\\":return 1440*y+S/6e4;case\\\"second\\\":return 86400*y+S/1e3;case\\\"millisecond\\\":return Math.floor(864e5*y)+S;default:throw new Error(\\\"Unknown unit \\\"+h)}},Ce.asMilliseconds=Mt,Ce.asSeconds=ht,Ce.asMinutes=ee,Ce.asHours=et,Ce.asDays=Yt,Ce.asWeeks=Ye,Ce.asMonths=pt,Ce.asQuarters=Ps,Ce.asYears=Qi,Ce.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*F(this._months/12):NaN},Ce._bubble=function(){var h=this._milliseconds,y=this._days,_=this._months,S=this._data;return 0\u003C=h&&0\u003C=y&&0\u003C=_||h\u003C=0&&y\u003C=0&&_\u003C=0||(h+=864e5*wb(Ud(_)+y),_=y=0),S.milliseconds=h%1e3,h=X(h/1e3),S.seconds=h%60,h=X(h/60),S.minutes=h%60,h=X(h/60),S.hours=h%24,y+=X(h/24),_+=h=X(Tb(y)),y-=wb(Ud(h)),h=X(_/12),_%=12,S.days=y,S.months=_,S.years=h,this},Ce.clone=function(){return In(this)},Ce.get=function(h){return h=_t(h),this.isValid()?this[h+\\\"s\\\"]():NaN},Ce.milliseconds=Ji,Ce.seconds=ts,Ce.minutes=Ku,Ce.hours=ce,Ce.days=GY,Ce.weeks=function(){return X(this.days()/7)},Ce.months=qY,Ce.years=jY,Ce.humanize=function(h,y){if(!this.isValid())return this.localeData().invalidDate();var _=!1,S=Va;return typeof h==\\\"object\\\"&&(y=h,h=!1),typeof h==\\\"boolean\\\"&&(_=h),typeof y==\\\"object\\\"&&(S=Object.assign({},Va,y),y.s!=null&&y.ss==null&&(S.ss=y.s-1)),h=this.localeData(),y=$Y(this,!_,S,h),_&&(y=h.pastFuture(+this,y)),h.postformat(y)},Ce.toISOString=Zu,Ce.toString=Zu,Ce.toJSON=Zu,Ce.locale=pb,Ce.localeData=gb,Ce.toIsoString=W(\\\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\\\",Zu),Ce.lang=$e,j(\\\"X\\\",0,0,\\\"unix\\\"),j(\\\"x\\\",0,0,\\\"valueOf\\\"),st(\\\"x\\\",gt),st(\\\"X\\\",/[+-]?\\\\d+(\\\\.\\\\d{1,3})?/),Gt(\\\"X\\\",function(h,y,_){_._d=new Date(1e3*parseFloat(h))}),Gt(\\\"x\\\",function(h,y,_){_._d=new Date(F(h))}),n.version=\\\"2.29.4\\\",r=Se,n.fn=C,n.min=function(){return Or(\\\"isBefore\\\",[].slice.call(arguments,0))},n.max=function(){return Or(\\\"isAfter\\\",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=g,n.unix=function(h){return Se(1e3*h)},n.months=function(h,y){return vb(h,y,\\\"months\\\")},n.isDate=d,n.locale=qt,n.invalid=T,n.duration=In,n.isMoment=G,n.weekdays=function(h,y,_){return Vd(h,y,_,\\\"weekdays\\\")},n.parseZone=function(){return Se.apply(null,arguments).parseZone()},n.localeData=oe,n.isDuration=Li,n.monthsShort=function(h,y){return vb(h,y,\\\"monthsShort\\\")},n.weekdaysMin=function(h,y,_){return Vd(h,y,_,\\\"weekdaysMin\\\")},n.defineLocale=te,n.updateLocale=function(h,y){var _,S;return y!=null?(S=We,ve[h]!=null&&ve[h].parentLocale!=null?ve[h].set(v(ve[h]._config,y)):(y=v(S=(_=zr(h))!=null?_._config:S,y),_==null&&(y.abbr=h),(S=new M(y)).parentLocale=ve[h],ve[h]=S),qt(h)):ve[h]!=null&&(ve[h].parentLocale!=null?(ve[h]=ve[h].parentLocale,h===qt()&&qt(h)):ve[h]!=null&&delete ve[h]),ve[h]},n.locales=function(){return m(ve)},n.weekdaysShort=function(h,y,_){return Vd(h,y,_,\\\"weekdaysShort\\\")},n.normalizeUnits=_t,n.relativeTimeRounding=function(h){return h===void 0?Ni:typeof h==\\\"function\\\"&&(Ni=h,!0)},n.relativeTimeThreshold=function(h,y){return Va[h]!==void 0&&(y===void 0?Va[h]:(Va[h]=y,h===\\\"s\\\"&&(Va.ss=y-1),!0))},n.calendarFormat=function(h,y){return(h=h.diff(y,\\\"days\\\",!0))\u003C-6?\\\"sameElse\\\":h\u003C-1?\\\"lastWeek\\\":h\u003C0?\\\"lastDay\\\":h\u003C1?\\\"sameDay\\\":h\u003C2?\\\"nextDay\\\":h\u003C7?\\\"nextWeek\\\":\\\"sameElse\\\"},n.prototype=C,n.HTML5_FMT={DATETIME_LOCAL:\\\"YYYY-MM-DDTHH:mm\\\",DATETIME_LOCAL_SECONDS:\\\"YYYY-MM-DDTHH:mm:ss\\\",DATETIME_LOCAL_MS:\\\"YYYY-MM-DDTHH:mm:ss.SSS\\\",DATE:\\\"YYYY-MM-DD\\\",TIME:\\\"HH:mm\\\",TIME_SECONDS:\\\"HH:mm:ss\\\",TIME_MS:\\\"HH:mm:ss.SSS\\\",WEEK:\\\"GGGG-[W]WW\\\",MONTH:\\\"YYYY-MM\\\"},n})})(Bi);const cn=Bi.exports,Jn={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},B={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},Qu=function(t=\\\"fatal\\\"){let e=Jn.fatal;typeof t==\\\"string\\\"?(t=t.toLowerCase(),t in Jn&&(e=Jn[t])):typeof t==\\\"number\\\"&&(e=t),B.trace=()=>{},B.debug=()=>{},B.info=()=>{},B.warn=()=>{},B.error=()=>{},B.fatal=()=>{},e\u003C=Jn.fatal&&(B.fatal=console.error?console.error.bind(console,Qr(\\\"FATAL\\\"),\\\"color: orange\\\"):console.log.bind(console,\\\"\\\\x1B[35m\\\",Qr(\\\"FATAL\\\"))),e\u003C=Jn.error&&(B.error=console.error?console.error.bind(console,Qr(\\\"ERROR\\\"),\\\"color: orange\\\"):console.log.bind(console,\\\"\\\\x1B[31m\\\",Qr(\\\"ERROR\\\"))),e\u003C=Jn.warn&&(B.warn=console.warn?console.warn.bind(console,Qr(\\\"WARN\\\"),\\\"color: orange\\\"):console.log.bind(console,\\\"\\\\x1B[33m\\\",Qr(\\\"WARN\\\"))),e\u003C=Jn.info&&(B.info=console.info?console.info.bind(console,Qr(\\\"INFO\\\"),\\\"color: lightblue\\\"):console.log.bind(console,\\\"\\\\x1B[34m\\\",Qr(\\\"INFO\\\"))),e\u003C=Jn.debug&&(B.debug=console.debug?console.debug.bind(console,Qr(\\\"DEBUG\\\"),\\\"color: lightgreen\\\"):console.log.bind(console,\\\"\\\\x1B[32m\\\",Qr(\\\"DEBUG\\\"))),e\u003C=Jn.trace&&(B.trace=console.debug?console.debug.bind(console,Qr(\\\"TRACE\\\"),\\\"color: lightgreen\\\"):console.log.bind(console,\\\"\\\\x1B[32m\\\",Qr(\\\"TRACE\\\")))},Qr=t=>`%c${cn().format(\\\"ss.SSS\\\")} : ${t} : `;var Ju={};Object.defineProperty(Ju,\\\"__esModule\\\",{value:!0});var ti=Ju.sanitizeUrl=void 0,Eb=/^([^\\\\w]*)(javascript|data|vbscript)/im,Cb=/&#(\\\\w+)(^\\\\w|;)?/g,Sb=/[\\\\u0000-\\\\u001F\\\\u007F-\\\\u009F\\\\u2000-\\\\u200D\\\\uFEFF]/gim,Ab=/^([^:]+):/gm,Lb=[\\\".\\\",\\\"/\\\"];function Db(t){return Lb.indexOf(t[0])>-1}function Mb(t){return t.replace(Cb,function(e,r){return String.fromCharCode(r)})}function Nb(t){var e=Mb(t||\\\"\\\").replace(Sb,\\\"\\\").trim();if(!e)return\\\"about:blank\\\";if(Db(e))return e;var r=e.match(Ab);if(!r)return e;var n=r[0];return Eb.test(n)?\\\"about:blank\\\":e}ti=Ju.sanitizeUrl=Nb;function ul(t,e){return t==null||e==null?NaN:t\u003Ce?-1:t>e?1:t>=e?0:NaN}function Bb(t,e){return t==null||e==null?NaN:e\u003Ct?-1:e>t?1:e>=t?0:NaN}function th(t){let e,r,n;t.length!==2?(e=ul,r=(o,l)=>ul(t(o),l),n=(o,l)=>t(o)-l):(e=t===ul||t===Bb?t:Ib,r=t,n=t);function i(o,l,u=0,d=o.length){if(u\u003Cd){if(e(l,l)!==0)return d;do{const f=u+d>>>1;r(o[f],l)\u003C0?u=f+1:d=f}while(u\u003Cd)}return u}function s(o,l,u=0,d=o.length){if(u\u003Cd){if(e(l,l)!==0)return d;do{const f=u+d>>>1;r(o[f],l)\u003C=0?u=f+1:d=f}while(u\u003Cd)}return u}function a(o,l,u=0,d=o.length){const f=i(o,l,u,d-1);return f>u&&n(o[f-1],l)>-n(o[f],l)?f-1:f}return{left:i,center:a,right:s}}function Ib(){return 0}function Ob(t){return t===null?NaN:+t}const Rb=th(ul).right;th(Ob).center;const Fb=Rb;class Hd extends Map{constructor(e,r=Vb){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(Gd(this,e))}has(e){return super.has(Gd(this,e))}set(e,r){return super.set(Pb(this,e),r)}delete(e){return super.delete(Yb(this,e))}}function Gd({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function Pb({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Yb({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Vb(t){return t!==null&&typeof t==\\\"object\\\"?t.valueOf():t}var eh=Math.sqrt(50),rh=Math.sqrt(10),nh=Math.sqrt(2);function Ub(t,e,r){var n,i=-1,s,a,o;if(e=+e,t=+t,r=+r,t===e&&r>0)return[t];if((n=e\u003Ct)&&(s=t,t=e,e=s),(o=qd(t,e,r))===0||!isFinite(o))return[];if(o>0){let l=Math.round(t/o),u=Math.round(e/o);for(l*o\u003Ct&&++l,u*o>e&&--u,a=new Array(s=u-l+1);++i\u003Cs;)a[i]=(l+i)*o}else{o=-o;let l=Math.round(t*o),u=Math.round(e*o);for(l/o\u003Ct&&++l,u/o>e&&--u,a=new Array(s=u-l+1);++i\u003Cs;)a[i]=(l+i)/o}return n&&a.reverse(),a}function qd(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),s=n/Math.pow(10,i);return i>=0?(s>=eh?10:s>=rh?5:s>=nh?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(s>=eh?10:s>=rh?5:s>=nh?2:1)}function ih(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),s=n/i;return s>=eh?i*=10:s>=rh?i*=5:s>=nh&&(i*=2),e\u003Ct?-i:i}function zb(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r\u003Cn||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r\u003Ci||r===void 0&&i>=i)&&(r=i)}return r}function Wb(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function Hb(t){return t}var hl=1,sh=2,ah=3,dl=4,jd=1e-6;function Gb(t){return\\\"translate(\\\"+t+\\\",0)\\\"}function qb(t){return\\\"translate(0,\\\"+t+\\\")\\\"}function jb(t){return e=>+t(e)}function $b(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Xb(){return!this.__axis}function $d(t,e){var r=[],n=null,i=null,s=6,a=6,o=3,l=typeof window\u003C\\\"u\\\"&&window.devicePixelRatio>1?0:.5,u=t===hl||t===dl?-1:1,d=t===dl||t===sh?\\\"x\\\":\\\"y\\\",f=t===hl||t===ah?Gb:qb;function p(g){var b=n==null?e.ticks?e.ticks.apply(e,r):e.domain():n,k=i==null?e.tickFormat?e.tickFormat.apply(e,r):Hb:i,T=Math.max(s,0)+o,L=e.range(),E=+L[0]+l,I=+L[L.length-1]+l,V=(e.bandwidth?$b:jb)(e.copy(),l),H=g.selection?g.selection():g,G=H.selectAll(\\\".domain\\\").data([null]),Y=H.selectAll(\\\".tick\\\").data(b,e).order(),W=Y.exit(),N=Y.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"tick\\\"),D=Y.select(\\\"line\\\"),w=Y.select(\\\"text\\\");G=G.merge(G.enter().insert(\\\"path\\\",\\\".tick\\\").attr(\\\"class\\\",\\\"domain\\\").attr(\\\"stroke\\\",\\\"currentColor\\\")),Y=Y.merge(N),D=D.merge(N.append(\\\"line\\\").attr(\\\"stroke\\\",\\\"currentColor\\\").attr(d+\\\"2\\\",u*s)),w=w.merge(N.append(\\\"text\\\").attr(\\\"fill\\\",\\\"currentColor\\\").attr(d,u*T).attr(\\\"dy\\\",t===hl?\\\"0em\\\":t===ah?\\\"0.71em\\\":\\\"0.32em\\\")),g!==H&&(G=G.transition(g),Y=Y.transition(g),D=D.transition(g),w=w.transition(g),W=W.transition(g).attr(\\\"opacity\\\",jd).attr(\\\"transform\\\",function(v){return isFinite(v=V(v))?f(v+l):this.getAttribute(\\\"transform\\\")}),N.attr(\\\"opacity\\\",jd).attr(\\\"transform\\\",function(v){var M=this.parentNode.__axis;return f((M&&isFinite(M=M(v))?M:V(v))+l)})),W.remove(),G.attr(\\\"d\\\",t===dl||t===sh?a?\\\"M\\\"+u*a+\\\",\\\"+E+\\\"H\\\"+l+\\\"V\\\"+I+\\\"H\\\"+u*a:\\\"M\\\"+l+\\\",\\\"+E+\\\"V\\\"+I:a?\\\"M\\\"+E+\\\",\\\"+u*a+\\\"V\\\"+l+\\\"H\\\"+I+\\\"V\\\"+u*a:\\\"M\\\"+E+\\\",\\\"+l+\\\"H\\\"+I),Y.attr(\\\"opacity\\\",1).attr(\\\"transform\\\",function(v){return f(V(v)+l)}),D.attr(d+\\\"2\\\",u*s),w.attr(d,u*T).text(k),H.filter(Xb).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"font-size\\\",10).attr(\\\"font-family\\\",\\\"sans-serif\\\").attr(\\\"text-anchor\\\",t===sh?\\\"start\\\":t===dl?\\\"end\\\":\\\"middle\\\"),H.each(function(){this.__axis=V})}return p.scale=function(g){return arguments.length?(e=g,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(g){return arguments.length?(r=g==null?[]:Array.from(g),p):r.slice()},p.tickValues=function(g){return arguments.length?(n=g==null?null:Array.from(g),p):n&&n.slice()},p.tickFormat=function(g){return arguments.length?(i=g,p):i},p.tickSize=function(g){return arguments.length?(s=a=+g,p):s},p.tickSizeInner=function(g){return arguments.length?(s=+g,p):s},p.tickSizeOuter=function(g){return arguments.length?(a=+g,p):a},p.tickPadding=function(g){return arguments.length?(o=+g,p):o},p.offset=function(g){return arguments.length?(l=+g,p):l},p}function Kb(t){return $d(hl,t)}function Zb(t){return $d(ah,t)}var Qb={value:()=>{}};function Xd(){for(var t=0,e=arguments.length,r={},n;t\u003Ce;++t){if(!(n=arguments[t]+\\\"\\\")||n in r||/[\\\\s.]/.test(n))throw new Error(\\\"illegal type: \\\"+n);r[n]=[]}return new fl(r)}function fl(t){this._=t}function Jb(t,e){return t.trim().split(/^|\\\\s+/).map(function(r){var n=\\\"\\\",i=r.indexOf(\\\".\\\");if(i>=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error(\\\"unknown type: \\\"+r);return{type:r,name:n}})}fl.prototype=Xd.prototype={constructor:fl,on:function(t,e){var r=this._,n=Jb(t+\\\"\\\",r),i,s=-1,a=n.length;if(arguments.length\u003C2){for(;++s\u003Ca;)if((i=(t=n[s]).type)&&(i=t5(r[i],t.name)))return i;return}if(e!=null&&typeof e!=\\\"function\\\")throw new Error(\\\"invalid callback: \\\"+e);for(;++s\u003Ca;)if(i=(t=n[s]).type)r[i]=Kd(r[i],t.name,e);else if(e==null)for(i in r)r[i]=Kd(r[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new fl(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var r=new Array(i),n=0,i,s;n\u003Ci;++n)r[n]=arguments[n+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(s=this._[t],n=0,i=s.length;n\u003Ci;++n)s[n].value.apply(e,r)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,s=n.length;i\u003Cs;++i)n[i].value.apply(e,r)}};function t5(t,e){for(var r=0,n=t.length,i;r\u003Cn;++r)if((i=t[r]).name===e)return i.value}function Kd(t,e,r){for(var n=0,i=t.length;n\u003Ci;++n)if(t[n].name===e){t[n]=Qb,t=t.slice(0,n).concat(t.slice(n+1));break}return r!=null&&t.push({name:e,value:r}),t}var oh=\\\"http://www.w3.org/1999/xhtml\\\";const Zd={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:oh,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};function pl(t){var e=t+=\\\"\\\",r=e.indexOf(\\\":\\\");return r>=0&&(e=t.slice(0,r))!==\\\"xmlns\\\"&&(t=t.slice(r+1)),Zd.hasOwnProperty(e)?{space:Zd[e],local:t}:t}function e5(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===oh&&e.documentElement.namespaceURI===oh?e.createElement(t):e.createElementNS(r,t)}}function r5(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Qd(t){var e=pl(t);return(e.local?r5:e5)(e)}function n5(){}function lh(t){return t==null?n5:function(){return this.querySelector(t)}}function i5(t){typeof t!=\\\"function\\\"&&(t=lh(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i\u003Cr;++i)for(var s=e[i],a=s.length,o=n[i]=new Array(a),l,u,d=0;d\u003Ca;++d)(l=s[d])&&(u=t.call(l,l.__data__,d,s))&&(\\\"__data__\\\"in l&&(u.__data__=l.__data__),o[d]=u);return new Ar(n,this._parents)}function Jd(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function s5(){return[]}function tf(t){return t==null?s5:function(){return this.querySelectorAll(t)}}function a5(t){return function(){return Jd(t.apply(this,arguments))}}function o5(t){typeof t==\\\"function\\\"?t=a5(t):t=tf(t);for(var e=this._groups,r=e.length,n=[],i=[],s=0;s\u003Cr;++s)for(var a=e[s],o=a.length,l,u=0;u\u003Co;++u)(l=a[u])&&(n.push(t.call(l,l.__data__,u,a)),i.push(l));return new Ar(n,i)}function ef(t){return function(){return this.matches(t)}}function rf(t){return function(e){return e.matches(t)}}var l5=Array.prototype.find;function c5(t){return function(){return l5.call(this.children,t)}}function u5(){return this.firstElementChild}function h5(t){return this.select(t==null?u5:c5(typeof t==\\\"function\\\"?t:rf(t)))}var d5=Array.prototype.filter;function f5(){return Array.from(this.children)}function p5(t){return function(){return d5.call(this.children,t)}}function g5(t){return this.selectAll(t==null?f5:p5(typeof t==\\\"function\\\"?t:rf(t)))}function y5(t){typeof t!=\\\"function\\\"&&(t=ef(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i\u003Cr;++i)for(var s=e[i],a=s.length,o=n[i]=[],l,u=0;u\u003Ca;++u)(l=s[u])&&t.call(l,l.__data__,u,s)&&o.push(l);return new Ar(n,this._parents)}function nf(t){return new Array(t.length)}function m5(){return new Ar(this._enter||this._groups.map(nf),this._parents)}function gl(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}gl.prototype={constructor:gl,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function b5(t){return function(){return t}}function _5(t,e,r,n,i,s){for(var a=0,o,l=e.length,u=s.length;a\u003Cu;++a)(o=e[a])?(o.__data__=s[a],n[a]=o):r[a]=new gl(t,s[a]);for(;a\u003Cl;++a)(o=e[a])&&(i[a]=o)}function x5(t,e,r,n,i,s,a){var o,l,u=new Map,d=e.length,f=s.length,p=new Array(d),g;for(o=0;o\u003Cd;++o)(l=e[o])&&(p[o]=g=a.call(l,l.__data__,o,e)+\\\"\\\",u.has(g)?i[o]=l:u.set(g,l));for(o=0;o\u003Cf;++o)g=a.call(t,s[o],o,s)+\\\"\\\",(l=u.get(g))?(n[o]=l,l.__data__=s[o],u.delete(g)):r[o]=new gl(t,s[o]);for(o=0;o\u003Cd;++o)(l=e[o])&&u.get(p[o])===l&&(i[o]=l)}function v5(t){return t.__data__}function k5(t,e){if(!arguments.length)return Array.from(this,v5);var r=e?x5:_5,n=this._parents,i=this._groups;typeof t!=\\\"function\\\"&&(t=b5(t));for(var s=i.length,a=new Array(s),o=new Array(s),l=new Array(s),u=0;u\u003Cs;++u){var d=n[u],f=i[u],p=f.length,g=w5(t.call(d,d&&d.__data__,u,n)),b=g.length,k=o[u]=new Array(b),T=a[u]=new Array(b),L=l[u]=new Array(p);r(d,f,k,T,L,g,e);for(var E=0,I=0,V,H;E\u003Cb;++E)if(V=k[E]){for(E>=I&&(I=E+1);!(H=T[I])&&++I\u003Cb;);V._next=H||null}}return a=new Ar(a,n),a._enter=o,a._exit=l,a}function w5(t){return typeof t==\\\"object\\\"&&\\\"length\\\"in t?t:Array.from(t)}function T5(){return new Ar(this._exit||this._groups.map(nf),this._parents)}function E5(t,e,r){var n=this.enter(),i=this,s=this.exit();return typeof t==\\\"function\\\"?(n=t(n),n&&(n=n.selection())):n=n.append(t+\\\"\\\"),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?s.remove():r(s),n&&i?n.merge(i).order():i}function C5(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,s=n.length,a=Math.min(i,s),o=new Array(i),l=0;l\u003Ca;++l)for(var u=r[l],d=n[l],f=u.length,p=o[l]=new Array(f),g,b=0;b\u003Cf;++b)(g=u[b]||d[b])&&(p[b]=g);for(;l\u003Ci;++l)o[l]=r[l];return new Ar(o,this._parents)}function S5(){for(var t=this._groups,e=-1,r=t.length;++e\u003Cr;)for(var n=t[e],i=n.length-1,s=n[i],a;--i>=0;)(a=n[i])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function A5(t){t||(t=L5);function e(f,p){return f&&p?t(f.__data__,p.__data__):!f-!p}for(var r=this._groups,n=r.length,i=new Array(n),s=0;s\u003Cn;++s){for(var a=r[s],o=a.length,l=i[s]=new Array(o),u,d=0;d\u003Co;++d)(u=a[d])&&(l[d]=u);l.sort(e)}return new Ar(i,this._parents).order()}function L5(t,e){return t\u003Ce?-1:t>e?1:t>=e?0:NaN}function D5(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function M5(){return Array.from(this)}function N5(){for(var t=this._groups,e=0,r=t.length;e\u003Cr;++e)for(var n=t[e],i=0,s=n.length;i\u003Cs;++i){var a=n[i];if(a)return a}return null}function B5(){let t=0;for(const e of this)++t;return t}function I5(){return!this.node()}function O5(t){for(var e=this._groups,r=0,n=e.length;r\u003Cn;++r)for(var i=e[r],s=0,a=i.length,o;s\u003Ca;++s)(o=i[s])&&t.call(o,o.__data__,s,i);return this}function R5(t){return function(){this.removeAttribute(t)}}function F5(t){return function(){this.removeAttributeNS(t.space,t.local)}}function P5(t,e){return function(){this.setAttribute(t,e)}}function Y5(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function V5(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function U5(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function z5(t,e){var r=pl(t);if(arguments.length\u003C2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?F5:R5:typeof e==\\\"function\\\"?r.local?U5:V5:r.local?Y5:P5)(r,e))}function sf(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function W5(t){return function(){this.style.removeProperty(t)}}function H5(t,e,r){return function(){this.style.setProperty(t,e,r)}}function G5(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function q5(t,e,r){return arguments.length>1?this.each((e==null?W5:typeof e==\\\"function\\\"?G5:H5)(t,e,r==null?\\\"\\\":r)):Vs(this.node(),t)}function Vs(t,e){return t.style.getPropertyValue(e)||sf(t).getComputedStyle(t,null).getPropertyValue(e)}function j5(t){return function(){delete this[t]}}function $5(t,e){return function(){this[t]=e}}function X5(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function K5(t,e){return arguments.length>1?this.each((e==null?j5:typeof e==\\\"function\\\"?X5:$5)(t,e)):this.node()[t]}function af(t){return t.trim().split(/^|\\\\s+/)}function ch(t){return t.classList||new of(t)}function of(t){this._node=t,this._names=af(t.getAttribute(\\\"class\\\")||\\\"\\\")}of.prototype={add:function(t){var e=this._names.indexOf(t);e\u003C0&&(this._names.push(t),this._node.setAttribute(\\\"class\\\",this._names.join(\\\" \\\")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute(\\\"class\\\",this._names.join(\\\" \\\")))},contains:function(t){return this._names.indexOf(t)>=0}};function lf(t,e){for(var r=ch(t),n=-1,i=e.length;++n\u003Ci;)r.add(e[n])}function cf(t,e){for(var r=ch(t),n=-1,i=e.length;++n\u003Ci;)r.remove(e[n])}function Z5(t){return function(){lf(this,t)}}function Q5(t){return function(){cf(this,t)}}function J5(t,e){return function(){(e.apply(this,arguments)?lf:cf)(this,t)}}function t_(t,e){var r=af(t+\\\"\\\");if(arguments.length\u003C2){for(var n=ch(this.node()),i=-1,s=r.length;++i\u003Cs;)if(!n.contains(r[i]))return!1;return!0}return this.each((typeof e==\\\"function\\\"?J5:e?Z5:Q5)(r,e))}function e_(){this.textContent=\\\"\\\"}function r_(t){return function(){this.textContent=t}}function n_(t){return function(){var e=t.apply(this,arguments);this.textContent=e==null?\\\"\\\":e}}function i_(t){return arguments.length?this.each(t==null?e_:(typeof t==\\\"function\\\"?n_:r_)(t)):this.node().textContent}function s_(){this.innerHTML=\\\"\\\"}function a_(t){return function(){this.innerHTML=t}}function o_(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e==null?\\\"\\\":e}}function l_(t){return arguments.length?this.each(t==null?s_:(typeof t==\\\"function\\\"?o_:a_)(t)):this.node().innerHTML}function c_(){this.nextSibling&&this.parentNode.appendChild(this)}function u_(){return this.each(c_)}function h_(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function d_(){return this.each(h_)}function f_(t){var e=typeof t==\\\"function\\\"?t:Qd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function p_(){return null}function g_(t,e){var r=typeof t==\\\"function\\\"?t:Qd(t),n=e==null?p_:typeof e==\\\"function\\\"?e:lh(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}function y_(){var t=this.parentNode;t&&t.removeChild(this)}function m_(){return this.each(y_)}function b_(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function __(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function x_(t){return this.select(t?__:b_)}function v_(t){return arguments.length?this.property(\\\"__data__\\\",t):this.node().__data__}function k_(t){return function(e){t.call(this,e,this.__data__)}}function w_(t){return t.trim().split(/^|\\\\s+/).map(function(e){var r=\\\"\\\",n=e.indexOf(\\\".\\\");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function T_(t){return function(){var e=this.__on;if(!!e){for(var r=0,n=-1,i=e.length,s;r\u003Ci;++r)s=e[r],(!t.type||s.type===t.type)&&s.name===t.name?this.removeEventListener(s.type,s.listener,s.options):e[++n]=s;++n?e.length=n:delete this.__on}}}function E_(t,e,r){return function(){var n=this.__on,i,s=k_(e);if(n){for(var a=0,o=n.length;a\u003Co;++a)if((i=n[a]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=s,i.options=r),i.value=e;return}}this.addEventListener(t.type,s,r),i={type:t.type,name:t.name,value:e,listener:s,options:r},n?n.push(i):this.__on=[i]}}function C_(t,e,r){var n=w_(t+\\\"\\\"),i,s=n.length,a;if(arguments.length\u003C2){var o=this.node().__on;if(o){for(var l=0,u=o.length,d;l\u003Cu;++l)for(i=0,d=o[l];i\u003Cs;++i)if((a=n[i]).type===d.type&&a.name===d.name)return d.value}return}for(o=e?E_:T_,i=0;i\u003Cs;++i)this.each(o(n[i],e,r));return this}function uf(t,e,r){var n=sf(t),i=n.CustomEvent;typeof i==\\\"function\\\"?i=new i(e,r):(i=n.document.createEvent(\\\"Event\\\"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function S_(t,e){return function(){return uf(this,t,e)}}function A_(t,e){return function(){return uf(this,t,e.apply(this,arguments))}}function L_(t,e){return this.each((typeof e==\\\"function\\\"?A_:S_)(t,e))}function*D_(){for(var t=this._groups,e=0,r=t.length;e\u003Cr;++e)for(var n=t[e],i=0,s=n.length,a;i\u003Cs;++i)(a=n[i])&&(yield a)}var uh=[null];function Ar(t,e){this._groups=t,this._parents=e}function Wa(){return new Ar([[document.documentElement]],uh)}function M_(){return this}Ar.prototype=Wa.prototype={constructor:Ar,select:i5,selectAll:o5,selectChild:h5,selectChildren:g5,filter:y5,data:k5,enter:m5,exit:T5,join:E5,merge:C5,selection:M_,order:S5,sort:A5,call:D5,nodes:M5,node:N5,size:B5,empty:I5,each:O5,attr:z5,style:q5,property:K5,classed:t_,text:i_,html:l_,raise:u_,lower:d_,append:f_,insert:g_,remove:m_,clone:x_,datum:v_,on:C_,dispatch:L_,[Symbol.iterator]:D_};function St(t){return typeof t==\\\"string\\\"?new Ar([[document.querySelector(t)]],[document.documentElement]):new Ar([[t]],uh)}function hh(t){return typeof t==\\\"string\\\"?new Ar([document.querySelectorAll(t)],[document.documentElement]):new Ar([Jd(t)],uh)}function Ha(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function yl(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function es(){}var Ga=.7,ml=1/Ga,Us=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",qa=\\\"\\\\\\\\s*([+-]?(?:\\\\\\\\d*\\\\\\\\.)?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",Rn=\\\"\\\\\\\\s*([+-]?(?:\\\\\\\\d*\\\\\\\\.)?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",N_=/^#([0-9a-f]{3,8})$/,B_=new RegExp(`^rgb\\\\\\\\(${Us},${Us},${Us}\\\\\\\\)$`),I_=new RegExp(`^rgb\\\\\\\\(${Rn},${Rn},${Rn}\\\\\\\\)$`),O_=new RegExp(`^rgba\\\\\\\\(${Us},${Us},${Us},${qa}\\\\\\\\)$`),R_=new RegExp(`^rgba\\\\\\\\(${Rn},${Rn},${Rn},${qa}\\\\\\\\)$`),F_=new RegExp(`^hsl\\\\\\\\(${qa},${Rn},${Rn}\\\\\\\\)$`),P_=new RegExp(`^hsla\\\\\\\\(${qa},${Rn},${Rn},${qa}\\\\\\\\)$`),hf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Ha(es,rs,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:df,formatHex:df,formatHex8:Y_,formatHsl:V_,formatRgb:ff,toString:ff});function df(){return this.rgb().formatHex()}function Y_(){return this.rgb().formatHex8()}function V_(){return _f(this).formatHsl()}function ff(){return this.rgb().formatRgb()}function rs(t){var e,r;return t=(t+\\\"\\\").trim().toLowerCase(),(e=N_.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?pf(e):r===3?new vr(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)\u003C\u003C4|e&15,1):r===8?bl(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?bl(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)\u003C\u003C4|e&15)/255):null):(e=B_.exec(t))?new vr(e[1],e[2],e[3],1):(e=I_.exec(t))?new vr(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=O_.exec(t))?bl(e[1],e[2],e[3],e[4]):(e=R_.exec(t))?bl(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=F_.exec(t))?bf(e[1],e[2]/100,e[3]/100,1):(e=P_.exec(t))?bf(e[1],e[2]/100,e[3]/100,e[4]):hf.hasOwnProperty(t)?pf(hf[t]):t===\\\"transparent\\\"?new vr(NaN,NaN,NaN,0):null}function pf(t){return new vr(t>>16&255,t>>8&255,t&255,1)}function bl(t,e,r,n){return n\u003C=0&&(t=e=r=NaN),new vr(t,e,r,n)}function gf(t){return t instanceof es||(t=rs(t)),t?(t=t.rgb(),new vr(t.r,t.g,t.b,t.opacity)):new vr}function dh(t,e,r,n){return arguments.length===1?gf(t):new vr(t,e,r,n==null?1:n)}function vr(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Ha(vr,dh,yl(es,{brighter(t){return t=t==null?ml:Math.pow(ml,t),new vr(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ga:Math.pow(Ga,t),new vr(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new vr(ns(this.r),ns(this.g),ns(this.b),_l(this.opacity))},displayable(){return-.5\u003C=this.r&&this.r\u003C255.5&&-.5\u003C=this.g&&this.g\u003C255.5&&-.5\u003C=this.b&&this.b\u003C255.5&&0\u003C=this.opacity&&this.opacity\u003C=1},hex:yf,formatHex:yf,formatHex8:U_,formatRgb:mf,toString:mf}));function yf(){return`#${is(this.r)}${is(this.g)}${is(this.b)}`}function U_(){return`#${is(this.r)}${is(this.g)}${is(this.b)}${is((isNaN(this.opacity)?1:this.opacity)*255)}`}function mf(){const t=_l(this.opacity);return`${t===1?\\\"rgb(\\\":\\\"rgba(\\\"}${ns(this.r)}, ${ns(this.g)}, ${ns(this.b)}${t===1?\\\")\\\":`, ${t})`}`}function _l(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ns(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function is(t){return t=ns(t),(t\u003C16?\\\"0\\\":\\\"\\\")+t.toString(16)}function bf(t,e,r,n){return n\u003C=0?t=e=r=NaN:r\u003C=0||r>=1?t=e=NaN:e\u003C=0&&(t=NaN),new un(t,e,r,n)}function _f(t){if(t instanceof un)return new un(t.h,t.s,t.l,t.opacity);if(t instanceof es||(t=rs(t)),!t)return new un;if(t instanceof un)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),s=Math.max(e,r,n),a=NaN,o=s-i,l=(s+i)/2;return o?(e===s?a=(r-n)/o+(r\u003Cn)*6:r===s?a=(n-e)/o+2:a=(e-r)/o+4,o/=l\u003C.5?s+i:2-s-i,a*=60):o=l>0&&l\u003C1?0:a,new un(a,o,l,t.opacity)}function z_(t,e,r,n){return arguments.length===1?_f(t):new un(t,e,r,n==null?1:n)}function un(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Ha(un,z_,yl(es,{brighter(t){return t=t==null?ml:Math.pow(ml,t),new un(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ga:Math.pow(Ga,t),new un(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h\u003C0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r\u003C.5?r:1-r)*e,i=2*r-n;return new vr(fh(t>=240?t-240:t+120,i,n),fh(t,i,n),fh(t\u003C120?t+240:t-120,i,n),this.opacity)},clamp(){return new un(xf(this.h),xl(this.s),xl(this.l),_l(this.opacity))},displayable(){return(0\u003C=this.s&&this.s\u003C=1||isNaN(this.s))&&0\u003C=this.l&&this.l\u003C=1&&0\u003C=this.opacity&&this.opacity\u003C=1},formatHsl(){const t=_l(this.opacity);return`${t===1?\\\"hsl(\\\":\\\"hsla(\\\"}${xf(this.h)}, ${xl(this.s)*100}%, ${xl(this.l)*100}%${t===1?\\\")\\\":`, ${t})`}`}}));function xf(t){return t=(t||0)%360,t\u003C0?t+360:t}function xl(t){return Math.max(0,Math.min(1,t||0))}function fh(t,e,r){return(t\u003C60?e+(r-e)*t/60:t\u003C180?r:t\u003C240?e+(r-e)*(240-t)/60:e)*255}const W_=Math.PI/180,H_=180/Math.PI,vl=18,vf=.96422,kf=1,wf=.82521,Tf=4/29,zs=6/29,Ef=3*zs*zs,G_=zs*zs*zs;function Cf(t){if(t instanceof Fn)return new Fn(t.l,t.a,t.b,t.opacity);if(t instanceof ei)return Sf(t);t instanceof vr||(t=gf(t));var e=mh(t.r),r=mh(t.g),n=mh(t.b),i=ph((.2225045*e+.7168786*r+.0606169*n)/kf),s,a;return e===r&&r===n?s=a=i:(s=ph((.4360747*e+.3850649*r+.1430804*n)/vf),a=ph((.0139322*e+.0971045*r+.7141733*n)/wf)),new Fn(116*i-16,500*(s-i),200*(i-a),t.opacity)}function q_(t,e,r,n){return arguments.length===1?Cf(t):new Fn(t,e,r,n==null?1:n)}function Fn(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}Ha(Fn,q_,yl(es,{brighter(t){return new Fn(this.l+vl*(t==null?1:t),this.a,this.b,this.opacity)},darker(t){return new Fn(this.l-vl*(t==null?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=vf*gh(e),t=kf*gh(t),r=wf*gh(r),new vr(yh(3.1338561*e-1.6168667*t-.4906146*r),yh(-.9787684*e+1.9161415*t+.033454*r),yh(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function ph(t){return t>G_?Math.pow(t,1/3):t/Ef+Tf}function gh(t){return t>zs?t*t*t:Ef*(t-Tf)}function yh(t){return 255*(t\u003C=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function mh(t){return(t/=255)\u003C=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function j_(t){if(t instanceof ei)return new ei(t.h,t.c,t.l,t.opacity);if(t instanceof Fn||(t=Cf(t)),t.a===0&&t.b===0)return new ei(NaN,0\u003Ct.l&&t.l\u003C100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*H_;return new ei(e\u003C0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function bh(t,e,r,n){return arguments.length===1?j_(t):new ei(t,e,r,n==null?1:n)}function ei(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function Sf(t){if(isNaN(t.h))return new Fn(t.l,0,0,t.opacity);var e=t.h*W_;return new Fn(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Ha(ei,bh,yl(es,{brighter(t){return new ei(this.h,this.c,this.l+vl*(t==null?1:t),this.opacity)},darker(t){return new ei(this.h,this.c,this.l-vl*(t==null?1:t),this.opacity)},rgb(){return Sf(this).rgb()}}));const kl=t=>()=>t;function Af(t,e){return function(r){return t+r*e}}function $_(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function X_(t,e){var r=e-t;return r?Af(t,r>180||r\u003C-180?r-360*Math.round(r/360):r):kl(isNaN(t)?e:t)}function K_(t){return(t=+t)==1?ja:function(e,r){return r-e?$_(e,r,t):kl(isNaN(e)?r:e)}}function ja(t,e){var r=e-t;return r?Af(t,r):kl(isNaN(t)?e:t)}const wl=function t(e){var r=K_(e);function n(i,s){var a=r((i=dh(i)).r,(s=dh(s)).r),o=r(i.g,s.g),l=r(i.b,s.b),u=ja(i.opacity,s.opacity);return function(d){return i.r=a(d),i.g=o(d),i.b=l(d),i.opacity=u(d),i+\\\"\\\"}}return n.gamma=t,n}(1);function Z_(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(s){for(i=0;i\u003Cr;++i)n[i]=t[i]*(1-s)+e[i]*s;return n}}function Q_(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function J_(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),s=new Array(r),a;for(a=0;a\u003Cn;++a)i[a]=vh(t[a],e[a]);for(;a\u003Cr;++a)s[a]=e[a];return function(o){for(a=0;a\u003Cn;++a)s[a]=i[a](o);return s}}function tx(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function hn(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function ex(t,e){var r={},n={},i;(t===null||typeof t!=\\\"object\\\")&&(t={}),(e===null||typeof e!=\\\"object\\\")&&(e={});for(i in e)i in t?r[i]=vh(t[i],e[i]):n[i]=e[i];return function(s){for(i in r)n[i]=r[i](s);return n}}var _h=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,xh=new RegExp(_h.source,\\\"g\\\");function rx(t){return function(){return t}}function nx(t){return function(e){return t(e)+\\\"\\\"}}function Lf(t,e){var r=_h.lastIndex=xh.lastIndex=0,n,i,s,a=-1,o=[],l=[];for(t=t+\\\"\\\",e=e+\\\"\\\";(n=_h.exec(t))&&(i=xh.exec(e));)(s=i.index)>r&&(s=e.slice(r,s),o[a]?o[a]+=s:o[++a]=s),(n=n[0])===(i=i[0])?o[a]?o[a]+=i:o[++a]=i:(o[++a]=null,l.push({i:a,x:hn(n,i)})),r=xh.lastIndex;return r\u003Ce.length&&(s=e.slice(r),o[a]?o[a]+=s:o[++a]=s),o.length\u003C2?l[0]?nx(l[0].x):rx(e):(e=l.length,function(u){for(var d=0,f;d\u003Ce;++d)o[(f=l[d]).i]=f.x(u);return o.join(\\\"\\\")})}function vh(t,e){var r=typeof e,n;return e==null||r===\\\"boolean\\\"?kl(e):(r===\\\"number\\\"?hn:r===\\\"string\\\"?(n=rs(e))?(e=n,wl):Lf:e instanceof rs?wl:e instanceof Date?tx:Q_(e)?Z_:Array.isArray(e)?J_:typeof e.valueOf!=\\\"function\\\"&&typeof e.toString!=\\\"function\\\"||isNaN(e)?ex:hn)(t,e)}function ix(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var Df=180/Math.PI,kh={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Mf(t,e,r,n,i,s){var a,o,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(o=Math.sqrt(r*r+n*n))&&(r/=o,n/=o,l/=o),t*n\u003Ce*r&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:s,rotate:Math.atan2(e,t)*Df,skewX:Math.atan(l)*Df,scaleX:a,scaleY:o}}var Tl;function sx(t){const e=new(typeof DOMMatrix==\\\"function\\\"?DOMMatrix:WebKitCSSMatrix)(t+\\\"\\\");return e.isIdentity?kh:Mf(e.a,e.b,e.c,e.d,e.e,e.f)}function ax(t){return t==null||(Tl||(Tl=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),Tl.setAttribute(\\\"transform\\\",t),!(t=Tl.transform.baseVal.consolidate()))?kh:(t=t.matrix,Mf(t.a,t.b,t.c,t.d,t.e,t.f))}function Nf(t,e,r,n){function i(u){return u.length?u.pop()+\\\" \\\":\\\"\\\"}function s(u,d,f,p,g,b){if(u!==f||d!==p){var k=g.push(\\\"translate(\\\",null,e,null,r);b.push({i:k-4,x:hn(u,f)},{i:k-2,x:hn(d,p)})}else(f||p)&&g.push(\\\"translate(\\\"+f+e+p+r)}function a(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+\\\"rotate(\\\",null,n)-2,x:hn(u,d)})):d&&f.push(i(f)+\\\"rotate(\\\"+d+n)}function o(u,d,f,p){u!==d?p.push({i:f.push(i(f)+\\\"skewX(\\\",null,n)-2,x:hn(u,d)}):d&&f.push(i(f)+\\\"skewX(\\\"+d+n)}function l(u,d,f,p,g,b){if(u!==f||d!==p){var k=g.push(i(g)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");b.push({i:k-4,x:hn(u,f)},{i:k-2,x:hn(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+\\\"scale(\\\"+f+\\\",\\\"+p+\\\")\\\")}return function(u,d){var f=[],p=[];return u=t(u),d=t(d),s(u.translateX,u.translateY,d.translateX,d.translateY,f,p),a(u.rotate,d.rotate,f,p),o(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var b=-1,k=p.length,T;++b\u003Ck;)f[(T=p[b]).i]=T.x(g);return f.join(\\\"\\\")}}}var ox=Nf(sx,\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),lx=Nf(ax,\\\", \\\",\\\")\\\",\\\")\\\");function cx(t){return function(e,r){var n=t((e=bh(e)).h,(r=bh(r)).h),i=ja(e.c,r.c),s=ja(e.l,r.l),a=ja(e.opacity,r.opacity);return function(o){return e.h=n(o),e.c=i(o),e.l=s(o),e.opacity=a(o),e+\\\"\\\"}}}const ux=cx(X_);var Ws=0,$a=0,Xa=0,Bf=1e3,El,Ka,Cl=0,ss=0,Sl=0,Za=typeof performance==\\\"object\\\"&&performance.now?performance:Date,If=typeof window==\\\"object\\\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function wh(){return ss||(If(hx),ss=Za.now()+Sl)}function hx(){ss=0}function Al(){this._call=this._time=this._next=null}Al.prototype=Of.prototype={constructor:Al,restart:function(t,e,r){if(typeof t!=\\\"function\\\")throw new TypeError(\\\"callback is not a function\\\");r=(r==null?wh():+r)+(e==null?0:+e),!this._next&&Ka!==this&&(Ka?Ka._next=this:El=this,Ka=this),this._call=t,this._time=r,Th()},stop:function(){this._call&&(this._call=null,this._time=1/0,Th())}};function Of(t,e,r){var n=new Al;return n.restart(t,e,r),n}function dx(){wh(),++Ws;for(var t=El,e;t;)(e=ss-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ws}function Rf(){ss=(Cl=Za.now())+Sl,Ws=$a=0;try{dx()}finally{Ws=0,px(),ss=0}}function fx(){var t=Za.now(),e=t-Cl;e>Bf&&(Sl-=e,Cl=t)}function px(){for(var t,e=El,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:El=r);Ka=t,Th(n)}function Th(t){if(!Ws){$a&&($a=clearTimeout($a));var e=t-ss;e>24?(t\u003C1/0&&($a=setTimeout(Rf,t-Za.now()-Sl)),Xa&&(Xa=clearInterval(Xa))):(Xa||(Cl=Za.now(),Xa=setInterval(fx,Bf)),Ws=1,If(Rf))}}function Ff(t,e,r){var n=new Al;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var gx=Xd(\\\"start\\\",\\\"end\\\",\\\"cancel\\\",\\\"interrupt\\\"),yx=[],Pf=0,Yf=1,Eh=2,Ll=3,Vf=4,Ch=5,Dl=6;function Ml(t,e,r,n,i,s){var a=t.__transition;if(!a)t.__transition={};else if(r in a)return;mx(t,r,{name:e,index:n,group:i,on:gx,tween:yx,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:Pf})}function Sh(t,e){var r=dn(t,e);if(r.state>Pf)throw new Error(\\\"too late; already scheduled\\\");return r}function Pn(t,e){var r=dn(t,e);if(r.state>Ll)throw new Error(\\\"too late; already running\\\");return r}function dn(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error(\\\"transition not found\\\");return r}function mx(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Of(s,0,r.time);function s(u){r.state=Yf,r.timer.restart(a,r.delay,r.time),r.delay\u003C=u&&a(u-r.delay)}function a(u){var d,f,p,g;if(r.state!==Yf)return l();for(d in n)if(g=n[d],g.name===r.name){if(g.state===Ll)return Ff(a);g.state===Vf?(g.state=Dl,g.timer.stop(),g.on.call(\\\"interrupt\\\",t,t.__data__,g.index,g.group),delete n[d]):+d\u003Ce&&(g.state=Dl,g.timer.stop(),g.on.call(\\\"cancel\\\",t,t.__data__,g.index,g.group),delete n[d])}if(Ff(function(){r.state===Ll&&(r.state=Vf,r.timer.restart(o,r.delay,r.time),o(u))}),r.state=Eh,r.on.call(\\\"start\\\",t,t.__data__,r.index,r.group),r.state===Eh){for(r.state=Ll,i=new Array(p=r.tween.length),d=0,f=-1;d\u003Cp;++d)(g=r.tween[d].value.call(t,t.__data__,r.index,r.group))&&(i[++f]=g);i.length=f+1}}function o(u){for(var d=u\u003Cr.duration?r.ease.call(null,u/r.duration):(r.timer.restart(l),r.state=Ch,1),f=-1,p=i.length;++f\u003Cp;)i[f].call(t,d);r.state===Ch&&(r.on.call(\\\"end\\\",t,t.__data__,r.index,r.group),l())}function l(){r.state=Dl,r.timer.stop(),delete n[e];for(var u in n)return;delete t.__transition}}function bx(t,e){var r=t.__transition,n,i,s=!0,a;if(!!r){e=e==null?null:e+\\\"\\\";for(a in r){if((n=r[a]).name!==e){s=!1;continue}i=n.state>Eh&&n.state\u003CCh,n.state=Dl,n.timer.stop(),n.on.call(i?\\\"interrupt\\\":\\\"cancel\\\",t,t.__data__,n.index,n.group),delete r[a]}s&&delete t.__transition}}function _x(t){return this.each(function(){bx(this,t)})}function xx(t,e){var r,n;return function(){var i=Pn(this,t),s=i.tween;if(s!==r){n=r=s;for(var a=0,o=n.length;a\u003Co;++a)if(n[a].name===e){n=n.slice(),n.splice(a,1);break}}i.tween=n}}function vx(t,e,r){var n,i;if(typeof r!=\\\"function\\\")throw new Error;return function(){var s=Pn(this,t),a=s.tween;if(a!==n){i=(n=a).slice();for(var o={name:e,value:r},l=0,u=i.length;l\u003Cu;++l)if(i[l].name===e){i[l]=o;break}l===u&&i.push(o)}s.tween=i}}function kx(t,e){var r=this._id;if(t+=\\\"\\\",arguments.length\u003C2){for(var n=dn(this.node(),r).tween,i=0,s=n.length,a;i\u003Cs;++i)if((a=n[i]).name===t)return a.value;return null}return this.each((e==null?xx:vx)(r,t,e))}function Ah(t,e,r){var n=t._id;return t.each(function(){var i=Pn(this,n);(i.value||(i.value={}))[e]=r.apply(this,arguments)}),function(i){return dn(i,n).value[e]}}function Uf(t,e){var r;return(typeof e==\\\"number\\\"?hn:e instanceof rs?wl:(r=rs(e))?(e=r,wl):Lf)(t,e)}function wx(t){return function(){this.removeAttribute(t)}}function Tx(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ex(t,e,r){var n,i=r+\\\"\\\",s;return function(){var a=this.getAttribute(t);return a===i?null:a===n?s:s=e(n=a,r)}}function Cx(t,e,r){var n,i=r+\\\"\\\",s;return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===n?s:s=e(n=a,r)}}function Sx(t,e,r){var n,i,s;return function(){var a,o=r(this),l;return o==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=o+\\\"\\\",a===l?null:a===n&&l===i?s:(i=l,s=e(n=a,o)))}}function Ax(t,e,r){var n,i,s;return function(){var a,o=r(this),l;return o==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=o+\\\"\\\",a===l?null:a===n&&l===i?s:(i=l,s=e(n=a,o)))}}function Lx(t,e){var r=pl(t),n=r===\\\"transform\\\"?lx:Uf;return this.attrTween(t,typeof e==\\\"function\\\"?(r.local?Ax:Sx)(r,n,Ah(this,\\\"attr.\\\"+t,e)):e==null?(r.local?Tx:wx)(r):(r.local?Cx:Ex)(r,n,e))}function Dx(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function Mx(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function Nx(t,e){var r,n;function i(){var s=e.apply(this,arguments);return s!==n&&(r=(n=s)&&Mx(t,s)),r}return i._value=e,i}function Bx(t,e){var r,n;function i(){var s=e.apply(this,arguments);return s!==n&&(r=(n=s)&&Dx(t,s)),r}return i._value=e,i}function Ix(t,e){var r=\\\"attr.\\\"+t;if(arguments.length\u003C2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!=\\\"function\\\")throw new Error;var n=pl(t);return this.tween(r,(n.local?Nx:Bx)(n,e))}function Ox(t,e){return function(){Sh(this,t).delay=+e.apply(this,arguments)}}function Rx(t,e){return e=+e,function(){Sh(this,t).delay=e}}function Fx(t){var e=this._id;return arguments.length?this.each((typeof t==\\\"function\\\"?Ox:Rx)(e,t)):dn(this.node(),e).delay}function Px(t,e){return function(){Pn(this,t).duration=+e.apply(this,arguments)}}function Yx(t,e){return e=+e,function(){Pn(this,t).duration=e}}function Vx(t){var e=this._id;return arguments.length?this.each((typeof t==\\\"function\\\"?Px:Yx)(e,t)):dn(this.node(),e).duration}function Ux(t,e){if(typeof e!=\\\"function\\\")throw new Error;return function(){Pn(this,t).ease=e}}function zx(t){var e=this._id;return arguments.length?this.each(Ux(e,t)):dn(this.node(),e).ease}function Wx(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!=\\\"function\\\")throw new Error;Pn(this,t).ease=r}}function Hx(t){if(typeof t!=\\\"function\\\")throw new Error;return this.each(Wx(this._id,t))}function Gx(t){typeof t!=\\\"function\\\"&&(t=ef(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i\u003Cr;++i)for(var s=e[i],a=s.length,o=n[i]=[],l,u=0;u\u003Ca;++u)(l=s[u])&&t.call(l,l.__data__,u,s)&&o.push(l);return new ri(n,this._parents,this._name,this._id)}function qx(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,s=Math.min(n,i),a=new Array(n),o=0;o\u003Cs;++o)for(var l=e[o],u=r[o],d=l.length,f=a[o]=new Array(d),p,g=0;g\u003Cd;++g)(p=l[g]||u[g])&&(f[g]=p);for(;o\u003Cn;++o)a[o]=e[o];return new ri(a,this._parents,this._name,this._id)}function jx(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/).every(function(e){var r=e.indexOf(\\\".\\\");return r>=0&&(e=e.slice(0,r)),!e||e===\\\"start\\\"})}function $x(t,e,r){var n,i,s=jx(e)?Sh:Pn;return function(){var a=s(this,t),o=a.on;o!==n&&(i=(n=o).copy()).on(e,r),a.on=i}}function Xx(t,e){var r=this._id;return arguments.length\u003C2?dn(this.node(),r).on.on(t):this.each($x(r,t,e))}function Kx(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Zx(){return this.on(\\\"end.remove\\\",Kx(this._id))}function Qx(t){var e=this._name,r=this._id;typeof t!=\\\"function\\\"&&(t=lh(t));for(var n=this._groups,i=n.length,s=new Array(i),a=0;a\u003Ci;++a)for(var o=n[a],l=o.length,u=s[a]=new Array(l),d,f,p=0;p\u003Cl;++p)(d=o[p])&&(f=t.call(d,d.__data__,p,o))&&(\\\"__data__\\\"in d&&(f.__data__=d.__data__),u[p]=f,Ml(u[p],e,r,p,u,dn(d,r)));return new ri(s,this._parents,e,r)}function Jx(t){var e=this._name,r=this._id;typeof t!=\\\"function\\\"&&(t=tf(t));for(var n=this._groups,i=n.length,s=[],a=[],o=0;o\u003Ci;++o)for(var l=n[o],u=l.length,d,f=0;f\u003Cu;++f)if(d=l[f]){for(var p=t.call(d,d.__data__,f,l),g,b=dn(d,r),k=0,T=p.length;k\u003CT;++k)(g=p[k])&&Ml(g,e,r,k,p,b);s.push(p),a.push(d)}return new ri(s,a,e,r)}var t6=Wa.prototype.constructor;function e6(){return new t6(this._groups,this._parents)}function r6(t,e){var r,n,i;return function(){var s=Vs(this,t),a=(this.style.removeProperty(t),Vs(this,t));return s===a?null:s===r&&a===n?i:i=e(r=s,n=a)}}function zf(t){return function(){this.style.removeProperty(t)}}function n6(t,e,r){var n,i=r+\\\"\\\",s;return function(){var a=Vs(this,t);return a===i?null:a===n?s:s=e(n=a,r)}}function i6(t,e,r){var n,i,s;return function(){var a=Vs(this,t),o=r(this),l=o+\\\"\\\";return o==null&&(l=o=(this.style.removeProperty(t),Vs(this,t))),a===l?null:a===n&&l===i?s:(i=l,s=e(n=a,o))}}function s6(t,e){var r,n,i,s=\\\"style.\\\"+e,a=\\\"end.\\\"+s,o;return function(){var l=Pn(this,t),u=l.on,d=l.value[s]==null?o||(o=zf(e)):void 0;(u!==r||i!==d)&&(n=(r=u).copy()).on(a,i=d),l.on=n}}function a6(t,e,r){var n=(t+=\\\"\\\")==\\\"transform\\\"?ox:Uf;return e==null?this.styleTween(t,r6(t,n)).on(\\\"end.style.\\\"+t,zf(t)):typeof e==\\\"function\\\"?this.styleTween(t,i6(t,n,Ah(this,\\\"style.\\\"+t,e))).each(s6(this._id,t)):this.styleTween(t,n6(t,n,e),r).on(\\\"end.style.\\\"+t,null)}function o6(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function l6(t,e,r){var n,i;function s(){var a=e.apply(this,arguments);return a!==i&&(n=(i=a)&&o6(t,a,r)),n}return s._value=e,s}function c6(t,e,r){var n=\\\"style.\\\"+(t+=\\\"\\\");if(arguments.length\u003C2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!=\\\"function\\\")throw new Error;return this.tween(n,l6(t,e,r==null?\\\"\\\":r))}function u6(t){return function(){this.textContent=t}}function h6(t){return function(){var e=t(this);this.textContent=e==null?\\\"\\\":e}}function d6(t){return this.tween(\\\"text\\\",typeof t==\\\"function\\\"?h6(Ah(this,\\\"text\\\",t)):u6(t==null?\\\"\\\":t+\\\"\\\"))}function f6(t){return function(e){this.textContent=t.call(this,e)}}function p6(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&f6(i)),e}return n._value=t,n}function g6(t){var e=\\\"text\\\";if(arguments.length\u003C1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!=\\\"function\\\")throw new Error;return this.tween(e,p6(t))}function y6(){for(var t=this._name,e=this._id,r=Wf(),n=this._groups,i=n.length,s=0;s\u003Ci;++s)for(var a=n[s],o=a.length,l,u=0;u\u003Co;++u)if(l=a[u]){var d=dn(l,e);Ml(l,t,r,u,a,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new ri(n,this._parents,t,r)}function m6(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(s,a){var o={value:a},l={value:function(){--i===0&&s()}};r.each(function(){var u=Pn(this,n),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(o),e._.interrupt.push(o),e._.end.push(l)),u.on=e}),i===0&&s()})}var b6=0;function ri(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function Wf(){return++b6}var ni=Wa.prototype;ri.prototype={constructor:ri,select:Qx,selectAll:Jx,selectChild:ni.selectChild,selectChildren:ni.selectChildren,filter:Gx,merge:qx,selection:e6,transition:y6,call:ni.call,nodes:ni.nodes,node:ni.node,size:ni.size,empty:ni.empty,each:ni.each,on:Xx,attr:Lx,attrTween:Ix,style:a6,styleTween:c6,text:d6,textTween:g6,remove:Zx,tween:kx,delay:Fx,duration:Vx,ease:zx,easeVarying:Hx,end:m6,[Symbol.iterator]:ni[Symbol.iterator]};function _6(t){return((t*=2)\u003C=1?t*t*t:(t-=2)*t*t+2)/2}var x6={time:null,delay:0,duration:250,ease:_6};function v6(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function k6(t){var e,r;t instanceof ri?(e=t._id,t=t._name):(e=Wf(),(r=x6).time=wh(),t=t==null?null:t+\\\"\\\");for(var n=this._groups,i=n.length,s=0;s\u003Ci;++s)for(var a=n[s],o=a.length,l,u=0;u\u003Co;++u)(l=a[u])&&Ml(l,t,e,u,a,r||v6(l,e));return new ri(n,this._parents,t,e)}Wa.prototype.interrupt=_x,Wa.prototype.transition=k6;const Lh=Math.PI,Dh=2*Lh,as=1e-6,w6=Dh-as;function Mh(){this._x0=this._y0=this._x1=this._y1=null,this._=\\\"\\\"}function Nh(){return new Mh}Mh.prototype=Nh.prototype={constructor:Mh,moveTo:function(t,e){this._+=\\\"M\\\"+(this._x0=this._x1=+t)+\\\",\\\"+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\\\"Z\\\")},lineTo:function(t,e){this._+=\\\"L\\\"+(this._x1=+t)+\\\",\\\"+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+=\\\"Q\\\"+ +t+\\\",\\\"+ +e+\\\",\\\"+(this._x1=+r)+\\\",\\\"+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,s){this._+=\\\"C\\\"+ +t+\\\",\\\"+ +e+\\\",\\\"+ +r+\\\",\\\"+ +n+\\\",\\\"+(this._x1=+i)+\\\",\\\"+(this._y1=+s)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var s=this._x1,a=this._y1,o=r-t,l=n-e,u=s-t,d=a-e,f=u*u+d*d;if(i\u003C0)throw new Error(\\\"negative radius: \\\"+i);if(this._x1===null)this._+=\\\"M\\\"+(this._x1=t)+\\\",\\\"+(this._y1=e);else if(f>as)if(!(Math.abs(d*o-l*u)>as)||!i)this._+=\\\"L\\\"+(this._x1=t)+\\\",\\\"+(this._y1=e);else{var p=r-s,g=n-a,b=o*o+l*l,k=p*p+g*g,T=Math.sqrt(b),L=Math.sqrt(f),E=i*Math.tan((Lh-Math.acos((b+f-k)/(2*T*L)))/2),I=E/L,V=E/T;Math.abs(I-1)>as&&(this._+=\\\"L\\\"+(t+I*u)+\\\",\\\"+(e+I*d)),this._+=\\\"A\\\"+i+\\\",\\\"+i+\\\",0,0,\\\"+ +(d*p>u*g)+\\\",\\\"+(this._x1=t+V*o)+\\\",\\\"+(this._y1=e+V*l)}},arc:function(t,e,r,n,i,s){t=+t,e=+e,r=+r,s=!!s;var a=r*Math.cos(n),o=r*Math.sin(n),l=t+a,u=e+o,d=1^s,f=s?n-i:i-n;if(r\u003C0)throw new Error(\\\"negative radius: \\\"+r);this._x1===null?this._+=\\\"M\\\"+l+\\\",\\\"+u:(Math.abs(this._x1-l)>as||Math.abs(this._y1-u)>as)&&(this._+=\\\"L\\\"+l+\\\",\\\"+u),r&&(f\u003C0&&(f=f%Dh+Dh),f>w6?this._+=\\\"A\\\"+r+\\\",\\\"+r+\\\",0,1,\\\"+d+\\\",\\\"+(t-a)+\\\",\\\"+(e-o)+\\\"A\\\"+r+\\\",\\\"+r+\\\",0,1,\\\"+d+\\\",\\\"+(this._x1=l)+\\\",\\\"+(this._y1=u):f>as&&(this._+=\\\"A\\\"+r+\\\",\\\"+r+\\\",0,\\\"+ +(f>=Lh)+\\\",\\\"+d+\\\",\\\"+(this._x1=t+r*Math.cos(i))+\\\",\\\"+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+=\\\"M\\\"+(this._x0=this._x1=+t)+\\\",\\\"+(this._y0=this._y1=+e)+\\\"h\\\"+ +r+\\\"v\\\"+ +n+\\\"h\\\"+-r+\\\"Z\\\"},toString:function(){return this._}};function T6(t){if(!t.ok)throw new Error(t.status+\\\" \\\"+t.statusText);return t.text()}function E6(t,e){return fetch(t,e).then(T6)}function C6(t){return(e,r)=>E6(e,r).then(n=>new DOMParser().parseFromString(n,t))}var S6=C6(\\\"image/svg+xml\\\");function A6(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString(\\\"en\\\").replace(/,/g,\\\"\\\"):t.toString(10)}function Nl(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf(\\\"e\\\"))\u003C0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function Hs(t){return t=Nl(Math.abs(t)),t?t[1]:NaN}function L6(t,e){return function(r,n){for(var i=r.length,s=[],a=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),s.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[a=(a+1)%t.length];return s.reverse().join(e)}}function D6(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var M6=/^(?:(.)?([\u003C>=^]))?([+\\\\-( ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.\\\\d+)?(~)?([a-z%])?$/i;function Bl(t){if(!(e=M6.exec(t)))throw new Error(\\\"invalid format: \\\"+t);var e;return new Bh({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Bl.prototype=Bh.prototype;function Bh(t){this.fill=t.fill===void 0?\\\" \\\":t.fill+\\\"\\\",this.align=t.align===void 0?\\\">\\\":t.align+\\\"\\\",this.sign=t.sign===void 0?\\\"-\\\":t.sign+\\\"\\\",this.symbol=t.symbol===void 0?\\\"\\\":t.symbol+\\\"\\\",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?\\\"\\\":t.type+\\\"\\\"}Bh.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\\\"0\\\":\\\"\\\")+(this.width===void 0?\\\"\\\":Math.max(1,this.width|0))+(this.comma?\\\",\\\":\\\"\\\")+(this.precision===void 0?\\\"\\\":\\\".\\\"+Math.max(0,this.precision|0))+(this.trim?\\\"~\\\":\\\"\\\")+this.type};function N6(t){t:for(var e=t.length,r=1,n=-1,i;r\u003Ce;++r)switch(t[r]){case\\\".\\\":n=i=r;break;case\\\"0\\\":n===0&&(n=r),i=r;break;default:if(!+t[r])break t;n>0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var Hf;function B6(t,e){var r=Nl(t,e);if(!r)return t+\\\"\\\";var n=r[0],i=r[1],s=i-(Hf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=n.length;return s===a?n:s>a?n+new Array(s-a+1).join(\\\"0\\\"):s>0?n.slice(0,s)+\\\".\\\"+n.slice(s):\\\"0.\\\"+new Array(1-s).join(\\\"0\\\")+Nl(t,Math.max(0,e+s-1))[0]}function Gf(t,e){var r=Nl(t,e);if(!r)return t+\\\"\\\";var n=r[0],i=r[1];return i\u003C0?\\\"0.\\\"+new Array(-i).join(\\\"0\\\")+n:n.length>i+1?n.slice(0,i+1)+\\\".\\\"+n.slice(i+1):n+new Array(i-n.length+2).join(\\\"0\\\")}const qf={\\\"%\\\":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+\\\"\\\",d:A6,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Gf(t*100,e),r:Gf,s:B6,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function jf(t){return t}var $f=Array.prototype.map,Xf=[\\\"y\\\",\\\"z\\\",\\\"a\\\",\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\xB5\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\",\\\"P\\\",\\\"E\\\",\\\"Z\\\",\\\"Y\\\"];function I6(t){var e=t.grouping===void 0||t.thousands===void 0?jf:L6($f.call(t.grouping,Number),t.thousands+\\\"\\\"),r=t.currency===void 0?\\\"\\\":t.currency[0]+\\\"\\\",n=t.currency===void 0?\\\"\\\":t.currency[1]+\\\"\\\",i=t.decimal===void 0?\\\".\\\":t.decimal+\\\"\\\",s=t.numerals===void 0?jf:D6($f.call(t.numerals,String)),a=t.percent===void 0?\\\"%\\\":t.percent+\\\"\\\",o=t.minus===void 0?\\\"\\\\u2212\\\":t.minus+\\\"\\\",l=t.nan===void 0?\\\"NaN\\\":t.nan+\\\"\\\";function u(f){f=Bl(f);var p=f.fill,g=f.align,b=f.sign,k=f.symbol,T=f.zero,L=f.width,E=f.comma,I=f.precision,V=f.trim,H=f.type;H===\\\"n\\\"?(E=!0,H=\\\"g\\\"):qf[H]||(I===void 0&&(I=12),V=!0,H=\\\"g\\\"),(T||p===\\\"0\\\"&&g===\\\"=\\\")&&(T=!0,p=\\\"0\\\",g=\\\"=\\\");var G=k===\\\"$\\\"?r:k===\\\"#\\\"&&/[boxX]/.test(H)?\\\"0\\\"+H.toLowerCase():\\\"\\\",Y=k===\\\"$\\\"?n:/[%p]/.test(H)?a:\\\"\\\",W=qf[H],N=/[defgprs%]/.test(H);I=I===void 0?6:/[gprs]/.test(H)?Math.max(1,Math.min(21,I)):Math.max(0,Math.min(20,I));function D(w){var v=G,M=Y,m,Q,x;if(H===\\\"c\\\")M=W(w)+M,w=\\\"\\\";else{w=+w;var ct=w\u003C0||1/w\u003C0;if(w=isNaN(w)?l:W(Math.abs(w),I),V&&(w=N6(w)),ct&&+w==0&&b!==\\\"+\\\"&&(ct=!1),v=(ct?b===\\\"(\\\"?b:o:b===\\\"-\\\"||b===\\\"(\\\"?\\\"\\\":b)+v,M=(H===\\\"s\\\"?Xf[8+Hf/3]:\\\"\\\")+M+(ct&&b===\\\"(\\\"?\\\")\\\":\\\"\\\"),N){for(m=-1,Q=w.length;++m\u003CQ;)if(x=w.charCodeAt(m),48>x||x>57){M=(x===46?i+w.slice(m+1):w.slice(m))+M,w=w.slice(0,m);break}}}E&&!T&&(w=e(w,1/0));var Dt=v.length+w.length+M.length,kt=Dt\u003CL?new Array(L-Dt+1).join(p):\\\"\\\";switch(E&&T&&(w=e(kt+w,kt.length?L-M.length:1/0),kt=\\\"\\\"),g){case\\\"\u003C\\\":w=v+w+M+kt;break;case\\\"=\\\":w=v+kt+w+M;break;case\\\"^\\\":w=kt.slice(0,Dt=kt.length>>1)+v+w+M+kt.slice(Dt);break;default:w=kt+v+w+M;break}return s(w)}return D.toString=function(){return f+\\\"\\\"},D}function d(f,p){var g=u((f=Bl(f),f.type=\\\"f\\\",f)),b=Math.max(-8,Math.min(8,Math.floor(Hs(p)/3)))*3,k=Math.pow(10,-b),T=Xf[8+b/3];return function(L){return g(k*L)+T}}return{format:u,formatPrefix:d}}var Il,Kf,Zf;O6({thousands:\\\",\\\",grouping:[3],currency:[\\\"$\\\",\\\"\\\"]});function O6(t){return Il=I6(t),Kf=Il.format,Zf=Il.formatPrefix,Il}function R6(t){return Math.max(0,-Hs(Math.abs(t)))}function F6(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Hs(e)/3)))*3-Hs(Math.abs(t)))}function P6(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Hs(e)-Hs(t))+1}function Ih(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const Qf=Symbol(\\\"implicit\\\");function Jf(){var t=new Hd,e=[],r=[],n=Qf;function i(s){let a=t.get(s);if(a===void 0){if(n!==Qf)return n;t.set(s,a=e.push(s)-1)}return r[a%r.length]}return i.domain=function(s){if(!arguments.length)return e.slice();e=[],t=new Hd;for(const a of s)t.has(a)||t.set(a,e.push(a)-1);return i},i.range=function(s){return arguments.length?(r=Array.from(s),i):r.slice()},i.unknown=function(s){return arguments.length?(n=s,i):n},i.copy=function(){return Jf(e,r).unknown(n)},Ih.apply(i,arguments),i}function Y6(t){return function(){return t}}function V6(t){return+t}var t2=[0,1];function Gs(t){return t}function Oh(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:Y6(isNaN(e)?NaN:.5)}function U6(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function z6(t,e,r){var n=t[0],i=t[1],s=e[0],a=e[1];return i\u003Cn?(n=Oh(i,n),s=r(a,s)):(n=Oh(n,i),s=r(s,a)),function(o){return s(n(o))}}function W6(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),s=new Array(n),a=-1;for(t[n]\u003Ct[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a\u003Cn;)i[a]=Oh(t[a],t[a+1]),s[a]=r(e[a],e[a+1]);return function(o){var l=Fb(t,o,1,n)-1;return s[l](i[l](o))}}function e2(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function H6(){var t=t2,e=t2,r=vh,n,i,s,a=Gs,o,l,u;function d(){var p=Math.min(t.length,e.length);return a!==Gs&&(a=U6(t[0],t[p-1])),o=p>2?W6:z6,l=u=null,f}function f(p){return p==null||isNaN(p=+p)?s:(l||(l=o(t.map(n),e,r)))(n(a(p)))}return f.invert=function(p){return a(i((u||(u=o(e,t.map(n),hn)))(p)))},f.domain=function(p){return arguments.length?(t=Array.from(p,V6),d()):t.slice()},f.range=function(p){return arguments.length?(e=Array.from(p),d()):e.slice()},f.rangeRound=function(p){return e=Array.from(p),r=ix,d()},f.clamp=function(p){return arguments.length?(a=p?!0:Gs,d()):a!==Gs},f.interpolate=function(p){return arguments.length?(r=p,d()):r},f.unknown=function(p){return arguments.length?(s=p,f):s},function(p,g){return n=p,i=g,d()}}function r2(){return H6()(Gs,Gs)}function G6(t,e,r,n){var i=ih(t,e,r),s;switch(n=Bl(n==null?\\\",f\\\":n),n.type){case\\\"s\\\":{var a=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(s=F6(i,a))&&(n.precision=s),Zf(n,a)}case\\\"\\\":case\\\"e\\\":case\\\"g\\\":case\\\"p\\\":case\\\"r\\\":{n.precision==null&&!isNaN(s=P6(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=s-(n.type===\\\"e\\\"));break}case\\\"f\\\":case\\\"%\\\":{n.precision==null&&!isNaN(s=R6(i))&&(n.precision=s-(n.type===\\\"%\\\")*2);break}}return Kf(n)}function q6(t){var e=t.domain;return t.ticks=function(r){var n=e();return Ub(n[0],n[n.length-1],r==null?10:r)},t.tickFormat=function(r,n){var i=e();return G6(i[0],i[i.length-1],r==null?10:r,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,s=n.length-1,a=n[i],o=n[s],l,u,d=10;for(o\u003Ca&&(u=a,a=o,o=u,u=i,i=s,s=u);d-- >0;){if(u=qd(a,o,r),u===l)return n[i]=a,n[s]=o,e(n);if(u>0)a=Math.floor(a/u)*u,o=Math.ceil(o/u)*u;else if(u\u003C0)a=Math.ceil(a*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function n2(){var t=r2();return t.copy=function(){return e2(t,n2())},Ih.apply(t,arguments),q6(t)}function j6(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],s=t[n],a;return s\u003Ci&&(a=r,r=n,n=a,a=i,i=s,s=a),t[r]=e.floor(i),t[n]=e.ceil(s),t}var Rh=new Date,Fh=new Date;function dr(t,e,r,n){function i(s){return t(s=arguments.length===0?new Date:new Date(+s)),s}return i.floor=function(s){return t(s=new Date(+s)),s},i.ceil=function(s){return t(s=new Date(s-1)),e(s,1),t(s),s},i.round=function(s){var a=i(s),o=i.ceil(s);return s-a\u003Co-s?a:o},i.offset=function(s,a){return e(s=new Date(+s),a==null?1:Math.floor(a)),s},i.range=function(s,a,o){var l=[],u;if(s=i.ceil(s),o=o==null?1:Math.floor(o),!(s\u003Ca)||!(o>0))return l;do l.push(u=new Date(+s)),e(s,o),t(s);while(u\u003Cs&&s\u003Ca);return l},i.filter=function(s){return dr(function(a){if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},function(a,o){if(a>=a)if(o\u003C0)for(;++o\u003C=0;)for(;e(a,-1),!s(a););else for(;--o>=0;)for(;e(a,1),!s(a););})},r&&(i.count=function(s,a){return Rh.setTime(+s),Fh.setTime(+a),t(Rh),t(Fh),Math.floor(r(Rh,Fh))},i.every=function(s){return s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(n?function(a){return n(a)%s===0}:function(a){return i.count(0,a)%s===0}):i}),i}var Ol=dr(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});Ol.every=function(t){return t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?dr(function(e){e.setTime(Math.floor(e/t)*t)},function(e,r){e.setTime(+e+r*t)},function(e,r){return(r-e)/t}):Ol};const $6=Ol;Ol.range;const ii=1e3,Jr=ii*60,si=Jr*60,os=si*24,Ph=os*7,i2=os*30,Yh=os*365;var s2=dr(function(t){t.setTime(t-t.getMilliseconds())},function(t,e){t.setTime(+t+e*ii)},function(t,e){return(e-t)/ii},function(t){return t.getUTCSeconds()});const Qa=s2;s2.range;var a2=dr(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*ii)},function(t,e){t.setTime(+t+e*Jr)},function(t,e){return(e-t)/Jr},function(t){return t.getMinutes()});const Rl=a2;a2.range;var o2=dr(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*ii-t.getMinutes()*Jr)},function(t,e){t.setTime(+t+e*si)},function(t,e){return(e-t)/si},function(t){return t.getHours()});const Fl=o2;o2.range;var l2=dr(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Jr)/os,t=>t.getDate()-1);const qs=l2;l2.range;function ls(t){return dr(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(e,r){e.setDate(e.getDate()+r*7)},function(e,r){return(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*Jr)/Ph})}var js=ls(0),Pl=ls(1),X6=ls(2),K6=ls(3),$s=ls(4),Z6=ls(5),Q6=ls(6);js.range,Pl.range,X6.range,K6.range,$s.range,Z6.range,Q6.range;var c2=dr(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12},function(t){return t.getMonth()});const Yl=c2;c2.range;var Vh=dr(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});Vh.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:dr(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,r){e.setFullYear(e.getFullYear()+r*t)})};const cs=Vh;Vh.range;var u2=dr(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Jr)},function(t,e){return(e-t)/Jr},function(t){return t.getUTCMinutes()});const J6=u2;u2.range;var h2=dr(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*si)},function(t,e){return(e-t)/si},function(t){return t.getUTCHours()});const tv=h2;h2.range;var d2=dr(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/os},function(t){return t.getUTCDate()-1});const Uh=d2;d2.range;function us(t){return dr(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(e,r){e.setUTCDate(e.getUTCDate()+r*7)},function(e,r){return(r-e)/Ph})}var zh=us(0),Vl=us(1),ev=us(2),rv=us(3),Xs=us(4),nv=us(5),iv=us(6);zh.range,Vl.range,ev.range,rv.range,Xs.range,nv.range,iv.range;var f2=dr(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12},function(t){return t.getUTCMonth()});const sv=f2;f2.range;var Wh=dr(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Wh.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:dr(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})};const Ks=Wh;Wh.range;function p2(t,e,r,n,i,s){const a=[[Qa,1,ii],[Qa,5,5*ii],[Qa,15,15*ii],[Qa,30,30*ii],[s,1,Jr],[s,5,5*Jr],[s,15,15*Jr],[s,30,30*Jr],[i,1,si],[i,3,3*si],[i,6,6*si],[i,12,12*si],[n,1,os],[n,2,2*os],[r,1,Ph],[e,1,i2],[e,3,3*i2],[t,1,Yh]];function o(u,d,f){const p=d\u003Cu;p&&([u,d]=[d,u]);const g=f&&typeof f.range==\\\"function\\\"?f:l(u,d,f),b=g?g.range(u,+d+1):[];return p?b.reverse():b}function l(u,d,f){const p=Math.abs(d-u)/f,g=th(([,,T])=>T).right(a,p);if(g===a.length)return t.every(ih(u/Yh,d/Yh,f));if(g===0)return $6.every(Math.max(ih(u,d,f),1));const[b,k]=a[p/a[g-1][2]\u003Ca[g][2]/p?g-1:g];return b.every(k)}return[o,l]}p2(Ks,sv,zh,Uh,tv,J6);const[av,ov]=p2(cs,Yl,js,qs,Fl,Rl);function Hh(t){if(0\u003C=t.y&&t.y\u003C100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Gh(t){if(0\u003C=t.y&&t.y\u003C100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ja(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function lv(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,s=t.days,a=t.shortDays,o=t.months,l=t.shortMonths,u=to(i),d=eo(i),f=to(s),p=eo(s),g=to(a),b=eo(a),k=to(o),T=eo(o),L=to(l),E=eo(l),I={a:ct,A:Dt,b:kt,B:j,c:null,d:x2,e:x2,f:Mv,g:Uv,G:Wv,H:Av,I:Lv,j:Dv,L:v2,m:Nv,M:Bv,p:ot,q:rt,Q:S2,s:A2,S:Iv,u:Ov,U:Rv,V:Fv,w:Pv,W:Yv,x:null,X:null,y:Vv,Y:zv,Z:Hv,\\\"%\\\":C2},V={a:nt,A:ut,b:_t,B:K,c:null,d:w2,e:w2,f:$v,g:ik,G:ak,H:Gv,I:qv,j:jv,L:T2,m:Xv,M:Kv,p:Ot,q:P,Q:S2,s:A2,S:Zv,u:Qv,U:Jv,V:tk,w:ek,W:rk,x:null,X:null,y:nk,Y:sk,Z:ok,\\\"%\\\":C2},H={a:D,A:w,b:v,B:M,c:m,d:b2,e:b2,f:Tv,g:m2,G:y2,H:_2,I:_2,j:xv,L:wv,m:_v,M:vv,p:N,q:bv,Q:Cv,s:Sv,S:kv,u:fv,U:pv,V:gv,w:dv,W:yv,x:Q,X:x,y:m2,Y:y2,Z:mv,\\\"%\\\":Ev};I.x=G(r,I),I.X=G(n,I),I.c=G(e,I),V.x=G(r,V),V.X=G(n,V),V.c=G(e,V);function G(z,X){return function(F){var O=[],A=-1,J=0,C=z.length,ht,U,Yt;for(F instanceof Date||(F=new Date(+F));++A\u003CC;)z.charCodeAt(A)===37&&(O.push(z.slice(J,A)),(U=g2[ht=z.charAt(++A)])!=null?ht=z.charAt(++A):U=ht===\\\"e\\\"?\\\" \\\":\\\"0\\\",(Yt=X[ht])&&(ht=Yt(F,U)),O.push(ht),J=A+1);return O.push(z.slice(J,A)),O.join(\\\"\\\")}}function Y(z,X){return function(F){var O=Ja(1900,void 0,1),A=W(O,z,F+=\\\"\\\",0),J,C;if(A!=F.length)return null;if(\\\"Q\\\"in O)return new Date(O.Q);if(\\\"s\\\"in O)return new Date(O.s*1e3+(\\\"L\\\"in O?O.L:0));if(X&&!(\\\"Z\\\"in O)&&(O.Z=0),\\\"p\\\"in O&&(O.H=O.H%12+O.p*12),O.m===void 0&&(O.m=\\\"q\\\"in O?O.q:0),\\\"V\\\"in O){if(O.V\u003C1||O.V>53)return null;\\\"w\\\"in O||(O.w=1),\\\"Z\\\"in O?(J=Gh(Ja(O.y,0,1)),C=J.getUTCDay(),J=C>4||C===0?Vl.ceil(J):Vl(J),J=Uh.offset(J,(O.V-1)*7),O.y=J.getUTCFullYear(),O.m=J.getUTCMonth(),O.d=J.getUTCDate()+(O.w+6)%7):(J=Hh(Ja(O.y,0,1)),C=J.getDay(),J=C>4||C===0?Pl.ceil(J):Pl(J),J=qs.offset(J,(O.V-1)*7),O.y=J.getFullYear(),O.m=J.getMonth(),O.d=J.getDate()+(O.w+6)%7)}else(\\\"W\\\"in O||\\\"U\\\"in O)&&(\\\"w\\\"in O||(O.w=\\\"u\\\"in O?O.u%7:\\\"W\\\"in O?1:0),C=\\\"Z\\\"in O?Gh(Ja(O.y,0,1)).getUTCDay():Hh(Ja(O.y,0,1)).getDay(),O.m=0,O.d=\\\"W\\\"in O?(O.w+6)%7+O.W*7-(C+5)%7:O.w+O.U*7-(C+6)%7);return\\\"Z\\\"in O?(O.H+=O.Z/100|0,O.M+=O.Z%100,Gh(O)):Hh(O)}}function W(z,X,F,O){for(var A=0,J=X.length,C=F.length,ht,U;A\u003CJ;){if(O>=C)return-1;if(ht=X.charCodeAt(A++),ht===37){if(ht=X.charAt(A++),U=H[ht in g2?X.charAt(A++):ht],!U||(O=U(z,F,O))\u003C0)return-1}else if(ht!=F.charCodeAt(O++))return-1}return O}function N(z,X,F){var O=u.exec(X.slice(F));return O?(z.p=d.get(O[0].toLowerCase()),F+O[0].length):-1}function D(z,X,F){var O=g.exec(X.slice(F));return O?(z.w=b.get(O[0].toLowerCase()),F+O[0].length):-1}function w(z,X,F){var O=f.exec(X.slice(F));return O?(z.w=p.get(O[0].toLowerCase()),F+O[0].length):-1}function v(z,X,F){var O=L.exec(X.slice(F));return O?(z.m=E.get(O[0].toLowerCase()),F+O[0].length):-1}function M(z,X,F){var O=k.exec(X.slice(F));return O?(z.m=T.get(O[0].toLowerCase()),F+O[0].length):-1}function m(z,X,F){return W(z,e,X,F)}function Q(z,X,F){return W(z,r,X,F)}function x(z,X,F){return W(z,n,X,F)}function ct(z){return a[z.getDay()]}function Dt(z){return s[z.getDay()]}function kt(z){return l[z.getMonth()]}function j(z){return o[z.getMonth()]}function ot(z){return i[+(z.getHours()>=12)]}function rt(z){return 1+~~(z.getMonth()/3)}function nt(z){return a[z.getUTCDay()]}function ut(z){return s[z.getUTCDay()]}function _t(z){return l[z.getUTCMonth()]}function K(z){return o[z.getUTCMonth()]}function Ot(z){return i[+(z.getUTCHours()>=12)]}function P(z){return 1+~~(z.getUTCMonth()/3)}return{format:function(z){var X=G(z+=\\\"\\\",I);return X.toString=function(){return z},X},parse:function(z){var X=Y(z+=\\\"\\\",!1);return X.toString=function(){return z},X},utcFormat:function(z){var X=G(z+=\\\"\\\",V);return X.toString=function(){return z},X},utcParse:function(z){var X=Y(z+=\\\"\\\",!0);return X.toString=function(){return z},X}}}var g2={\\\"-\\\":\\\"\\\",_:\\\" \\\",0:\\\"0\\\"},fr=/^\\\\s*\\\\d+/,cv=/^%/,uv=/[\\\\\\\\^$*+?|[\\\\]().{}]/g;function Ae(t,e,r){var n=t\u003C0?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",s=i.length;return n+(s\u003Cr?new Array(r-s+1).join(e)+i:i)}function hv(t){return t.replace(uv,\\\"\\\\\\\\$&\\\")}function to(t){return new RegExp(\\\"^(?:\\\"+t.map(hv).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function eo(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function dv(t,e,r){var n=fr.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function fv(t,e,r){var n=fr.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function pv(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function gv(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function yv(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function y2(t,e,r){var n=fr.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function m2(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function mv(t,e,r){var n=/^(Z)|([+-]\\\\d\\\\d)(?::?(\\\\d\\\\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||\\\"00\\\")),r+n[0].length):-1}function bv(t,e,r){var n=fr.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function _v(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function b2(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function xv(t,e,r){var n=fr.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function _2(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function vv(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function kv(t,e,r){var n=fr.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function wv(t,e,r){var n=fr.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Tv(t,e,r){var n=fr.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Ev(t,e,r){var n=cv.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Cv(t,e,r){var n=fr.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Sv(t,e,r){var n=fr.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function x2(t,e){return Ae(t.getDate(),e,2)}function Av(t,e){return Ae(t.getHours(),e,2)}function Lv(t,e){return Ae(t.getHours()%12||12,e,2)}function Dv(t,e){return Ae(1+qs.count(cs(t),t),e,3)}function v2(t,e){return Ae(t.getMilliseconds(),e,3)}function Mv(t,e){return v2(t,e)+\\\"000\\\"}function Nv(t,e){return Ae(t.getMonth()+1,e,2)}function Bv(t,e){return Ae(t.getMinutes(),e,2)}function Iv(t,e){return Ae(t.getSeconds(),e,2)}function Ov(t){var e=t.getDay();return e===0?7:e}function Rv(t,e){return Ae(js.count(cs(t)-1,t),e,2)}function k2(t){var e=t.getDay();return e>=4||e===0?$s(t):$s.ceil(t)}function Fv(t,e){return t=k2(t),Ae($s.count(cs(t),t)+(cs(t).getDay()===4),e,2)}function Pv(t){return t.getDay()}function Yv(t,e){return Ae(Pl.count(cs(t)-1,t),e,2)}function Vv(t,e){return Ae(t.getFullYear()%100,e,2)}function Uv(t,e){return t=k2(t),Ae(t.getFullYear()%100,e,2)}function zv(t,e){return Ae(t.getFullYear()%1e4,e,4)}function Wv(t,e){var r=t.getDay();return t=r>=4||r===0?$s(t):$s.ceil(t),Ae(t.getFullYear()%1e4,e,4)}function Hv(t){var e=t.getTimezoneOffset();return(e>0?\\\"-\\\":(e*=-1,\\\"+\\\"))+Ae(e/60|0,\\\"0\\\",2)+Ae(e%60,\\\"0\\\",2)}function w2(t,e){return Ae(t.getUTCDate(),e,2)}function Gv(t,e){return Ae(t.getUTCHours(),e,2)}function qv(t,e){return Ae(t.getUTCHours()%12||12,e,2)}function jv(t,e){return Ae(1+Uh.count(Ks(t),t),e,3)}function T2(t,e){return Ae(t.getUTCMilliseconds(),e,3)}function $v(t,e){return T2(t,e)+\\\"000\\\"}function Xv(t,e){return Ae(t.getUTCMonth()+1,e,2)}function Kv(t,e){return Ae(t.getUTCMinutes(),e,2)}function Zv(t,e){return Ae(t.getUTCSeconds(),e,2)}function Qv(t){var e=t.getUTCDay();return e===0?7:e}function Jv(t,e){return Ae(zh.count(Ks(t)-1,t),e,2)}function E2(t){var e=t.getUTCDay();return e>=4||e===0?Xs(t):Xs.ceil(t)}function tk(t,e){return t=E2(t),Ae(Xs.count(Ks(t),t)+(Ks(t).getUTCDay()===4),e,2)}function ek(t){return t.getUTCDay()}function rk(t,e){return Ae(Vl.count(Ks(t)-1,t),e,2)}function nk(t,e){return Ae(t.getUTCFullYear()%100,e,2)}function ik(t,e){return t=E2(t),Ae(t.getUTCFullYear()%100,e,2)}function sk(t,e){return Ae(t.getUTCFullYear()%1e4,e,4)}function ak(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Xs(t):Xs.ceil(t),Ae(t.getUTCFullYear()%1e4,e,4)}function ok(){return\\\"+0000\\\"}function C2(){return\\\"%\\\"}function S2(t){return+t}function A2(t){return Math.floor(+t/1e3)}var Zs,Ul;lk({dateTime:\\\"%x, %X\\\",date:\\\"%-m/%-d/%Y\\\",time:\\\"%-I:%M:%S %p\\\",periods:[\\\"AM\\\",\\\"PM\\\"],days:[\\\"Sunday\\\",\\\"Monday\\\",\\\"Tuesday\\\",\\\"Wednesday\\\",\\\"Thursday\\\",\\\"Friday\\\",\\\"Saturday\\\"],shortDays:[\\\"Sun\\\",\\\"Mon\\\",\\\"Tue\\\",\\\"Wed\\\",\\\"Thu\\\",\\\"Fri\\\",\\\"Sat\\\"],months:[\\\"January\\\",\\\"February\\\",\\\"March\\\",\\\"April\\\",\\\"May\\\",\\\"June\\\",\\\"July\\\",\\\"August\\\",\\\"September\\\",\\\"October\\\",\\\"November\\\",\\\"December\\\"],shortMonths:[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"]});function lk(t){return Zs=lv(t),Ul=Zs.format,Zs.parse,Zs.utcFormat,Zs.utcParse,Zs}function ck(t){return new Date(t)}function uk(t){return t instanceof Date?+t:+new Date(+t)}function L2(t,e,r,n,i,s,a,o,l,u){var d=r2(),f=d.invert,p=d.domain,g=u(\\\".%L\\\"),b=u(\\\":%S\\\"),k=u(\\\"%I:%M\\\"),T=u(\\\"%I %p\\\"),L=u(\\\"%a %d\\\"),E=u(\\\"%b %d\\\"),I=u(\\\"%B\\\"),V=u(\\\"%Y\\\");function H(G){return(l(G)\u003CG?g:o(G)\u003CG?b:a(G)\u003CG?k:s(G)\u003CG?T:n(G)\u003CG?i(G)\u003CG?L:E:r(G)\u003CG?I:V)(G)}return d.invert=function(G){return new Date(f(G))},d.domain=function(G){return arguments.length?p(Array.from(G,uk)):p().map(ck)},d.ticks=function(G){var Y=p();return t(Y[0],Y[Y.length-1],G==null?10:G)},d.tickFormat=function(G,Y){return Y==null?H:u(Y)},d.nice=function(G){var Y=p();return(!G||typeof G.range!=\\\"function\\\")&&(G=e(Y[0],Y[Y.length-1],G==null?10:G)),G?p(j6(Y,G)):d},d.copy=function(){return e2(d,L2(t,e,r,n,i,s,a,o,l,u))},d}function hk(){return Ih.apply(L2(av,ov,cs,Yl,js,qs,Fl,Rl,Qa,Ul).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Xe(t){return function(){return t}}const D2=Math.abs,kr=Math.atan2,hs=Math.cos,dk=Math.max,qh=Math.min,Yn=Math.sin,Qs=Math.sqrt,Rr=1e-12,ro=Math.PI,zl=ro/2,Wl=2*ro;function fk(t){return t>1?0:t\u003C-1?ro:Math.acos(t)}function M2(t){return t>=1?zl:t\u003C=-1?-zl:Math.asin(t)}function pk(t){return t.innerRadius}function gk(t){return t.outerRadius}function yk(t){return t.startAngle}function mk(t){return t.endAngle}function bk(t){return t&&t.padAngle}function _k(t,e,r,n,i,s,a,o){var l=r-t,u=n-e,d=a-i,f=o-s,p=f*l-d*u;if(!(p*p\u003CRr))return p=(d*(e-s)-f*(t-i))/p,[t+p*l,e+p*u]}function Hl(t,e,r,n,i,s,a){var o=t-r,l=e-n,u=(a?s:-s)/Qs(o*o+l*l),d=u*l,f=-u*o,p=t+d,g=e+f,b=r+d,k=n+f,T=(p+b)/2,L=(g+k)/2,E=b-p,I=k-g,V=E*E+I*I,H=i-s,G=p*k-b*g,Y=(I\u003C0?-1:1)*Qs(dk(0,H*H*V-G*G)),W=(G*I-E*Y)/V,N=(-G*E-I*Y)/V,D=(G*I+E*Y)/V,w=(-G*E+I*Y)/V,v=W-T,M=N-L,m=D-T,Q=w-L;return v*v+M*M>m*m+Q*Q&&(W=D,N=w),{cx:W,cy:N,x01:-d,y01:-f,x11:W*(i/H-1),y11:N*(i/H-1)}}function jh(){var t=pk,e=gk,r=Xe(0),n=null,i=yk,s=mk,a=bk,o=null;function l(){var u,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),g=i.apply(this,arguments)-zl,b=s.apply(this,arguments)-zl,k=D2(b-g),T=b>g;if(o||(o=u=Nh()),p\u003Cf&&(d=p,p=f,f=d),!(p>Rr))o.moveTo(0,0);else if(k>Wl-Rr)o.moveTo(p*hs(g),p*Yn(g)),o.arc(0,0,p,g,b,!T),f>Rr&&(o.moveTo(f*hs(b),f*Yn(b)),o.arc(0,0,f,b,g,T));else{var L=g,E=b,I=g,V=b,H=k,G=k,Y=a.apply(this,arguments)/2,W=Y>Rr&&(n?+n.apply(this,arguments):Qs(f*f+p*p)),N=qh(D2(p-f)/2,+r.apply(this,arguments)),D=N,w=N,v,M;if(W>Rr){var m=M2(W/f*Yn(Y)),Q=M2(W/p*Yn(Y));(H-=m*2)>Rr?(m*=T?1:-1,I+=m,V-=m):(H=0,I=V=(g+b)/2),(G-=Q*2)>Rr?(Q*=T?1:-1,L+=Q,E-=Q):(G=0,L=E=(g+b)/2)}var x=p*hs(L),ct=p*Yn(L),Dt=f*hs(V),kt=f*Yn(V);if(N>Rr){var j=p*hs(E),ot=p*Yn(E),rt=f*hs(I),nt=f*Yn(I),ut;if(k\u003Cro&&(ut=_k(x,ct,rt,nt,j,ot,Dt,kt))){var _t=x-ut[0],K=ct-ut[1],Ot=j-ut[0],P=ot-ut[1],z=1/Yn(fk((_t*Ot+K*P)/(Qs(_t*_t+K*K)*Qs(Ot*Ot+P*P)))/2),X=Qs(ut[0]*ut[0]+ut[1]*ut[1]);D=qh(N,(f-X)/(z-1)),w=qh(N,(p-X)/(z+1))}}G>Rr?w>Rr?(v=Hl(rt,nt,x,ct,p,w,T),M=Hl(j,ot,Dt,kt,p,w,T),o.moveTo(v.cx+v.x01,v.cy+v.y01),w\u003CN?o.arc(v.cx,v.cy,w,kr(v.y01,v.x01),kr(M.y01,M.x01),!T):(o.arc(v.cx,v.cy,w,kr(v.y01,v.x01),kr(v.y11,v.x11),!T),o.arc(0,0,p,kr(v.cy+v.y11,v.cx+v.x11),kr(M.cy+M.y11,M.cx+M.x11),!T),o.arc(M.cx,M.cy,w,kr(M.y11,M.x11),kr(M.y01,M.x01),!T))):(o.moveTo(x,ct),o.arc(0,0,p,L,E,!T)):o.moveTo(x,ct),!(f>Rr)||!(H>Rr)?o.lineTo(Dt,kt):D>Rr?(v=Hl(Dt,kt,j,ot,f,-D,T),M=Hl(x,ct,rt,nt,f,-D,T),o.lineTo(v.cx+v.x01,v.cy+v.y01),D\u003CN?o.arc(v.cx,v.cy,D,kr(v.y01,v.x01),kr(M.y01,M.x01),!T):(o.arc(v.cx,v.cy,D,kr(v.y01,v.x01),kr(v.y11,v.x11),!T),o.arc(0,0,f,kr(v.cy+v.y11,v.cx+v.x11),kr(M.cy+M.y11,M.cx+M.x11),T),o.arc(M.cx,M.cy,D,kr(M.y11,M.x11),kr(M.y01,M.x01),!T))):o.arc(0,0,f,V,I,T)}if(o.closePath(),u)return o=null,u+\\\"\\\"||null}return l.centroid=function(){var u=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,d=(+i.apply(this,arguments)+ +s.apply(this,arguments))/2-ro/2;return[hs(d)*u,Yn(d)*u]},l.innerRadius=function(u){return arguments.length?(t=typeof u==\\\"function\\\"?u:Xe(+u),l):t},l.outerRadius=function(u){return arguments.length?(e=typeof u==\\\"function\\\"?u:Xe(+u),l):e},l.cornerRadius=function(u){return arguments.length?(r=typeof u==\\\"function\\\"?u:Xe(+u),l):r},l.padRadius=function(u){return arguments.length?(n=u==null?null:typeof u==\\\"function\\\"?u:Xe(+u),l):n},l.startAngle=function(u){return arguments.length?(i=typeof u==\\\"function\\\"?u:Xe(+u),l):i},l.endAngle=function(u){return arguments.length?(s=typeof u==\\\"function\\\"?u:Xe(+u),l):s},l.padAngle=function(u){return arguments.length?(a=typeof u==\\\"function\\\"?u:Xe(+u),l):a},l.context=function(u){return arguments.length?(o=u==null?null:u,l):o},l}function N2(t){return typeof t==\\\"object\\\"&&\\\"length\\\"in t?t:Array.from(t)}function B2(t){this._context=t}B2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Hr(t){return new B2(t)}function xk(t){return t[0]}function vk(t){return t[1]}function Js(t,e){var r=Xe(!0),n=null,i=Hr,s=null;t=typeof t==\\\"function\\\"?t:t===void 0?xk:Xe(t),e=typeof e==\\\"function\\\"?e:e===void 0?vk:Xe(e);function a(o){var l,u=(o=N2(o)).length,d,f=!1,p;for(n==null&&(s=i(p=Nh())),l=0;l\u003C=u;++l)!(l\u003Cu&&r(d=o[l],l,o))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(d,l,o),+e(d,l,o));if(p)return s=null,p+\\\"\\\"||null}return a.x=function(o){return arguments.length?(t=typeof o==\\\"function\\\"?o:Xe(+o),a):t},a.y=function(o){return arguments.length?(e=typeof o==\\\"function\\\"?o:Xe(+o),a):e},a.defined=function(o){return arguments.length?(r=typeof o==\\\"function\\\"?o:Xe(!!o),a):r},a.curve=function(o){return arguments.length?(i=o,n!=null&&(s=i(n)),a):i},a.context=function(o){return arguments.length?(o==null?n=s=null:s=i(n=o),a):n},a}function kk(t,e){return e\u003Ct?-1:e>t?1:e>=t?0:NaN}function wk(t){return t}function Tk(){var t=wk,e=kk,r=null,n=Xe(0),i=Xe(Wl),s=Xe(0);function a(o){var l,u=(o=N2(o)).length,d,f,p=0,g=new Array(u),b=new Array(u),k=+n.apply(this,arguments),T=Math.min(Wl,Math.max(-Wl,i.apply(this,arguments)-k)),L,E=Math.min(Math.abs(T)/u,s.apply(this,arguments)),I=E*(T\u003C0?-1:1),V;for(l=0;l\u003Cu;++l)(V=b[g[l]=l]=+t(o[l],l,o))>0&&(p+=V);for(e!=null?g.sort(function(H,G){return e(b[H],b[G])}):r!=null&&g.sort(function(H,G){return r(o[H],o[G])}),l=0,f=p?(T-u*I)/p:0;l\u003Cu;++l,k=L)d=g[l],V=b[d],L=k+(V>0?V*f:0)+I,b[d]={data:o[d],index:l,value:V,startAngle:k,endAngle:L,padAngle:E};return b}return a.value=function(o){return arguments.length?(t=typeof o==\\\"function\\\"?o:Xe(+o),a):t},a.sortValues=function(o){return arguments.length?(e=o,r=null,a):e},a.sort=function(o){return arguments.length?(r=o,e=null,a):r},a.startAngle=function(o){return arguments.length?(n=typeof o==\\\"function\\\"?o:Xe(+o),a):n},a.endAngle=function(o){return arguments.length?(i=typeof o==\\\"function\\\"?o:Xe(+o),a):i},a.padAngle=function(o){return arguments.length?(s=typeof o==\\\"function\\\"?o:Xe(+o),a):s},a}function Gl(){}function ql(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function I2(t){this._context=t}I2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ql(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ql(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function ta(t){return new I2(t)}function O2(t){this._context=t}O2.prototype={areaStart:Gl,areaEnd:Gl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ql(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Ek(t){return new O2(t)}function R2(t){this._context=t}R2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ql(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Ck(t){return new R2(t)}function F2(t){this._context=t}F2.prototype={areaStart:Gl,areaEnd:Gl,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Sk(t){return new F2(t)}function P2(t){return t\u003C0?-1:1}function Y2(t,e,r){var n=t._x1-t._x0,i=e-t._x1,s=(t._y1-t._y0)/(n||i\u003C0&&-0),a=(r-t._y1)/(i||n\u003C0&&-0),o=(s*i+a*n)/(n+i);return(P2(s)+P2(a))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs(o))||0}function V2(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function $h(t,e,r){var n=t._x0,i=t._y0,s=t._x1,a=t._y1,o=(s-n)/3;t._context.bezierCurveTo(n+o,i+o*e,s-o,a-o*r,s,a)}function jl(t){this._context=t}jl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$h(this,this._t0,V2(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,$h(this,V2(this,r=Y2(this,t,e)),r);break;default:$h(this,this._t0,r=Y2(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function U2(t){this._context=new z2(t)}(U2.prototype=Object.create(jl.prototype)).point=function(t,e){jl.prototype.point.call(this,e,t)};function z2(t){this._context=t}z2.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,s){this._context.bezierCurveTo(e,t,n,r,s,i)}};function Ak(t){return new jl(t)}function Lk(t){return new U2(t)}function W2(t){this._context=t}W2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=H2(t),i=H2(e),s=0,a=1;a\u003Cr;++s,++a)this._context.bezierCurveTo(n[0][s],i[0][s],n[1][s],i[1][s],t[a],e[a]);(this._line||this._line!==0&&r===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function H2(t){var e,r=t.length-1,n,i=new Array(r),s=new Array(r),a=new Array(r);for(i[0]=0,s[0]=2,a[0]=t[0]+2*t[1],e=1;e\u003Cr-1;++e)i[e]=1,s[e]=4,a[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,s[r-1]=7,a[r-1]=8*t[r-1]+t[r],e=1;e\u003Cr;++e)n=i[e]/s[e-1],s[e]-=n,a[e]-=n*a[e-1];for(i[r-1]=a[r-1]/s[r-1],e=r-2;e>=0;--e)i[e]=(a[e]-i[e+1])/s[e];for(s[r-1]=(t[r]+i[r-1])/2,e=0;e\u003Cr-1;++e)s[e]=2*t[e+1]-i[e+1];return[i,s]}function Dk(t){return new W2(t)}function $l(t,e){this._context=t,this._t=e}$l.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0\u003Cthis._t&&this._t\u003C1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t\u003C=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Mk(t){return new $l(t,.5)}function Nk(t){return new $l(t,0)}function Bk(t){return new $l(t,1)}function ea(t,e,r){this.k=t,this.x=e,this.y=r}ea.prototype={constructor:ea,scale:function(t){return t===1?this:new ea(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ea(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return\\\"translate(\\\"+this.x+\\\",\\\"+this.y+\\\") scale(\\\"+this.k+\\\")\\\"}},new ea(1,0,0),ea.prototype;/*! @license DOMPurify 2.4.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.1/LICENSE */function Ii(t){return Ii=typeof Symbol==\\\"function\\\"&&typeof Symbol.iterator==\\\"symbol\\\"?function(e){return typeof e}:function(e){return e&&typeof Symbol==\\\"function\\\"&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},Ii(t)}function Xh(t,e){return Xh=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Xh(t,e)}function Ik(){if(typeof Reflect>\\\"u\\\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\\\"function\\\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Xl(t,e,r){return Ik()?Xl=Reflect.construct:Xl=function(i,s,a){var o=[null];o.push.apply(o,s);var l=Function.bind.apply(i,o),u=new l;return a&&Xh(u,a.prototype),u},Xl.apply(null,arguments)}function fn(t){return Ok(t)||Rk(t)||Fk(t)||Pk()}function Ok(t){if(Array.isArray(t))return Kh(t)}function Rk(t){if(typeof Symbol\u003C\\\"u\\\"&&t[Symbol.iterator]!=null||t[\\\"@@iterator\\\"]!=null)return Array.from(t)}function Fk(t,e){if(!!t){if(typeof t==\\\"string\\\")return Kh(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r===\\\"Object\\\"&&t.constructor&&(r=t.constructor.name),r===\\\"Map\\\"||r===\\\"Set\\\")return Array.from(t);if(r===\\\"Arguments\\\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Kh(t,e)}}function Kh(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r\u003Ce;r++)n[r]=t[r];return n}function Pk(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Yk=Object.hasOwnProperty,G2=Object.setPrototypeOf,Vk=Object.isFrozen,Uk=Object.getPrototypeOf,zk=Object.getOwnPropertyDescriptor,Lr=Object.freeze,pn=Object.seal,Wk=Object.create,q2=typeof Reflect\u003C\\\"u\\\"&&Reflect,Kl=q2.apply,Zh=q2.construct;Kl||(Kl=function(e,r,n){return e.apply(r,n)}),Lr||(Lr=function(e){return e}),pn||(pn=function(e){return e}),Zh||(Zh=function(e,r){return Xl(e,fn(r))});var Hk=tn(Array.prototype.forEach),j2=tn(Array.prototype.pop),no=tn(Array.prototype.push),Zl=tn(String.prototype.toLowerCase),Qh=tn(String.prototype.toString),Gk=tn(String.prototype.match),gn=tn(String.prototype.replace),qk=tn(String.prototype.indexOf),jk=tn(String.prototype.trim),Dr=tn(RegExp.prototype.test),Jh=$k(TypeError);function tn(t){return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i\u003Cr;i++)n[i-1]=arguments[i];return Kl(t,e,n)}}function $k(t){return function(){for(var e=arguments.length,r=new Array(e),n=0;n\u003Ce;n++)r[n]=arguments[n];return Zh(t,r)}}function we(t,e,r){r=r||Zl,G2&&G2(t,null);for(var n=e.length;n--;){var i=e[n];if(typeof i==\\\"string\\\"){var s=r(i);s!==i&&(Vk(e)||(e[n]=s),i=s)}t[i]=!0}return t}function ds(t){var e=Wk(null),r;for(r in t)Kl(Yk,t,[r])&&(e[r]=t[r]);return e}function Ql(t,e){for(;t!==null;){var r=zk(t,e);if(r){if(r.get)return tn(r.get);if(typeof r.value==\\\"function\\\")return tn(r.value)}t=Uk(t)}function n(i){return console.warn(\\\"fallback value for\\\",i),null}return n}var $2=Lr([\\\"a\\\",\\\"abbr\\\",\\\"acronym\\\",\\\"address\\\",\\\"area\\\",\\\"article\\\",\\\"aside\\\",\\\"audio\\\",\\\"b\\\",\\\"bdi\\\",\\\"bdo\\\",\\\"big\\\",\\\"blink\\\",\\\"blockquote\\\",\\\"body\\\",\\\"br\\\",\\\"button\\\",\\\"canvas\\\",\\\"caption\\\",\\\"center\\\",\\\"cite\\\",\\\"code\\\",\\\"col\\\",\\\"colgroup\\\",\\\"content\\\",\\\"data\\\",\\\"datalist\\\",\\\"dd\\\",\\\"decorator\\\",\\\"del\\\",\\\"details\\\",\\\"dfn\\\",\\\"dialog\\\",\\\"dir\\\",\\\"div\\\",\\\"dl\\\",\\\"dt\\\",\\\"element\\\",\\\"em\\\",\\\"fieldset\\\",\\\"figcaption\\\",\\\"figure\\\",\\\"font\\\",\\\"footer\\\",\\\"form\\\",\\\"h1\\\",\\\"h2\\\",\\\"h3\\\",\\\"h4\\\",\\\"h5\\\",\\\"h6\\\",\\\"head\\\",\\\"header\\\",\\\"hgroup\\\",\\\"hr\\\",\\\"html\\\",\\\"i\\\",\\\"img\\\",\\\"input\\\",\\\"ins\\\",\\\"kbd\\\",\\\"label\\\",\\\"legend\\\",\\\"li\\\",\\\"main\\\",\\\"map\\\",\\\"mark\\\",\\\"marquee\\\",\\\"menu\\\",\\\"menuitem\\\",\\\"meter\\\",\\\"nav\\\",\\\"nobr\\\",\\\"ol\\\",\\\"optgroup\\\",\\\"option\\\",\\\"output\\\",\\\"p\\\",\\\"picture\\\",\\\"pre\\\",\\\"progress\\\",\\\"q\\\",\\\"rp\\\",\\\"rt\\\",\\\"ruby\\\",\\\"s\\\",\\\"samp\\\",\\\"section\\\",\\\"select\\\",\\\"shadow\\\",\\\"small\\\",\\\"source\\\",\\\"spacer\\\",\\\"span\\\",\\\"strike\\\",\\\"strong\\\",\\\"style\\\",\\\"sub\\\",\\\"summary\\\",\\\"sup\\\",\\\"table\\\",\\\"tbody\\\",\\\"td\\\",\\\"template\\\",\\\"textarea\\\",\\\"tfoot\\\",\\\"th\\\",\\\"thead\\\",\\\"time\\\",\\\"tr\\\",\\\"track\\\",\\\"tt\\\",\\\"u\\\",\\\"ul\\\",\\\"var\\\",\\\"video\\\",\\\"wbr\\\"]),t1=Lr([\\\"svg\\\",\\\"a\\\",\\\"altglyph\\\",\\\"altglyphdef\\\",\\\"altglyphitem\\\",\\\"animatecolor\\\",\\\"animatemotion\\\",\\\"animatetransform\\\",\\\"circle\\\",\\\"clippath\\\",\\\"defs\\\",\\\"desc\\\",\\\"ellipse\\\",\\\"filter\\\",\\\"font\\\",\\\"g\\\",\\\"glyph\\\",\\\"glyphref\\\",\\\"hkern\\\",\\\"image\\\",\\\"line\\\",\\\"lineargradient\\\",\\\"marker\\\",\\\"mask\\\",\\\"metadata\\\",\\\"mpath\\\",\\\"path\\\",\\\"pattern\\\",\\\"polygon\\\",\\\"polyline\\\",\\\"radialgradient\\\",\\\"rect\\\",\\\"stop\\\",\\\"style\\\",\\\"switch\\\",\\\"symbol\\\",\\\"text\\\",\\\"textpath\\\",\\\"title\\\",\\\"tref\\\",\\\"tspan\\\",\\\"view\\\",\\\"vkern\\\"]),e1=Lr([\\\"feBlend\\\",\\\"feColorMatrix\\\",\\\"feComponentTransfer\\\",\\\"feComposite\\\",\\\"feConvolveMatrix\\\",\\\"feDiffuseLighting\\\",\\\"feDisplacementMap\\\",\\\"feDistantLight\\\",\\\"feFlood\\\",\\\"feFuncA\\\",\\\"feFuncB\\\",\\\"feFuncG\\\",\\\"feFuncR\\\",\\\"feGaussianBlur\\\",\\\"feImage\\\",\\\"feMerge\\\",\\\"feMergeNode\\\",\\\"feMorphology\\\",\\\"feOffset\\\",\\\"fePointLight\\\",\\\"feSpecularLighting\\\",\\\"feSpotLight\\\",\\\"feTile\\\",\\\"feTurbulence\\\"]),Xk=Lr([\\\"animate\\\",\\\"color-profile\\\",\\\"cursor\\\",\\\"discard\\\",\\\"fedropshadow\\\",\\\"font-face\\\",\\\"font-face-format\\\",\\\"font-face-name\\\",\\\"font-face-src\\\",\\\"font-face-uri\\\",\\\"foreignobject\\\",\\\"hatch\\\",\\\"hatchpath\\\",\\\"mesh\\\",\\\"meshgradient\\\",\\\"meshpatch\\\",\\\"meshrow\\\",\\\"missing-glyph\\\",\\\"script\\\",\\\"set\\\",\\\"solidcolor\\\",\\\"unknown\\\",\\\"use\\\"]),r1=Lr([\\\"math\\\",\\\"menclose\\\",\\\"merror\\\",\\\"mfenced\\\",\\\"mfrac\\\",\\\"mglyph\\\",\\\"mi\\\",\\\"mlabeledtr\\\",\\\"mmultiscripts\\\",\\\"mn\\\",\\\"mo\\\",\\\"mover\\\",\\\"mpadded\\\",\\\"mphantom\\\",\\\"mroot\\\",\\\"mrow\\\",\\\"ms\\\",\\\"mspace\\\",\\\"msqrt\\\",\\\"mstyle\\\",\\\"msub\\\",\\\"msup\\\",\\\"msubsup\\\",\\\"mtable\\\",\\\"mtd\\\",\\\"mtext\\\",\\\"mtr\\\",\\\"munder\\\",\\\"munderover\\\"]),Kk=Lr([\\\"maction\\\",\\\"maligngroup\\\",\\\"malignmark\\\",\\\"mlongdiv\\\",\\\"mscarries\\\",\\\"mscarry\\\",\\\"msgroup\\\",\\\"mstack\\\",\\\"msline\\\",\\\"msrow\\\",\\\"semantics\\\",\\\"annotation\\\",\\\"annotation-xml\\\",\\\"mprescripts\\\",\\\"none\\\"]),X2=Lr([\\\"#text\\\"]),K2=Lr([\\\"accept\\\",\\\"action\\\",\\\"align\\\",\\\"alt\\\",\\\"autocapitalize\\\",\\\"autocomplete\\\",\\\"autopictureinpicture\\\",\\\"autoplay\\\",\\\"background\\\",\\\"bgcolor\\\",\\\"border\\\",\\\"capture\\\",\\\"cellpadding\\\",\\\"cellspacing\\\",\\\"checked\\\",\\\"cite\\\",\\\"class\\\",\\\"clear\\\",\\\"color\\\",\\\"cols\\\",\\\"colspan\\\",\\\"controls\\\",\\\"controlslist\\\",\\\"coords\\\",\\\"crossorigin\\\",\\\"datetime\\\",\\\"decoding\\\",\\\"default\\\",\\\"dir\\\",\\\"disabled\\\",\\\"disablepictureinpicture\\\",\\\"disableremoteplayback\\\",\\\"download\\\",\\\"draggable\\\",\\\"enctype\\\",\\\"enterkeyhint\\\",\\\"face\\\",\\\"for\\\",\\\"headers\\\",\\\"height\\\",\\\"hidden\\\",\\\"high\\\",\\\"href\\\",\\\"hreflang\\\",\\\"id\\\",\\\"inputmode\\\",\\\"integrity\\\",\\\"ismap\\\",\\\"kind\\\",\\\"label\\\",\\\"lang\\\",\\\"list\\\",\\\"loading\\\",\\\"loop\\\",\\\"low\\\",\\\"max\\\",\\\"maxlength\\\",\\\"media\\\",\\\"method\\\",\\\"min\\\",\\\"minlength\\\",\\\"multiple\\\",\\\"muted\\\",\\\"name\\\",\\\"nonce\\\",\\\"noshade\\\",\\\"novalidate\\\",\\\"nowrap\\\",\\\"open\\\",\\\"optimum\\\",\\\"pattern\\\",\\\"placeholder\\\",\\\"playsinline\\\",\\\"poster\\\",\\\"preload\\\",\\\"pubdate\\\",\\\"radiogroup\\\",\\\"readonly\\\",\\\"rel\\\",\\\"required\\\",\\\"rev\\\",\\\"reversed\\\",\\\"role\\\",\\\"rows\\\",\\\"rowspan\\\",\\\"spellcheck\\\",\\\"scope\\\",\\\"selected\\\",\\\"shape\\\",\\\"size\\\",\\\"sizes\\\",\\\"span\\\",\\\"srclang\\\",\\\"start\\\",\\\"src\\\",\\\"srcset\\\",\\\"step\\\",\\\"style\\\",\\\"summary\\\",\\\"tabindex\\\",\\\"title\\\",\\\"translate\\\",\\\"type\\\",\\\"usemap\\\",\\\"valign\\\",\\\"value\\\",\\\"width\\\",\\\"xmlns\\\",\\\"slot\\\"]),n1=Lr([\\\"accent-height\\\",\\\"accumulate\\\",\\\"additive\\\",\\\"alignment-baseline\\\",\\\"ascent\\\",\\\"attributename\\\",\\\"attributetype\\\",\\\"azimuth\\\",\\\"basefrequency\\\",\\\"baseline-shift\\\",\\\"begin\\\",\\\"bias\\\",\\\"by\\\",\\\"class\\\",\\\"clip\\\",\\\"clippathunits\\\",\\\"clip-path\\\",\\\"clip-rule\\\",\\\"color\\\",\\\"color-interpolation\\\",\\\"color-interpolation-filters\\\",\\\"color-profile\\\",\\\"color-rendering\\\",\\\"cx\\\",\\\"cy\\\",\\\"d\\\",\\\"dx\\\",\\\"dy\\\",\\\"diffuseconstant\\\",\\\"direction\\\",\\\"display\\\",\\\"divisor\\\",\\\"dur\\\",\\\"edgemode\\\",\\\"elevation\\\",\\\"end\\\",\\\"fill\\\",\\\"fill-opacity\\\",\\\"fill-rule\\\",\\\"filter\\\",\\\"filterunits\\\",\\\"flood-color\\\",\\\"flood-opacity\\\",\\\"font-family\\\",\\\"font-size\\\",\\\"font-size-adjust\\\",\\\"font-stretch\\\",\\\"font-style\\\",\\\"font-variant\\\",\\\"font-weight\\\",\\\"fx\\\",\\\"fy\\\",\\\"g1\\\",\\\"g2\\\",\\\"glyph-name\\\",\\\"glyphref\\\",\\\"gradientunits\\\",\\\"gradienttransform\\\",\\\"height\\\",\\\"href\\\",\\\"id\\\",\\\"image-rendering\\\",\\\"in\\\",\\\"in2\\\",\\\"k\\\",\\\"k1\\\",\\\"k2\\\",\\\"k3\\\",\\\"k4\\\",\\\"kerning\\\",\\\"keypoints\\\",\\\"keysplines\\\",\\\"keytimes\\\",\\\"lang\\\",\\\"lengthadjust\\\",\\\"letter-spacing\\\",\\\"kernelmatrix\\\",\\\"kernelunitlength\\\",\\\"lighting-color\\\",\\\"local\\\",\\\"marker-end\\\",\\\"marker-mid\\\",\\\"marker-start\\\",\\\"markerheight\\\",\\\"markerunits\\\",\\\"markerwidth\\\",\\\"maskcontentunits\\\",\\\"maskunits\\\",\\\"max\\\",\\\"mask\\\",\\\"media\\\",\\\"method\\\",\\\"mode\\\",\\\"min\\\",\\\"name\\\",\\\"numoctaves\\\",\\\"offset\\\",\\\"operator\\\",\\\"opacity\\\",\\\"order\\\",\\\"orient\\\",\\\"orientation\\\",\\\"origin\\\",\\\"overflow\\\",\\\"paint-order\\\",\\\"path\\\",\\\"pathlength\\\",\\\"patterncontentunits\\\",\\\"patterntransform\\\",\\\"patternunits\\\",\\\"points\\\",\\\"preservealpha\\\",\\\"preserveaspectratio\\\",\\\"primitiveunits\\\",\\\"r\\\",\\\"rx\\\",\\\"ry\\\",\\\"radius\\\",\\\"refx\\\",\\\"refy\\\",\\\"repeatcount\\\",\\\"repeatdur\\\",\\\"restart\\\",\\\"result\\\",\\\"rotate\\\",\\\"scale\\\",\\\"seed\\\",\\\"shape-rendering\\\",\\\"specularconstant\\\",\\\"specularexponent\\\",\\\"spreadmethod\\\",\\\"startoffset\\\",\\\"stddeviation\\\",\\\"stitchtiles\\\",\\\"stop-color\\\",\\\"stop-opacity\\\",\\\"stroke-dasharray\\\",\\\"stroke-dashoffset\\\",\\\"stroke-linecap\\\",\\\"stroke-linejoin\\\",\\\"stroke-miterlimit\\\",\\\"stroke-opacity\\\",\\\"stroke\\\",\\\"stroke-width\\\",\\\"style\\\",\\\"surfacescale\\\",\\\"systemlanguage\\\",\\\"tabindex\\\",\\\"targetx\\\",\\\"targety\\\",\\\"transform\\\",\\\"transform-origin\\\",\\\"text-anchor\\\",\\\"text-decoration\\\",\\\"text-rendering\\\",\\\"textlength\\\",\\\"type\\\",\\\"u1\\\",\\\"u2\\\",\\\"unicode\\\",\\\"values\\\",\\\"viewbox\\\",\\\"visibility\\\",\\\"version\\\",\\\"vert-adv-y\\\",\\\"vert-origin-x\\\",\\\"vert-origin-y\\\",\\\"width\\\",\\\"word-spacing\\\",\\\"wrap\\\",\\\"writing-mode\\\",\\\"xchannelselector\\\",\\\"ychannelselector\\\",\\\"x\\\",\\\"x1\\\",\\\"x2\\\",\\\"xmlns\\\",\\\"y\\\",\\\"y1\\\",\\\"y2\\\",\\\"z\\\",\\\"zoomandpan\\\"]),Z2=Lr([\\\"accent\\\",\\\"accentunder\\\",\\\"align\\\",\\\"bevelled\\\",\\\"close\\\",\\\"columnsalign\\\",\\\"columnlines\\\",\\\"columnspan\\\",\\\"denomalign\\\",\\\"depth\\\",\\\"dir\\\",\\\"display\\\",\\\"displaystyle\\\",\\\"encoding\\\",\\\"fence\\\",\\\"frame\\\",\\\"height\\\",\\\"href\\\",\\\"id\\\",\\\"largeop\\\",\\\"length\\\",\\\"linethickness\\\",\\\"lspace\\\",\\\"lquote\\\",\\\"mathbackground\\\",\\\"mathcolor\\\",\\\"mathsize\\\",\\\"mathvariant\\\",\\\"maxsize\\\",\\\"minsize\\\",\\\"movablelimits\\\",\\\"notation\\\",\\\"numalign\\\",\\\"open\\\",\\\"rowalign\\\",\\\"rowlines\\\",\\\"rowspacing\\\",\\\"rowspan\\\",\\\"rspace\\\",\\\"rquote\\\",\\\"scriptlevel\\\",\\\"scriptminsize\\\",\\\"scriptsizemultiplier\\\",\\\"selection\\\",\\\"separator\\\",\\\"separators\\\",\\\"stretchy\\\",\\\"subscriptshift\\\",\\\"supscriptshift\\\",\\\"symmetric\\\",\\\"voffset\\\",\\\"width\\\",\\\"xmlns\\\"]),Jl=Lr([\\\"xlink:href\\\",\\\"xml:id\\\",\\\"xlink:title\\\",\\\"xml:space\\\",\\\"xmlns:xlink\\\"]),Zk=pn(/\\\\{\\\\{[\\\\w\\\\W]*|[\\\\w\\\\W]*\\\\}\\\\}/gm),Qk=pn(/\u003C%[\\\\w\\\\W]*|[\\\\w\\\\W]*%>/gm),Jk=pn(/\\\\${[\\\\w\\\\W]*}/gm),t8=pn(/^data-[\\\\-\\\\w.\\\\u00B7-\\\\uFFFF]/),e8=pn(/^aria-[\\\\-\\\\w]+$/),r8=pn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\\\-]+(?:[^a-z+.\\\\-:]|$))/i),n8=pn(/^(?:\\\\w+script|data):/i),i8=pn(/[\\\\u0000-\\\\u0020\\\\u00A0\\\\u1680\\\\u180E\\\\u2000-\\\\u2029\\\\u205F\\\\u3000]/g),s8=pn(/^html$/i),a8=function(){return typeof window>\\\"u\\\"?null:window},o8=function(e,r){if(Ii(e)!==\\\"object\\\"||typeof e.createPolicy!=\\\"function\\\")return null;var n=null,i=\\\"data-tt-policy-suffix\\\";r.currentScript&&r.currentScript.hasAttribute(i)&&(n=r.currentScript.getAttribute(i));var s=\\\"dompurify\\\"+(n?\\\"#\\\"+n:\\\"\\\");try{return e.createPolicy(s,{createHTML:function(o){return o},createScriptURL:function(o){return o}})}catch{return console.warn(\\\"TrustedTypes policy \\\"+s+\\\" could not be created.\\\"),null}};function Q2(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a8(),e=function(Z){return Q2(Z)};if(e.version=\\\"2.4.1\\\",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;var r=t.document,n=t.document,i=t.DocumentFragment,s=t.HTMLTemplateElement,a=t.Node,o=t.Element,l=t.NodeFilter,u=t.NamedNodeMap,d=u===void 0?t.NamedNodeMap||t.MozNamedAttrMap:u,f=t.HTMLFormElement,p=t.DOMParser,g=t.trustedTypes,b=o.prototype,k=Ql(b,\\\"cloneNode\\\"),T=Ql(b,\\\"nextSibling\\\"),L=Ql(b,\\\"childNodes\\\"),E=Ql(b,\\\"parentNode\\\");if(typeof s==\\\"function\\\"){var I=n.createElement(\\\"template\\\");I.content&&I.content.ownerDocument&&(n=I.content.ownerDocument)}var V=o8(g,r),H=V?V.createHTML(\\\"\\\"):\\\"\\\",G=n,Y=G.implementation,W=G.createNodeIterator,N=G.createDocumentFragment,D=G.getElementsByTagName,w=r.importNode,v={};try{v=ds(n).documentMode?n.documentMode:{}}catch{}var M={};e.isSupported=typeof E==\\\"function\\\"&&Y&&typeof Y.createHTMLDocument\u003C\\\"u\\\"&&v!==9;var m=Zk,Q=Qk,x=Jk,ct=t8,Dt=e8,kt=n8,j=i8,ot=r8,rt=null,nt=we({},[].concat(fn($2),fn(t1),fn(e1),fn(r1),fn(X2))),ut=null,_t=we({},[].concat(fn(K2),fn(n1),fn(Z2),fn(Jl))),K=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ot=null,P=null,z=!0,X=!0,F=!1,O=!1,A=!1,J=!1,C=!1,ht=!1,U=!1,Yt=!1,et=!0,Mt=!1,Tt=\\\"user-content-\\\",gt=!0,Et=!1,wt={},pt=null,st=we({},[\\\"annotation-xml\\\",\\\"audio\\\",\\\"colgroup\\\",\\\"desc\\\",\\\"foreignobject\\\",\\\"head\\\",\\\"iframe\\\",\\\"math\\\",\\\"mi\\\",\\\"mn\\\",\\\"mo\\\",\\\"ms\\\",\\\"mtext\\\",\\\"noembed\\\",\\\"noframes\\\",\\\"noscript\\\",\\\"plaintext\\\",\\\"script\\\",\\\"style\\\",\\\"svg\\\",\\\"template\\\",\\\"thead\\\",\\\"title\\\",\\\"video\\\",\\\"xmp\\\"]),le=null,Xt=we({},[\\\"audio\\\",\\\"video\\\",\\\"img\\\",\\\"source\\\",\\\"image\\\",\\\"track\\\"]),jt=null,Kt=we({},[\\\"alt\\\",\\\"class\\\",\\\"for\\\",\\\"id\\\",\\\"label\\\",\\\"name\\\",\\\"pattern\\\",\\\"placeholder\\\",\\\"role\\\",\\\"summary\\\",\\\"title\\\",\\\"value\\\",\\\"style\\\",\\\"xmlns\\\"]),Gt=\\\"http://www.w3.org/1998/Math/MathML\\\",Ee=\\\"http://www.w3.org/2000/svg\\\",Ht=\\\"http://www.w3.org/1999/xhtml\\\",Vt=Ht,Ft=!1,xt=null,ft=we({},[Gt,Ee,Ht],Qh),Lt,bt=[\\\"application/xhtml+xml\\\",\\\"text/html\\\"],Ut=\\\"text/html\\\",at,ie=null,dt=n.createElement(\\\"form\\\"),ee=function(Z){return Z instanceof RegExp||Z instanceof Function},fe=function(Z){ie&&ie===Z||((!Z||Ii(Z)!==\\\"object\\\")&&(Z={}),Z=ds(Z),Lt=bt.indexOf(Z.PARSER_MEDIA_TYPE)===-1?Lt=Ut:Lt=Z.PARSER_MEDIA_TYPE,at=Lt===\\\"application/xhtml+xml\\\"?Qh:Zl,rt=\\\"ALLOWED_TAGS\\\"in Z?we({},Z.ALLOWED_TAGS,at):nt,ut=\\\"ALLOWED_ATTR\\\"in Z?we({},Z.ALLOWED_ATTR,at):_t,xt=\\\"ALLOWED_NAMESPACES\\\"in Z?we({},Z.ALLOWED_NAMESPACES,Qh):ft,jt=\\\"ADD_URI_SAFE_ATTR\\\"in Z?we(ds(Kt),Z.ADD_URI_SAFE_ATTR,at):Kt,le=\\\"ADD_DATA_URI_TAGS\\\"in Z?we(ds(Xt),Z.ADD_DATA_URI_TAGS,at):Xt,pt=\\\"FORBID_CONTENTS\\\"in Z?we({},Z.FORBID_CONTENTS,at):st,Ot=\\\"FORBID_TAGS\\\"in Z?we({},Z.FORBID_TAGS,at):{},P=\\\"FORBID_ATTR\\\"in Z?we({},Z.FORBID_ATTR,at):{},wt=\\\"USE_PROFILES\\\"in Z?Z.USE_PROFILES:!1,z=Z.ALLOW_ARIA_ATTR!==!1,X=Z.ALLOW_DATA_ATTR!==!1,F=Z.ALLOW_UNKNOWN_PROTOCOLS||!1,O=Z.SAFE_FOR_TEMPLATES||!1,A=Z.WHOLE_DOCUMENT||!1,ht=Z.RETURN_DOM||!1,U=Z.RETURN_DOM_FRAGMENT||!1,Yt=Z.RETURN_TRUSTED_TYPE||!1,C=Z.FORCE_BODY||!1,et=Z.SANITIZE_DOM!==!1,Mt=Z.SANITIZE_NAMED_PROPS||!1,gt=Z.KEEP_CONTENT!==!1,Et=Z.IN_PLACE||!1,ot=Z.ALLOWED_URI_REGEXP||ot,Vt=Z.NAMESPACE||Ht,Z.CUSTOM_ELEMENT_HANDLING&&ee(Z.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(K.tagNameCheck=Z.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Z.CUSTOM_ELEMENT_HANDLING&&ee(Z.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(K.attributeNameCheck=Z.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Z.CUSTOM_ELEMENT_HANDLING&&typeof Z.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==\\\"boolean\\\"&&(K.allowCustomizedBuiltInElements=Z.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),O&&(X=!1),U&&(ht=!0),wt&&(rt=we({},fn(X2)),ut=[],wt.html===!0&&(we(rt,$2),we(ut,K2)),wt.svg===!0&&(we(rt,t1),we(ut,n1),we(ut,Jl)),wt.svgFilters===!0&&(we(rt,e1),we(ut,n1),we(ut,Jl)),wt.mathMl===!0&&(we(rt,r1),we(ut,Z2),we(ut,Jl))),Z.ADD_TAGS&&(rt===nt&&(rt=ds(rt)),we(rt,Z.ADD_TAGS,at)),Z.ADD_ATTR&&(ut===_t&&(ut=ds(ut)),we(ut,Z.ADD_ATTR,at)),Z.ADD_URI_SAFE_ATTR&&we(jt,Z.ADD_URI_SAFE_ATTR,at),Z.FORBID_CONTENTS&&(pt===st&&(pt=ds(pt)),we(pt,Z.FORBID_CONTENTS,at)),gt&&(rt[\\\"#text\\\"]=!0),A&&we(rt,[\\\"html\\\",\\\"head\\\",\\\"body\\\"]),rt.table&&(we(rt,[\\\"tbody\\\"]),delete Ot.tbody),Lr&&Lr(Z),ie=Z)},be=we({},[\\\"mi\\\",\\\"mo\\\",\\\"mn\\\",\\\"ms\\\",\\\"mtext\\\"]),_e=we({},[\\\"foreignobject\\\",\\\"desc\\\",\\\"title\\\",\\\"annotation-xml\\\"]),ke=we({},[\\\"title\\\",\\\"style\\\",\\\"font\\\",\\\"a\\\",\\\"script\\\"]),$t=we({},t1);we($t,e1),we($t,Xk);var se=we({},r1);we(se,Kk);var ye=function(Z){var At=E(Z);(!At||!At.tagName)&&(At={namespaceURI:Vt,tagName:\\\"template\\\"});var Nt=Zl(Z.tagName),pe=Zl(At.tagName);return xt[Z.namespaceURI]?Z.namespaceURI===Ee?At.namespaceURI===Ht?Nt===\\\"svg\\\":At.namespaceURI===Gt?Nt===\\\"svg\\\"&&(pe===\\\"annotation-xml\\\"||be[pe]):Boolean($t[Nt]):Z.namespaceURI===Gt?At.namespaceURI===Ht?Nt===\\\"math\\\":At.namespaceURI===Ee?Nt===\\\"math\\\"&&_e[pe]:Boolean(se[Nt]):Z.namespaceURI===Ht?At.namespaceURI===Ee&&!_e[pe]||At.namespaceURI===Gt&&!be[pe]?!1:!se[Nt]&&(ke[Nt]||!$t[Nt]):!!(Lt===\\\"application/xhtml+xml\\\"&&xt[Z.namespaceURI]):!1},Jt=function(Z){no(e.removed,{element:Z});try{Z.parentNode.removeChild(Z)}catch{try{Z.outerHTML=H}catch{Z.remove()}}},Nn=function(Z,At){try{no(e.removed,{attribute:At.getAttributeNode(Z),from:At})}catch{no(e.removed,{attribute:null,from:At})}if(At.removeAttribute(Z),Z===\\\"is\\\"&&!ut[Z])if(ht||U)try{Jt(At)}catch{}else try{At.setAttribute(Z,\\\"\\\")}catch{}},Xr=function(Z){var At,Nt;if(C)Z=\\\"\u003Cremove>\u003C/remove>\\\"+Z;else{var pe=Gk(Z,/^[\\\\r\\\\n\\\\t ]+/);Nt=pe&&pe[0]}Lt===\\\"application/xhtml+xml\\\"&&Vt===Ht&&(Z='\u003Chtml xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\u003Chead>\u003C/head>\u003Cbody>'+Z+\\\"\u003C/body>\u003C/html>\\\");var Me=V?V.createHTML(Z):Z;if(Vt===Ht)try{At=new p().parseFromString(Me,Lt)}catch{}if(!At||!At.documentElement){At=Y.createDocument(Vt,\\\"template\\\",null);try{At.documentElement.innerHTML=Ft?\\\"\\\":Me}catch{}}var Le=At.body||At.documentElement;return Z&&Nt&&Le.insertBefore(n.createTextNode(Nt),Le.childNodes[0]||null),Vt===Ht?D.call(At,A?\\\"html\\\":\\\"body\\\")[0]:A?At.documentElement:Le},De=function(Z){return W.call(Z.ownerDocument||Z,Z,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},ae=function(Z){return Z instanceof f&&(typeof Z.nodeName!=\\\"string\\\"||typeof Z.textContent!=\\\"string\\\"||typeof Z.removeChild!=\\\"function\\\"||!(Z.attributes instanceof d)||typeof Z.removeAttribute!=\\\"function\\\"||typeof Z.setAttribute!=\\\"function\\\"||typeof Z.namespaceURI!=\\\"string\\\"||typeof Z.insertBefore!=\\\"function\\\"||typeof Z.hasChildNodes!=\\\"function\\\")},Be=function(Z){return Ii(a)===\\\"object\\\"?Z instanceof a:Z&&Ii(Z)===\\\"object\\\"&&typeof Z.nodeType==\\\"number\\\"&&typeof Z.nodeName==\\\"string\\\"},Re=function(Z,At,Nt){!M[Z]||Hk(M[Z],function(pe){pe.call(e,At,Nt,ie)})},Pe=function(Z){var At;if(Re(\\\"beforeSanitizeElements\\\",Z,null),ae(Z)||Dr(/[\\\\u0080-\\\\uFFFF]/,Z.nodeName))return Jt(Z),!0;var Nt=at(Z.nodeName);if(Re(\\\"uponSanitizeElement\\\",Z,{tagName:Nt,allowedTags:rt}),Z.hasChildNodes()&&!Be(Z.firstElementChild)&&(!Be(Z.content)||!Be(Z.content.firstElementChild))&&Dr(/\u003C[/\\\\w]/g,Z.innerHTML)&&Dr(/\u003C[/\\\\w]/g,Z.textContent)||Nt===\\\"select\\\"&&Dr(/\u003Ctemplate/i,Z.innerHTML))return Jt(Z),!0;if(!rt[Nt]||Ot[Nt]){if(!Ot[Nt]&&Ie(Nt)&&(K.tagNameCheck instanceof RegExp&&Dr(K.tagNameCheck,Nt)||K.tagNameCheck instanceof Function&&K.tagNameCheck(Nt)))return!1;if(gt&&!pt[Nt]){var pe=E(Z)||Z.parentNode,Me=L(Z)||Z.childNodes;if(Me&&pe)for(var Le=Me.length,We=Le-1;We>=0;--We)pe.insertBefore(k(Me[We],!0),T(Z))}return Jt(Z),!0}return Z instanceof o&&!ye(Z)||(Nt===\\\"noscript\\\"||Nt===\\\"noembed\\\")&&Dr(/\u003C\\\\/no(script|embed)/i,Z.innerHTML)?(Jt(Z),!0):(O&&Z.nodeType===3&&(At=Z.textContent,At=gn(At,m,\\\" \\\"),At=gn(At,Q,\\\" \\\"),At=gn(At,x,\\\" \\\"),Z.textContent!==At&&(no(e.removed,{element:Z.cloneNode()}),Z.textContent=At)),Re(\\\"afterSanitizeElements\\\",Z,null),!1)},Ye=function(Z,At,Nt){if(et&&(At===\\\"id\\\"||At===\\\"name\\\")&&(Nt in n||Nt in dt))return!1;if(!(X&&!P[At]&&Dr(ct,At))){if(!(z&&Dr(Dt,At))){if(!ut[At]||P[At]){if(!(Ie(Z)&&(K.tagNameCheck instanceof RegExp&&Dr(K.tagNameCheck,Z)||K.tagNameCheck instanceof Function&&K.tagNameCheck(Z))&&(K.attributeNameCheck instanceof RegExp&&Dr(K.attributeNameCheck,At)||K.attributeNameCheck instanceof Function&&K.attributeNameCheck(At))||At===\\\"is\\\"&&K.allowCustomizedBuiltInElements&&(K.tagNameCheck instanceof RegExp&&Dr(K.tagNameCheck,Nt)||K.tagNameCheck instanceof Function&&K.tagNameCheck(Nt))))return!1}else if(!jt[At]){if(!Dr(ot,gn(Nt,j,\\\"\\\"))){if(!((At===\\\"src\\\"||At===\\\"xlink:href\\\"||At===\\\"href\\\")&&Z!==\\\"script\\\"&&qk(Nt,\\\"data:\\\")===0&&le[Z])){if(!(F&&!Dr(kt,gn(Nt,j,\\\"\\\")))){if(Nt)return!1}}}}}}return!0},Ie=function(Z){return Z.indexOf(\\\"-\\\")>0},$e=function(Z){var At,Nt,pe,Me;Re(\\\"beforeSanitizeAttributes\\\",Z,null);var Le=Z.attributes;if(!!Le){var We={attrName:\\\"\\\",attrValue:\\\"\\\",keepAttr:!0,allowedAttributes:ut};for(Me=Le.length;Me--;){At=Le[Me];var ve=At,Ne=ve.name,Xi=ve.namespaceURI;if(Nt=Ne===\\\"value\\\"?At.value:jk(At.value),pe=at(Ne),We.attrName=pe,We.attrValue=Nt,We.keepAttr=!0,We.forceKeepAttr=void 0,Re(\\\"uponSanitizeAttribute\\\",Z,We),Nt=We.attrValue,!We.forceKeepAttr&&(Nn(Ne,Z),!!We.keepAttr)){if(Dr(/\\\\/>/i,Nt)){Nn(Ne,Z);continue}O&&(Nt=gn(Nt,m,\\\" \\\"),Nt=gn(Nt,Q,\\\" \\\"),Nt=gn(Nt,x,\\\" \\\"));var Ki=at(Z.nodeName);if(!!Ye(Ki,pe,Nt)){if(Mt&&(pe===\\\"id\\\"||pe===\\\"name\\\")&&(Nn(Ne,Z),Nt=Tt+Nt),V&&Ii(g)===\\\"object\\\"&&typeof g.getAttributeType==\\\"function\\\"&&!Xi)switch(g.getAttributeType(Ki,pe)){case\\\"TrustedHTML\\\":Nt=V.createHTML(Nt);break;case\\\"TrustedScriptURL\\\":Nt=V.createScriptURL(Nt);break}try{Xi?Z.setAttributeNS(Xi,Ne,Nt):Z.setAttribute(Ne,Nt),j2(e.removed)}catch{}}}}Re(\\\"afterSanitizeAttributes\\\",Z,null)}},ar=function zt(Z){var At,Nt=De(Z);for(Re(\\\"beforeSanitizeShadowDOM\\\",Z,null);At=Nt.nextNode();)Re(\\\"uponSanitizeShadowNode\\\",At,null),!Pe(At)&&(At.content instanceof i&&zt(At.content),$e(At));Re(\\\"afterSanitizeShadowDOM\\\",Z,null)};return e.sanitize=function(zt){var Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},At,Nt,pe,Me,Le;if(Ft=!zt,Ft&&(zt=\\\"\u003C!-->\\\"),typeof zt!=\\\"string\\\"&&!Be(zt)){if(typeof zt.toString!=\\\"function\\\")throw Jh(\\\"toString is not a function\\\");if(zt=zt.toString(),typeof zt!=\\\"string\\\")throw Jh(\\\"dirty is not a string, aborting\\\")}if(!e.isSupported){if(Ii(t.toStaticHTML)===\\\"object\\\"||typeof t.toStaticHTML==\\\"function\\\"){if(typeof zt==\\\"string\\\")return t.toStaticHTML(zt);if(Be(zt))return t.toStaticHTML(zt.outerHTML)}return zt}if(J||fe(Z),e.removed=[],typeof zt==\\\"string\\\"&&(Et=!1),Et){if(zt.nodeName){var We=at(zt.nodeName);if(!rt[We]||Ot[We])throw Jh(\\\"root node is forbidden and cannot be sanitized in-place\\\")}}else if(zt instanceof a)At=Xr(\\\"\u003C!---->\\\"),Nt=At.ownerDocument.importNode(zt,!0),Nt.nodeType===1&&Nt.nodeName===\\\"BODY\\\"||Nt.nodeName===\\\"HTML\\\"?At=Nt:At.appendChild(Nt);else{if(!ht&&!O&&!A&&zt.indexOf(\\\"\u003C\\\")===-1)return V&&Yt?V.createHTML(zt):zt;if(At=Xr(zt),!At)return ht?null:Yt?H:\\\"\\\"}At&&C&&Jt(At.firstChild);for(var ve=De(Et?zt:At);pe=ve.nextNode();)pe.nodeType===3&&pe===Me||Pe(pe)||(pe.content instanceof i&&ar(pe.content),$e(pe),Me=pe);if(Me=null,Et)return zt;if(ht){if(U)for(Le=N.call(At.ownerDocument);At.firstChild;)Le.appendChild(At.firstChild);else Le=At;return ut.shadowroot&&(Le=w.call(r,Le,!0)),Le}var Ne=A?At.outerHTML:At.innerHTML;return A&&rt[\\\"!doctype\\\"]&&At.ownerDocument&&At.ownerDocument.doctype&&At.ownerDocument.doctype.name&&Dr(s8,At.ownerDocument.doctype.name)&&(Ne=\\\"\u003C!DOCTYPE \\\"+At.ownerDocument.doctype.name+`>\\n`+Ne),O&&(Ne=gn(Ne,m,\\\" \\\"),Ne=gn(Ne,Q,\\\" \\\"),Ne=gn(Ne,x,\\\" \\\")),V&&Yt?V.createHTML(Ne):Ne},e.setConfig=function(zt){fe(zt),J=!0},e.clearConfig=function(){ie=null,J=!1},e.isValidAttribute=function(zt,Z,At){ie||fe({});var Nt=at(zt),pe=at(Z);return Ye(Nt,pe,At)},e.addHook=function(zt,Z){typeof Z==\\\"function\\\"&&(M[zt]=M[zt]||[],no(M[zt],Z))},e.removeHook=function(zt){if(M[zt])return j2(M[zt])},e.removeHooks=function(zt){M[zt]&&(M[zt]=[])},e.removeAllHooks=function(){M={}},e}var io=Q2();const l8=t=>t?ep(t).replace(/\\\\\\\\n/g,\\\"#br#\\\").split(\\\"#br#\\\"):[\\\"\\\"],J2=t=>io.sanitize(t),tp=(t,e)=>{var r;if(((r=e.flowchart)==null?void 0:r.htmlLabels)!==!1){const n=e.securityLevel;n===\\\"antiscript\\\"||n===\\\"strict\\\"?t=J2(t):n!==\\\"loose\\\"&&(t=ep(t),t=t.replace(/\u003C/g,\\\"<\\\").replace(/>/g,\\\">\\\"),t=t.replace(/=/g,\\\"=\\\"),t=d8(t))}return t},yn=(t,e)=>t&&(e.dompurifyConfig?t=io.sanitize(tp(t,e),e.dompurifyConfig).toString():t=io.sanitize(tp(t,e),{FORBID_TAGS:[\\\"style\\\"]}).toString(),t),c8=(t,e)=>typeof t==\\\"string\\\"?yn(t,e):t.flat().map(r=>yn(r,e)),tc=/\u003Cbr\\\\s*\\\\/?>/gi,u8=t=>tc.test(t),h8=t=>t.split(tc),d8=t=>t.replace(/#br#/g,\\\"\u003Cbr/>\\\"),ep=t=>t.replace(tc,\\\"#br#\\\"),f8=t=>{let e=\\\"\\\";return t&&(e=window.location.protocol+\\\"//\\\"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\\\\(/g,\\\"\\\\\\\\(\\\"),e=e.replaceAll(/\\\\)/g,\\\"\\\\\\\\)\\\")),e},pr=t=>!(t===!1||[\\\"false\\\",\\\"null\\\",\\\"0\\\"].includes(String(t).trim().toLowerCase())),Oi=function(t){let e=t;return t.includes(\\\"~\\\")?(e=e.replace(/~([^~].*)/,\\\"\u003C$1\\\"),e=e.replace(/~([^~]*)$/,\\\">$1\\\"),Oi(e)):e},he={getRows:l8,sanitizeText:yn,sanitizeTextOrArray:c8,hasBreaks:u8,splitBreaks:h8,lineBreakRegex:tc,removeScript:J2,getUrl:f8,evaluate:pr},ec={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t\u003C0?0:t,g:t=>t>=255?255:t\u003C0?0:t,b:t=>t>=255?255:t\u003C0?0:t,h:t=>t%360,s:t=>t>=100?100:t\u003C0?0:t,l:t=>t>=100?100:t\u003C0?0:t,a:t=>t>=1?1:t\u003C0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r\u003C0&&(r+=1),r>1&&(r-=1),r\u003C1/6?t+(e-t)*6*r:r\u003C1/2?e:r\u003C2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r\u003C.5?r*(1+e):r+e-r*e,s=2*r-i;switch(n){case\\\"r\\\":return ec.hue2rgb(s,i,t+1/3)*255;case\\\"g\\\":return ec.hue2rgb(s,i,t)*255;case\\\"b\\\":return ec.hue2rgb(s,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),s=Math.min(t,e,r),a=(i+s)/2;if(n===\\\"l\\\")return a*100;if(i===s)return 0;const o=i-s,l=a>.5?o/(2-i-s):o/(i+s);if(n===\\\"s\\\")return l*100;switch(i){case t:return((e-r)/o+(e\u003Cr?6:0))*60;case e:return((r-t)/o+2)*60;case r:return((t-e)/o+4)*60;default:return-1}}},xe={channel:ec,lang:{clamp:(t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}},Ri={};for(let t=0;t\u003C=255;t++)Ri[t]=xe.unit.dec2hex(t);const wr={ALL:0,RGB:1,HSL:2};class p8{constructor(){this.type=wr.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error(\\\"Cannot change both RGB and HSL channels at the same time\\\");this.type=e}reset(){this.type=wr.ALL}is(e){return this.type===e}}const g8=p8;class y8{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new g8}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=wr.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=xe.channel.rgb2hsl(e,\\\"h\\\")),n===void 0&&(e.s=xe.channel.rgb2hsl(e,\\\"s\\\")),i===void 0&&(e.l=xe.channel.rgb2hsl(e,\\\"l\\\"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=xe.channel.hsl2rgb(e,\\\"r\\\")),n===void 0&&(e.g=xe.channel.hsl2rgb(e,\\\"g\\\")),i===void 0&&(e.b=xe.channel.hsl2rgb(e,\\\"b\\\"))}get r(){const e=this.data,r=e.r;return!this.type.is(wr.HSL)&&r!==void 0?r:(this._ensureHSL(),xe.channel.hsl2rgb(e,\\\"r\\\"))}get g(){const e=this.data,r=e.g;return!this.type.is(wr.HSL)&&r!==void 0?r:(this._ensureHSL(),xe.channel.hsl2rgb(e,\\\"g\\\"))}get b(){const e=this.data,r=e.b;return!this.type.is(wr.HSL)&&r!==void 0?r:(this._ensureHSL(),xe.channel.hsl2rgb(e,\\\"b\\\"))}get h(){const e=this.data,r=e.h;return!this.type.is(wr.RGB)&&r!==void 0?r:(this._ensureRGB(),xe.channel.rgb2hsl(e,\\\"h\\\"))}get s(){const e=this.data,r=e.s;return!this.type.is(wr.RGB)&&r!==void 0?r:(this._ensureRGB(),xe.channel.rgb2hsl(e,\\\"s\\\"))}get l(){const e=this.data,r=e.l;return!this.type.is(wr.RGB)&&r!==void 0?r:(this._ensureRGB(),xe.channel.rgb2hsl(e,\\\"l\\\"))}get a(){return this.data.a}set r(e){this.type.set(wr.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(wr.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(wr.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(wr.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(wr.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(wr.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const m8=y8,rc=new m8({r:0,g:0,b:0,a:0},\\\"transparent\\\"),rp={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(rp.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,s=i%4===0,a=i>4,o=a?1:17,l=a?8:4,u=s?0:-1,d=a?255:15;return rc.set({r:(n>>l*(u+3)&d)*o,g:(n>>l*(u+2)&d)*o,b:(n>>l*(u+1)&d)*o,a:s?(n&d)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i\u003C1?`#${Ri[Math.round(e)]}${Ri[Math.round(r)]}${Ri[Math.round(n)]}${Ri[Math.round(i*255)]}`:`#${Ri[Math.round(e)]}${Ri[Math.round(r)]}${Ri[Math.round(n)]}`}},so=rp,nc={re:/^hsla?\\\\(\\\\s*?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e-?\\\\d+)?(?:deg|grad|rad|turn)?)\\\\s*?(?:,|\\\\s)\\\\s*?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e-?\\\\d+)?%)\\\\s*?(?:,|\\\\s)\\\\s*?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e-?\\\\d+)?%)(?:\\\\s*?(?:,|\\\\/)\\\\s*?\\\\+?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e-?\\\\d+)?(%)?))?\\\\s*?\\\\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(nc.hueRe);if(e){const[,r,n]=e;switch(n){case\\\"grad\\\":return xe.channel.clamp.h(parseFloat(r)*.9);case\\\"rad\\\":return xe.channel.clamp.h(parseFloat(r)*180/Math.PI);case\\\"turn\\\":return xe.channel.clamp.h(parseFloat(r)*360)}}return xe.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(nc.re);if(!r)return;const[,n,i,s,a,o]=r;return rc.set({h:nc._hue2deg(n),s:xe.channel.clamp.s(parseFloat(i)),l:xe.channel.clamp.l(parseFloat(s)),a:a?xe.channel.clamp.a(o?parseFloat(a)/100:parseFloat(a)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i\u003C1?`hsla(${xe.lang.round(e)}, ${xe.lang.round(r)}%, ${xe.lang.round(n)}%, ${i})`:`hsl(${xe.lang.round(e)}, ${xe.lang.round(r)}%, ${xe.lang.round(n)}%)`}},ic=nc,sc={colors:{aliceblue:\\\"#f0f8ff\\\",antiquewhite:\\\"#faebd7\\\",aqua:\\\"#00ffff\\\",aquamarine:\\\"#7fffd4\\\",azure:\\\"#f0ffff\\\",beige:\\\"#f5f5dc\\\",bisque:\\\"#ffe4c4\\\",black:\\\"#000000\\\",blanchedalmond:\\\"#ffebcd\\\",blue:\\\"#0000ff\\\",blueviolet:\\\"#8a2be2\\\",brown:\\\"#a52a2a\\\",burlywood:\\\"#deb887\\\",cadetblue:\\\"#5f9ea0\\\",chartreuse:\\\"#7fff00\\\",chocolate:\\\"#d2691e\\\",coral:\\\"#ff7f50\\\",cornflowerblue:\\\"#6495ed\\\",cornsilk:\\\"#fff8dc\\\",crimson:\\\"#dc143c\\\",cyanaqua:\\\"#00ffff\\\",darkblue:\\\"#00008b\\\",darkcyan:\\\"#008b8b\\\",darkgoldenrod:\\\"#b8860b\\\",darkgray:\\\"#a9a9a9\\\",darkgreen:\\\"#006400\\\",darkgrey:\\\"#a9a9a9\\\",darkkhaki:\\\"#bdb76b\\\",darkmagenta:\\\"#8b008b\\\",darkolivegreen:\\\"#556b2f\\\",darkorange:\\\"#ff8c00\\\",darkorchid:\\\"#9932cc\\\",darkred:\\\"#8b0000\\\",darksalmon:\\\"#e9967a\\\",darkseagreen:\\\"#8fbc8f\\\",darkslateblue:\\\"#483d8b\\\",darkslategray:\\\"#2f4f4f\\\",darkslategrey:\\\"#2f4f4f\\\",darkturquoise:\\\"#00ced1\\\",darkviolet:\\\"#9400d3\\\",deeppink:\\\"#ff1493\\\",deepskyblue:\\\"#00bfff\\\",dimgray:\\\"#696969\\\",dimgrey:\\\"#696969\\\",dodgerblue:\\\"#1e90ff\\\",firebrick:\\\"#b22222\\\",floralwhite:\\\"#fffaf0\\\",forestgreen:\\\"#228b22\\\",fuchsia:\\\"#ff00ff\\\",gainsboro:\\\"#dcdcdc\\\",ghostwhite:\\\"#f8f8ff\\\",gold:\\\"#ffd700\\\",goldenrod:\\\"#daa520\\\",gray:\\\"#808080\\\",green:\\\"#008000\\\",greenyellow:\\\"#adff2f\\\",grey:\\\"#808080\\\",honeydew:\\\"#f0fff0\\\",hotpink:\\\"#ff69b4\\\",indianred:\\\"#cd5c5c\\\",indigo:\\\"#4b0082\\\",ivory:\\\"#fffff0\\\",khaki:\\\"#f0e68c\\\",lavender:\\\"#e6e6fa\\\",lavenderblush:\\\"#fff0f5\\\",lawngreen:\\\"#7cfc00\\\",lemonchiffon:\\\"#fffacd\\\",lightblue:\\\"#add8e6\\\",lightcoral:\\\"#f08080\\\",lightcyan:\\\"#e0ffff\\\",lightgoldenrodyellow:\\\"#fafad2\\\",lightgray:\\\"#d3d3d3\\\",lightgreen:\\\"#90ee90\\\",lightgrey:\\\"#d3d3d3\\\",lightpink:\\\"#ffb6c1\\\",lightsalmon:\\\"#ffa07a\\\",lightseagreen:\\\"#20b2aa\\\",lightskyblue:\\\"#87cefa\\\",lightslategray:\\\"#778899\\\",lightslategrey:\\\"#778899\\\",lightsteelblue:\\\"#b0c4de\\\",lightyellow:\\\"#ffffe0\\\",lime:\\\"#00ff00\\\",limegreen:\\\"#32cd32\\\",linen:\\\"#faf0e6\\\",magenta:\\\"#ff00ff\\\",maroon:\\\"#800000\\\",mediumaquamarine:\\\"#66cdaa\\\",mediumblue:\\\"#0000cd\\\",mediumorchid:\\\"#ba55d3\\\",mediumpurple:\\\"#9370db\\\",mediumseagreen:\\\"#3cb371\\\",mediumslateblue:\\\"#7b68ee\\\",mediumspringgreen:\\\"#00fa9a\\\",mediumturquoise:\\\"#48d1cc\\\",mediumvioletred:\\\"#c71585\\\",midnightblue:\\\"#191970\\\",mintcream:\\\"#f5fffa\\\",mistyrose:\\\"#ffe4e1\\\",moccasin:\\\"#ffe4b5\\\",navajowhite:\\\"#ffdead\\\",navy:\\\"#000080\\\",oldlace:\\\"#fdf5e6\\\",olive:\\\"#808000\\\",olivedrab:\\\"#6b8e23\\\",orange:\\\"#ffa500\\\",orangered:\\\"#ff4500\\\",orchid:\\\"#da70d6\\\",palegoldenrod:\\\"#eee8aa\\\",palegreen:\\\"#98fb98\\\",paleturquoise:\\\"#afeeee\\\",palevioletred:\\\"#db7093\\\",papayawhip:\\\"#ffefd5\\\",peachpuff:\\\"#ffdab9\\\",peru:\\\"#cd853f\\\",pink:\\\"#ffc0cb\\\",plum:\\\"#dda0dd\\\",powderblue:\\\"#b0e0e6\\\",purple:\\\"#800080\\\",rebeccapurple:\\\"#663399\\\",red:\\\"#ff0000\\\",rosybrown:\\\"#bc8f8f\\\",royalblue:\\\"#4169e1\\\",saddlebrown:\\\"#8b4513\\\",salmon:\\\"#fa8072\\\",sandybrown:\\\"#f4a460\\\",seagreen:\\\"#2e8b57\\\",seashell:\\\"#fff5ee\\\",sienna:\\\"#a0522d\\\",silver:\\\"#c0c0c0\\\",skyblue:\\\"#87ceeb\\\",slateblue:\\\"#6a5acd\\\",slategray:\\\"#708090\\\",slategrey:\\\"#708090\\\",snow:\\\"#fffafa\\\",springgreen:\\\"#00ff7f\\\",tan:\\\"#d2b48c\\\",teal:\\\"#008080\\\",thistle:\\\"#d8bfd8\\\",transparent:\\\"#00000000\\\",turquoise:\\\"#40e0d0\\\",violet:\\\"#ee82ee\\\",wheat:\\\"#f5deb3\\\",white:\\\"#ffffff\\\",whitesmoke:\\\"#f5f5f5\\\",yellow:\\\"#ffff00\\\",yellowgreen:\\\"#9acd32\\\"},parse:t=>{t=t.toLowerCase();const e=sc.colors[t];if(!!e)return so.parse(e)},stringify:t=>{const e=so.stringify(t);for(const r in sc.colors)if(sc.colors[r]===e)return r}},np=sc,ip={re:/^rgba?\\\\(\\\\s*?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e\\\\d+)?(%?))\\\\s*?(?:,|\\\\s)\\\\s*?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e\\\\d+)?(%?))\\\\s*?(?:,|\\\\s)\\\\s*?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e\\\\d+)?(%?))(?:\\\\s*?(?:,|\\\\/)\\\\s*?\\\\+?(-?(?:\\\\d+(?:\\\\.\\\\d+)?|(?:\\\\.\\\\d+))(?:e\\\\d+)?(%?)))?\\\\s*?\\\\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const r=t.match(ip.re);if(!r)return;const[,n,i,s,a,o,l,u,d]=r;return rc.set({r:xe.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:xe.channel.clamp.g(a?parseFloat(s)*2.55:parseFloat(s)),b:xe.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?xe.channel.clamp.a(d?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i\u003C1?`rgba(${xe.lang.round(e)}, ${xe.lang.round(r)}, ${xe.lang.round(n)}, ${xe.lang.round(i)})`:`rgb(${xe.lang.round(e)}, ${xe.lang.round(r)}, ${xe.lang.round(n)})`}},ac=ip,ai={format:{keyword:np,hex:so,rgb:ac,rgba:ac,hsl:ic,hsla:ic},parse:t=>{if(typeof t!=\\\"string\\\")return t;const e=so.parse(t)||ac.parse(t)||ic.parse(t)||np.parse(t);if(e)return e;throw new Error(`Unsupported color format: \\\"${t}\\\"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(wr.HSL)||t.data.r===void 0?ic.stringify(t):t.a\u003C1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?ac.stringify(t):so.stringify(t)},sp=(t,e)=>{const r=ai.parse(t);for(const n in e)r[n]=xe.channel.clamp[n](e[n]);return ai.stringify(r)},ao=(t,e,r=0,n=1)=>{if(typeof t!=\\\"number\\\")return sp(t,{a:e});const i=rc.set({r:xe.channel.clamp.r(t),g:xe.channel.clamp.g(e),b:xe.channel.clamp.b(r),a:xe.channel.clamp.a(n)});return ai.stringify(i)},ap=(t,e,r)=>{const n=ai.parse(t),i=n[e],s=xe.channel.clamp[e](i+r);return i!==s&&(n[e]=s),ai.stringify(n)},ne=(t,e)=>ap(t,\\\"l\\\",e),de=(t,e)=>ap(t,\\\"l\\\",-e),yt=(t,e)=>{const r=ai.parse(t),n={};for(const i in e)!e[i]||(n[i]=r[i]+e[i]);return sp(t,n)},b8=(t,e,r=50)=>{const{r:n,g:i,b:s,a}=ai.parse(t),{r:o,g:l,b:u,a:d}=ai.parse(e),f=r/100,p=f*2-1,g=a-d,k=((p*g===-1?p:(p+g)/(1+p*g))+1)/2,T=1-k,L=n*k+o*T,E=i*k+l*T,I=s*k+u*T,V=a*f+d*(1-f);return ao(L,E,I,V)},Wt=(t,e=100)=>{const r=ai.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,b8(r,t,e)},Mr=(t,e)=>e?yt(t,{s:-40,l:10}):yt(t,{s:-40,l:-10}),oc=\\\"#ffffff\\\",lc=\\\"#f2f2f2\\\";class _8{constructor(){this.background=\\\"#f4f4f4\\\",this.darkMode=!1,this.primaryColor=\\\"#fff4dd\\\",this.noteBkgColor=\\\"#fff5ad\\\",this.noteTextColor=\\\"#333\\\",this.THEME_COLOR_LIMIT=12,this.fontFamily='\\\"trebuchet ms\\\", verdana, arial, sans-serif',this.fontSize=\\\"16px\\\"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?\\\"#eee\\\":\\\"#333\\\"),this.secondaryColor=this.secondaryColor||yt(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||yt(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Mr(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Mr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Mr(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Mr(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||\\\"#fff5ad\\\",this.noteTextColor=this.noteTextColor||\\\"#333\\\",this.secondaryTextColor=this.secondaryTextColor||Wt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Wt(this.tertiaryColor),this.lineColor=this.lineColor||Wt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?de(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||\\\"grey\\\",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||de(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Wt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||\\\"white\\\",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||\\\"#eeeeee\\\",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||ne(this.primaryColor,23),this.gridColor=this.gridColor||\\\"lightgrey\\\",this.doneTaskBkgColor=this.doneTaskBkgColor||\\\"lightgrey\\\",this.doneTaskBorderColor=this.doneTaskBorderColor||\\\"grey\\\",this.critBorderColor=this.critBorderColor||\\\"#ff8888\\\",this.critBkgColor=this.critBkgColor||\\\"red\\\",this.todayLineColor=this.todayLineColor||\\\"red\\\",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||\\\"#003163\\\",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||yt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||yt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||yt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||yt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||yt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||yt(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||yt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||yt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||yt(this.primaryColor,{h:330}),this.darkMode)for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScale\\\"+e]=de(this[\\\"cScale\\\"+e],75);else for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScale\\\"+e]=de(this[\\\"cScale\\\"+e],25);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleInv\\\"+e]=this[\\\"cScaleInv\\\"+e]||Wt(this[\\\"cScale\\\"+e]);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this.darkMode?this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||ne(this[\\\"cScale\\\"+e],10):this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||de(this[\\\"cScale\\\"+e],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleLabel\\\"+e]=this[\\\"cScaleLabel\\\"+e]||this.scaleLabelColor;this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||yt(this.primaryColor,{h:64}),this.fillType3=this.fillType3||yt(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||yt(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||yt(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||yt(this.primaryColor,{h:128}),this.fillType7=this.fillType7||yt(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||yt(this.primaryColor,{l:-10}),this.pie5=this.pie5||yt(this.secondaryColor,{l:-10}),this.pie6=this.pie6||yt(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||yt(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||yt(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||yt(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||yt(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||yt(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||yt(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||\\\"25px\\\",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||\\\"17px\\\",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||\\\"17px\\\",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||\\\"black\\\",this.pieStrokeWidth=this.pieStrokeWidth||\\\"2px\\\",this.pieOpacity=this.pieOpacity||\\\"0.7\\\",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?de(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||yt(this.primaryColor,{h:-30}),this.git4=this.git4||yt(this.primaryColor,{h:-60}),this.git5=this.git5||yt(this.primaryColor,{h:-90}),this.git6=this.git6||yt(this.primaryColor,{h:60}),this.git7=this.git7||yt(this.primaryColor,{h:120}),this.darkMode?(this.git0=ne(this.git0,25),this.git1=ne(this.git1,25),this.git2=ne(this.git2,25),this.git3=ne(this.git3,25),this.git4=ne(this.git4,25),this.git5=ne(this.git5,25),this.git6=ne(this.git6,25),this.git7=ne(this.git7,25)):(this.git0=de(this.git0,25),this.git1=de(this.git1,25),this.git2=de(this.git2,25),this.git3=de(this.git3,25),this.git4=de(this.git4,25),this.git5=de(this.git5,25),this.git6=de(this.git6,25),this.git7=de(this.git7,25)),this.gitInv0=this.gitInv0||Wt(this.git0),this.gitInv1=this.gitInv1||Wt(this.git1),this.gitInv2=this.gitInv2||Wt(this.git2),this.gitInv3=this.gitInv3||Wt(this.git3),this.gitInv4=this.gitInv4||Wt(this.git4),this.gitInv5=this.gitInv5||Wt(this.git5),this.gitInv6=this.gitInv6||Wt(this.git6),this.gitInv7=this.gitInv7||Wt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?\\\"black\\\":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||\\\"10px\\\",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||\\\"10px\\\",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||oc,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lc}calculate(e){if(typeof e!=\\\"object\\\"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}}const x8=t=>{const e=new _8;return e.calculate(t),e};class v8{constructor(){this.background=\\\"#333\\\",this.primaryColor=\\\"#1f2020\\\",this.secondaryColor=ne(this.primaryColor,16),this.tertiaryColor=yt(this.primaryColor,{h:-160}),this.primaryBorderColor=Wt(this.background),this.secondaryBorderColor=Mr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Mr(this.tertiaryColor,this.darkMode),this.primaryTextColor=Wt(this.primaryColor),this.secondaryTextColor=Wt(this.secondaryColor),this.tertiaryTextColor=Wt(this.tertiaryColor),this.lineColor=Wt(this.background),this.textColor=Wt(this.background),this.mainBkg=\\\"#1f2020\\\",this.secondBkg=\\\"calculated\\\",this.mainContrastColor=\\\"lightgrey\\\",this.darkTextColor=ne(Wt(\\\"#323D47\\\"),10),this.lineColor=\\\"calculated\\\",this.border1=\\\"#81B1DB\\\",this.border2=ao(255,255,255,.25),this.arrowheadColor=\\\"calculated\\\",this.fontFamily='\\\"trebuchet ms\\\", verdana, arial, sans-serif',this.fontSize=\\\"16px\\\",this.labelBackground=\\\"#181818\\\",this.textColor=\\\"#ccc\\\",this.THEME_COLOR_LIMIT=12,this.nodeBkg=\\\"calculated\\\",this.nodeBorder=\\\"calculated\\\",this.clusterBkg=\\\"calculated\\\",this.clusterBorder=\\\"calculated\\\",this.defaultLinkColor=\\\"calculated\\\",this.titleColor=\\\"#F9FFFE\\\",this.edgeLabelBackground=\\\"calculated\\\",this.actorBorder=\\\"calculated\\\",this.actorBkg=\\\"calculated\\\",this.actorTextColor=\\\"calculated\\\",this.actorLineColor=\\\"calculated\\\",this.signalColor=\\\"calculated\\\",this.signalTextColor=\\\"calculated\\\",this.labelBoxBkgColor=\\\"calculated\\\",this.labelBoxBorderColor=\\\"calculated\\\",this.labelTextColor=\\\"calculated\\\",this.loopTextColor=\\\"calculated\\\",this.noteBorderColor=\\\"calculated\\\",this.noteBkgColor=\\\"#fff5ad\\\",this.noteTextColor=\\\"calculated\\\",this.activationBorderColor=\\\"calculated\\\",this.activationBkgColor=\\\"calculated\\\",this.sequenceNumberColor=\\\"black\\\",this.sectionBkgColor=de(\\\"#EAE8D9\\\",30),this.altSectionBkgColor=\\\"calculated\\\",this.sectionBkgColor2=\\\"#EAE8D9\\\",this.taskBorderColor=ao(255,255,255,70),this.taskBkgColor=\\\"calculated\\\",this.taskTextColor=\\\"calculated\\\",this.taskTextLightColor=\\\"calculated\\\",this.taskTextOutsideColor=\\\"calculated\\\",this.taskTextClickableColor=\\\"#003163\\\",this.activeTaskBorderColor=ao(255,255,255,50),this.activeTaskBkgColor=\\\"#81B1DB\\\",this.gridColor=\\\"calculated\\\",this.doneTaskBkgColor=\\\"calculated\\\",this.doneTaskBorderColor=\\\"grey\\\",this.critBorderColor=\\\"#E83737\\\",this.critBkgColor=\\\"#E83737\\\",this.taskTextDarkColor=\\\"calculated\\\",this.todayLineColor=\\\"#DB5757\\\",this.personBorder=\\\"calculated\\\",this.personBkg=\\\"calculated\\\",this.labelColor=\\\"calculated\\\",this.errorBkgColor=\\\"#a44141\\\",this.errorTextColor=\\\"#ddd\\\"}updateColors(){this.secondBkg=ne(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=ne(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=ne(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||\\\"#555\\\",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=\\\"#f4f4f4\\\",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=yt(this.primaryColor,{h:64}),this.fillType3=yt(this.secondaryColor,{h:64}),this.fillType4=yt(this.primaryColor,{h:-64}),this.fillType5=yt(this.secondaryColor,{h:-64}),this.fillType6=yt(this.primaryColor,{h:128}),this.fillType7=yt(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||\\\"#0b0000\\\",this.cScale2=this.cScale2||\\\"#4d1037\\\",this.cScale3=this.cScale3||\\\"#3f5258\\\",this.cScale4=this.cScale4||\\\"#4f2f1b\\\",this.cScale5=this.cScale5||\\\"#6e0a0a\\\",this.cScale6=this.cScale6||\\\"#3b0048\\\",this.cScale7=this.cScale7||\\\"#995a01\\\",this.cScale8=this.cScale8||\\\"#154706\\\",this.cScale9=this.cScale9||\\\"#161722\\\",this.cScale10=this.cScale10||\\\"#00296f\\\",this.cScale11=this.cScale11||\\\"#01629c\\\",this.cScale12=this.cScale12||\\\"#010029\\\",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||yt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||yt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||yt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||yt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||yt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||yt(this.primaryColor,{h:210}),this.cScale9=this.cScale9||yt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||yt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||yt(this.primaryColor,{h:330});for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleInv\\\"+e]=this[\\\"cScaleInv\\\"+e]||Wt(this[\\\"cScale\\\"+e]);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||ne(this[\\\"cScale\\\"+e],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?\\\"black\\\":this.labelTextColor);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleLabel\\\"+e]=this[\\\"cScaleLabel\\\"+e]||this.scaleLabelColor;for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"pie\\\"+e]=this[\\\"cScale\\\"+e];this.pieTitleTextSize=this.pieTitleTextSize||\\\"25px\\\",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||\\\"17px\\\",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||\\\"17px\\\",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||\\\"black\\\",this.pieStrokeWidth=this.pieStrokeWidth||\\\"2px\\\",this.pieOpacity=this.pieOpacity||\\\"0.7\\\",this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?de(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=ne(this.secondaryColor,20),this.git1=ne(this.pie2||this.secondaryColor,20),this.git2=ne(this.pie3||this.tertiaryColor,20),this.git3=ne(this.pie4||yt(this.primaryColor,{h:-30}),20),this.git4=ne(this.pie5||yt(this.primaryColor,{h:-60}),20),this.git5=ne(this.pie6||yt(this.primaryColor,{h:-90}),10),this.git6=ne(this.pie7||yt(this.primaryColor,{h:60}),10),this.git7=ne(this.pie8||yt(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||Wt(this.git0),this.gitInv1=this.gitInv1||Wt(this.git1),this.gitInv2=this.gitInv2||Wt(this.git2),this.gitInv3=this.gitInv3||Wt(this.git3),this.gitInv4=this.gitInv4||Wt(this.git4),this.gitInv5=this.gitInv5||Wt(this.git5),this.gitInv6=this.gitInv6||Wt(this.git6),this.gitInv7=this.gitInv7||Wt(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||\\\"10px\\\",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||\\\"10px\\\",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||ne(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||ne(this.background,2)}calculate(e){if(typeof e!=\\\"object\\\"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}}const k8=t=>{const e=new v8;return e.calculate(t),e};class w8{constructor(){this.background=\\\"#f4f4f4\\\",this.primaryColor=\\\"#ECECFF\\\",this.secondaryColor=yt(this.primaryColor,{h:120}),this.secondaryColor=\\\"#ffffde\\\",this.tertiaryColor=yt(this.primaryColor,{h:-160}),this.primaryBorderColor=Mr(this.primaryColor,this.darkMode),this.secondaryBorderColor=Mr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Mr(this.tertiaryColor,this.darkMode),this.primaryTextColor=Wt(this.primaryColor),this.secondaryTextColor=Wt(this.secondaryColor),this.tertiaryTextColor=Wt(this.tertiaryColor),this.lineColor=Wt(this.background),this.textColor=Wt(this.background),this.background=\\\"white\\\",this.mainBkg=\\\"#ECECFF\\\",this.secondBkg=\\\"#ffffde\\\",this.lineColor=\\\"#333333\\\",this.border1=\\\"#9370DB\\\",this.border2=\\\"#aaaa33\\\",this.arrowheadColor=\\\"#333333\\\",this.fontFamily='\\\"trebuchet ms\\\", verdana, arial, sans-serif',this.fontSize=\\\"16px\\\",this.labelBackground=\\\"#e8e8e8\\\",this.textColor=\\\"#333\\\",this.THEME_COLOR_LIMIT=12,this.nodeBkg=\\\"calculated\\\",this.nodeBorder=\\\"calculated\\\",this.clusterBkg=\\\"calculated\\\",this.clusterBorder=\\\"calculated\\\",this.defaultLinkColor=\\\"calculated\\\",this.titleColor=\\\"calculated\\\",this.edgeLabelBackground=\\\"calculated\\\",this.actorBorder=\\\"calculated\\\",this.actorBkg=\\\"calculated\\\",this.actorTextColor=\\\"black\\\",this.actorLineColor=\\\"grey\\\",this.signalColor=\\\"calculated\\\",this.signalTextColor=\\\"calculated\\\",this.labelBoxBkgColor=\\\"calculated\\\",this.labelBoxBorderColor=\\\"calculated\\\",this.labelTextColor=\\\"calculated\\\",this.loopTextColor=\\\"calculated\\\",this.noteBorderColor=\\\"calculated\\\",this.noteBkgColor=\\\"#fff5ad\\\",this.noteTextColor=\\\"calculated\\\",this.activationBorderColor=\\\"#666\\\",this.activationBkgColor=\\\"#f4f4f4\\\",this.sequenceNumberColor=\\\"white\\\",this.sectionBkgColor=\\\"calculated\\\",this.altSectionBkgColor=\\\"calculated\\\",this.sectionBkgColor2=\\\"calculated\\\",this.excludeBkgColor=\\\"#eeeeee\\\",this.taskBorderColor=\\\"calculated\\\",this.taskBkgColor=\\\"calculated\\\",this.taskTextLightColor=\\\"calculated\\\",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=\\\"calculated\\\",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor=\\\"calculated\\\",this.activeTaskBorderColor=\\\"calculated\\\",this.activeTaskBkgColor=\\\"calculated\\\",this.gridColor=\\\"calculated\\\",this.doneTaskBkgColor=\\\"calculated\\\",this.doneTaskBorderColor=\\\"calculated\\\",this.critBorderColor=\\\"calculated\\\",this.critBkgColor=\\\"calculated\\\",this.todayLineColor=\\\"calculated\\\",this.sectionBkgColor=ao(102,102,255,.49),this.altSectionBkgColor=\\\"white\\\",this.sectionBkgColor2=\\\"#fff400\\\",this.taskBorderColor=\\\"#534fbc\\\",this.taskBkgColor=\\\"#8a90dd\\\",this.taskTextLightColor=\\\"white\\\",this.taskTextColor=\\\"calculated\\\",this.taskTextDarkColor=\\\"black\\\",this.taskTextOutsideColor=\\\"calculated\\\",this.taskTextClickableColor=\\\"#003163\\\",this.activeTaskBorderColor=\\\"#534fbc\\\",this.activeTaskBkgColor=\\\"#bfc7ff\\\",this.gridColor=\\\"lightgrey\\\",this.doneTaskBkgColor=\\\"lightgrey\\\",this.doneTaskBorderColor=\\\"grey\\\",this.critBorderColor=\\\"#ff8888\\\",this.critBkgColor=\\\"red\\\",this.todayLineColor=\\\"red\\\",this.personBorder=\\\"calculated\\\",this.personBkg=\\\"calculated\\\",this.labelColor=\\\"black\\\",this.errorBkgColor=\\\"#552222\\\",this.errorTextColor=\\\"#552222\\\",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||yt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||yt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||yt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||yt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||yt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||yt(this.primaryColor,{h:210}),this.cScale9=this.cScale9||yt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||yt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||yt(this.primaryColor,{h:330}),this[\\\"cScalePeer\\\"+1]=this[\\\"cScalePeer\\\"+1]||de(this.secondaryColor,45),this[\\\"cScalePeer\\\"+2]=this[\\\"cScalePeer\\\"+2]||de(this.tertiaryColor,40);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScale\\\"+e]=de(this[\\\"cScale\\\"+e],10),this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||de(this[\\\"cScale\\\"+e],25);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleInv\\\"+e]=this[\\\"cScaleInv\\\"+e]||yt(this[\\\"cScale\\\"+e],{h:180});if(this.scaleLabelColor=this.scaleLabelColor!==\\\"calculated\\\"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,this.labelTextColor!==\\\"calculated\\\"){this.cScaleLabel0=this.cScaleLabel0||Wt(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||Wt(this.labelTextColor);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleLabel\\\"+e]=this[\\\"cScaleLabel\\\"+e]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=ne(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||\\\"#f0f0f0\\\",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=yt(this.primaryColor,{h:64}),this.fillType3=yt(this.secondaryColor,{h:64}),this.fillType4=yt(this.primaryColor,{h:-64}),this.fillType5=yt(this.secondaryColor,{h:-64}),this.fillType6=yt(this.primaryColor,{h:128}),this.fillType7=yt(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||yt(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||yt(this.primaryColor,{l:-10}),this.pie5=this.pie5||yt(this.secondaryColor,{l:-30}),this.pie6=this.pie6||yt(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||yt(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||yt(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||yt(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||yt(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||yt(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||yt(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||\\\"25px\\\",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||\\\"17px\\\",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||\\\"17px\\\",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||\\\"black\\\",this.pieStrokeWidth=this.pieStrokeWidth||\\\"2px\\\",this.pieOpacity=this.pieOpacity||\\\"0.7\\\",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||yt(this.primaryColor,{h:-30}),this.git4=this.git4||yt(this.primaryColor,{h:-60}),this.git5=this.git5||yt(this.primaryColor,{h:-90}),this.git6=this.git6||yt(this.primaryColor,{h:60}),this.git7=this.git7||yt(this.primaryColor,{h:120}),this.darkMode?(this.git0=ne(this.git0,25),this.git1=ne(this.git1,25),this.git2=ne(this.git2,25),this.git3=ne(this.git3,25),this.git4=ne(this.git4,25),this.git5=ne(this.git5,25),this.git6=ne(this.git6,25),this.git7=ne(this.git7,25)):(this.git0=de(this.git0,25),this.git1=de(this.git1,25),this.git2=de(this.git2,25),this.git3=de(this.git3,25),this.git4=de(this.git4,25),this.git5=de(this.git5,25),this.git6=de(this.git6,25),this.git7=de(this.git7,25)),this.gitInv0=this.gitInv0||de(Wt(this.git0),25),this.gitInv1=this.gitInv1||Wt(this.git1),this.gitInv2=this.gitInv2||Wt(this.git2),this.gitInv3=this.gitInv3||Wt(this.git3),this.gitInv4=this.gitInv4||Wt(this.git4),this.gitInv5=this.gitInv5||Wt(this.git5),this.gitInv6=this.gitInv6||Wt(this.git6),this.gitInv7=this.gitInv7||Wt(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Wt(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Wt(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||\\\"10px\\\",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||\\\"10px\\\",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||oc,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lc}calculate(e){if(typeof e!=\\\"object\\\"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}}const T8=t=>{const e=new w8;return e.calculate(t),e};class E8{constructor(){this.background=\\\"#f4f4f4\\\",this.primaryColor=\\\"#cde498\\\",this.secondaryColor=\\\"#cdffb2\\\",this.background=\\\"white\\\",this.mainBkg=\\\"#cde498\\\",this.secondBkg=\\\"#cdffb2\\\",this.lineColor=\\\"green\\\",this.border1=\\\"#13540c\\\",this.border2=\\\"#6eaa49\\\",this.arrowheadColor=\\\"green\\\",this.fontFamily='\\\"trebuchet ms\\\", verdana, arial, sans-serif',this.fontSize=\\\"16px\\\",this.tertiaryColor=ne(\\\"#cde498\\\",10),this.primaryBorderColor=Mr(this.primaryColor,this.darkMode),this.secondaryBorderColor=Mr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Mr(this.tertiaryColor,this.darkMode),this.primaryTextColor=Wt(this.primaryColor),this.secondaryTextColor=Wt(this.secondaryColor),this.tertiaryTextColor=Wt(this.primaryColor),this.lineColor=Wt(this.background),this.textColor=Wt(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg=\\\"calculated\\\",this.nodeBorder=\\\"calculated\\\",this.clusterBkg=\\\"calculated\\\",this.clusterBorder=\\\"calculated\\\",this.defaultLinkColor=\\\"calculated\\\",this.titleColor=\\\"#333\\\",this.edgeLabelBackground=\\\"#e8e8e8\\\",this.actorBorder=\\\"calculated\\\",this.actorBkg=\\\"calculated\\\",this.actorTextColor=\\\"black\\\",this.actorLineColor=\\\"grey\\\",this.signalColor=\\\"#333\\\",this.signalTextColor=\\\"#333\\\",this.labelBoxBkgColor=\\\"calculated\\\",this.labelBoxBorderColor=\\\"#326932\\\",this.labelTextColor=\\\"calculated\\\",this.loopTextColor=\\\"calculated\\\",this.noteBorderColor=\\\"calculated\\\",this.noteBkgColor=\\\"#fff5ad\\\",this.noteTextColor=\\\"calculated\\\",this.activationBorderColor=\\\"#666\\\",this.activationBkgColor=\\\"#f4f4f4\\\",this.sequenceNumberColor=\\\"white\\\",this.sectionBkgColor=\\\"#6eaa49\\\",this.altSectionBkgColor=\\\"white\\\",this.sectionBkgColor2=\\\"#6eaa49\\\",this.excludeBkgColor=\\\"#eeeeee\\\",this.taskBorderColor=\\\"calculated\\\",this.taskBkgColor=\\\"#487e3a\\\",this.taskTextLightColor=\\\"white\\\",this.taskTextColor=\\\"calculated\\\",this.taskTextDarkColor=\\\"black\\\",this.taskTextOutsideColor=\\\"calculated\\\",this.taskTextClickableColor=\\\"#003163\\\",this.activeTaskBorderColor=\\\"calculated\\\",this.activeTaskBkgColor=\\\"calculated\\\",this.gridColor=\\\"lightgrey\\\",this.doneTaskBkgColor=\\\"lightgrey\\\",this.doneTaskBorderColor=\\\"grey\\\",this.critBorderColor=\\\"#ff8888\\\",this.critBkgColor=\\\"red\\\",this.todayLineColor=\\\"red\\\",this.personBorder=\\\"calculated\\\",this.personBkg=\\\"calculated\\\",this.labelColor=\\\"black\\\",this.errorBkgColor=\\\"#552222\\\",this.errorTextColor=\\\"#552222\\\"}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||yt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||yt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||yt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||yt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||yt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||yt(this.primaryColor,{h:210}),this.cScale9=this.cScale9||yt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||yt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||yt(this.primaryColor,{h:330}),this[\\\"cScalePeer\\\"+1]=this[\\\"cScalePeer\\\"+1]||de(this.secondaryColor,45),this[\\\"cScalePeer\\\"+2]=this[\\\"cScalePeer\\\"+2]||de(this.tertiaryColor,40);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScale\\\"+e]=de(this[\\\"cScale\\\"+e],10),this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||de(this[\\\"cScale\\\"+e],25);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleInv\\\"+e]=this[\\\"cScaleInv\\\"+e]||yt(this[\\\"cScale\\\"+e],{h:180});this.scaleLabelColor=this.scaleLabelColor!==\\\"calculated\\\"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleLabel\\\"+e]=this[\\\"cScaleLabel\\\"+e]||this.scaleLabelColor;this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=de(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||\\\"#f0f0f0\\\",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=yt(this.primaryColor,{h:64}),this.fillType3=yt(this.secondaryColor,{h:64}),this.fillType4=yt(this.primaryColor,{h:-64}),this.fillType5=yt(this.secondaryColor,{h:-64}),this.fillType6=yt(this.primaryColor,{h:128}),this.fillType7=yt(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||yt(this.primaryColor,{l:-30}),this.pie5=this.pie5||yt(this.secondaryColor,{l:-30}),this.pie6=this.pie6||yt(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||yt(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||yt(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||yt(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||yt(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||yt(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||yt(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||\\\"25px\\\",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||\\\"17px\\\",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||\\\"17px\\\",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||\\\"black\\\",this.pieStrokeWidth=this.pieStrokeWidth||\\\"2px\\\",this.pieOpacity=this.pieOpacity||\\\"0.7\\\",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||yt(this.primaryColor,{h:-30}),this.git4=this.git4||yt(this.primaryColor,{h:-60}),this.git5=this.git5||yt(this.primaryColor,{h:-90}),this.git6=this.git6||yt(this.primaryColor,{h:60}),this.git7=this.git7||yt(this.primaryColor,{h:120}),this.darkMode?(this.git0=ne(this.git0,25),this.git1=ne(this.git1,25),this.git2=ne(this.git2,25),this.git3=ne(this.git3,25),this.git4=ne(this.git4,25),this.git5=ne(this.git5,25),this.git6=ne(this.git6,25),this.git7=ne(this.git7,25)):(this.git0=de(this.git0,25),this.git1=de(this.git1,25),this.git2=de(this.git2,25),this.git3=de(this.git3,25),this.git4=de(this.git4,25),this.git5=de(this.git5,25),this.git6=de(this.git6,25),this.git7=de(this.git7,25)),this.gitInv0=this.gitInv0||Wt(this.git0),this.gitInv1=this.gitInv1||Wt(this.git1),this.gitInv2=this.gitInv2||Wt(this.git2),this.gitInv3=this.gitInv3||Wt(this.git3),this.gitInv4=this.gitInv4||Wt(this.git4),this.gitInv5=this.gitInv5||Wt(this.git5),this.gitInv6=this.gitInv6||Wt(this.git6),this.gitInv7=this.gitInv7||Wt(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||\\\"10px\\\",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||\\\"10px\\\",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||oc,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lc}calculate(e){if(typeof e!=\\\"object\\\"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}}const C8=t=>{const e=new E8;return e.calculate(t),e};class S8{constructor(){this.primaryColor=\\\"#eee\\\",this.contrast=\\\"#707070\\\",this.secondaryColor=ne(this.contrast,55),this.background=\\\"#ffffff\\\",this.tertiaryColor=yt(this.primaryColor,{h:-160}),this.primaryBorderColor=Mr(this.primaryColor,this.darkMode),this.secondaryBorderColor=Mr(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Mr(this.tertiaryColor,this.darkMode),this.primaryTextColor=Wt(this.primaryColor),this.secondaryTextColor=Wt(this.secondaryColor),this.tertiaryTextColor=Wt(this.tertiaryColor),this.lineColor=Wt(this.background),this.textColor=Wt(this.background),this.mainBkg=\\\"#eee\\\",this.secondBkg=\\\"calculated\\\",this.lineColor=\\\"#666\\\",this.border1=\\\"#999\\\",this.border2=\\\"calculated\\\",this.note=\\\"#ffa\\\",this.text=\\\"#333\\\",this.critical=\\\"#d42\\\",this.done=\\\"#bbb\\\",this.arrowheadColor=\\\"#333333\\\",this.fontFamily='\\\"trebuchet ms\\\", verdana, arial, sans-serif',this.fontSize=\\\"16px\\\",this.THEME_COLOR_LIMIT=12,this.nodeBkg=\\\"calculated\\\",this.nodeBorder=\\\"calculated\\\",this.clusterBkg=\\\"calculated\\\",this.clusterBorder=\\\"calculated\\\",this.defaultLinkColor=\\\"calculated\\\",this.titleColor=\\\"calculated\\\",this.edgeLabelBackground=\\\"white\\\",this.actorBorder=\\\"calculated\\\",this.actorBkg=\\\"calculated\\\",this.actorTextColor=\\\"calculated\\\",this.actorLineColor=\\\"calculated\\\",this.signalColor=\\\"calculated\\\",this.signalTextColor=\\\"calculated\\\",this.labelBoxBkgColor=\\\"calculated\\\",this.labelBoxBorderColor=\\\"calculated\\\",this.labelTextColor=\\\"calculated\\\",this.loopTextColor=\\\"calculated\\\",this.noteBorderColor=\\\"calculated\\\",this.noteBkgColor=\\\"calculated\\\",this.noteTextColor=\\\"calculated\\\",this.activationBorderColor=\\\"#666\\\",this.activationBkgColor=\\\"#f4f4f4\\\",this.sequenceNumberColor=\\\"white\\\",this.sectionBkgColor=\\\"calculated\\\",this.altSectionBkgColor=\\\"white\\\",this.sectionBkgColor2=\\\"calculated\\\",this.excludeBkgColor=\\\"#eeeeee\\\",this.taskBorderColor=\\\"calculated\\\",this.taskBkgColor=\\\"calculated\\\",this.taskTextLightColor=\\\"white\\\",this.taskTextColor=\\\"calculated\\\",this.taskTextDarkColor=\\\"calculated\\\",this.taskTextOutsideColor=\\\"calculated\\\",this.taskTextClickableColor=\\\"#003163\\\",this.activeTaskBorderColor=\\\"calculated\\\",this.activeTaskBkgColor=\\\"calculated\\\",this.gridColor=\\\"calculated\\\",this.doneTaskBkgColor=\\\"calculated\\\",this.doneTaskBorderColor=\\\"calculated\\\",this.critBkgColor=\\\"calculated\\\",this.critBorderColor=\\\"calculated\\\",this.todayLineColor=\\\"calculated\\\",this.personBorder=\\\"calculated\\\",this.personBkg=\\\"calculated\\\",this.labelColor=\\\"black\\\",this.errorBkgColor=\\\"#552222\\\",this.errorTextColor=\\\"#552222\\\"}updateColors(){this.secondBkg=ne(this.contrast,55),this.border2=this.contrast,this.cScale0=this.cScale0||\\\"#555\\\",this.cScale1=this.cScale1||\\\"#F4F4F4\\\",this.cScale2=this.cScale2||\\\"#555\\\",this.cScale3=this.cScale3||\\\"#BBB\\\",this.cScale4=this.cScale4||\\\"#777\\\",this.cScale5=this.cScale5||\\\"#999\\\",this.cScale6=this.cScale6||\\\"#DDD\\\",this.cScale7=this.cScale7||\\\"#FFF\\\",this.cScale8=this.cScale8||\\\"#DDD\\\",this.cScale9=this.cScale9||\\\"#BBB\\\",this.cScale10=this.cScale10||\\\"#999\\\",this.cScale11=this.cScale11||\\\"#777\\\";for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleInv\\\"+e]=this[\\\"cScaleInv\\\"+e]||Wt(this[\\\"cScale\\\"+e]);for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this.darkMode?this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||ne(this[\\\"cScale\\\"+e],10):this[\\\"cScalePeer\\\"+e]=this[\\\"cScalePeer\\\"+e]||de(this[\\\"cScale\\\"+e],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?\\\"black\\\":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"cScaleLabel\\\"+e]=this[\\\"cScaleLabel\\\"+e]||this.scaleLabelColor;this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=ne(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor=\\\"#999\\\",this.noteBkgColor=\\\"#666\\\",this.noteTextColor=\\\"#fff\\\",this.sectionBkgColor=ne(this.contrast,30),this.sectionBkgColor2=ne(this.contrast,30),this.taskBorderColor=de(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=ne(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=de(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||\\\"#000\\\",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||\\\"#f4f4f4\\\",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||\\\"#000\\\",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=\\\"#222\\\",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=yt(this.primaryColor,{h:64}),this.fillType3=yt(this.secondaryColor,{h:64}),this.fillType4=yt(this.primaryColor,{h:-64}),this.fillType5=yt(this.secondaryColor,{h:-64}),this.fillType6=yt(this.primaryColor,{h:128}),this.fillType7=yt(this.secondaryColor,{h:128});for(let e=0;e\u003Cthis.THEME_COLOR_LIMIT;e++)this[\\\"pie\\\"+e]=this[\\\"cScale\\\"+e];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||\\\"25px\\\",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||\\\"17px\\\",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||\\\"17px\\\",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||\\\"black\\\",this.pieStrokeWidth=this.pieStrokeWidth||\\\"2px\\\",this.pieOpacity=this.pieOpacity||\\\"0.7\\\",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=de(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||yt(this.primaryColor,{h:-30}),this.git4=this.pie5||yt(this.primaryColor,{h:-60}),this.git5=this.pie6||yt(this.primaryColor,{h:-90}),this.git6=this.pie7||yt(this.primaryColor,{h:60}),this.git7=this.pie8||yt(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||Wt(this.git0),this.gitInv1=this.gitInv1||Wt(this.git1),this.gitInv2=this.gitInv2||Wt(this.git2),this.gitInv3=this.gitInv3||Wt(this.git3),this.gitInv4=this.gitInv4||Wt(this.git4),this.gitInv5=this.gitInv5||Wt(this.git5),this.gitInv6=this.gitInv6||Wt(this.git6),this.gitInv7=this.gitInv7||Wt(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1=\\\"white\\\",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3=\\\"white\\\",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||\\\"10px\\\",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||\\\"10px\\\",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||oc,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lc}calculate(e){if(typeof e!=\\\"object\\\"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}}const oi={base:{getThemeVariables:x8},dark:{getThemeVariables:k8},default:{getThemeVariables:T8},forest:{getThemeVariables:C8},neutral:{getThemeVariables:t=>{const e=new S8;return e.calculate(t),e}}},Fi={theme:\\\"default\\\",themeVariables:oi.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,darkMode:!1,fontFamily:'\\\"trebuchet ms\\\", verdana, arial, sans-serif;',logLevel:5,securityLevel:\\\"strict\\\",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:[\\\"secure\\\",\\\"securityLevel\\\",\\\"startOnLoad\\\",\\\"maxTextSize\\\"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:\\\"basis\\\",padding:15,useMaxWidth:!0,defaultRenderer:\\\"dagre-wrapper\\\"},sequence:{hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:\\\"center\\\",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'\\\"Open Sans\\\", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'\\\"trebuchet ms\\\", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:\\\"center\\\",messageFontSize:16,messageFontFamily:'\\\"trebuchet ms\\\", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:\\\"%Y-%m-%d\\\",tickInterval:void 0,useMaxWidth:!0,topAxis:!1,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:\\\"center\\\",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'\\\"Open Sans\\\", sans-serif',taskMargin:50,activationWidth:10,textPlacement:\\\"fo\\\",actorColours:[\\\"#8FBC8F\\\",\\\"#7CFC00\\\",\\\"#00FFFF\\\",\\\"#20B2AA\\\",\\\"#B0E0E6\\\",\\\"#FFFFE0\\\"],sectionFills:[\\\"#191970\\\",\\\"#8B008B\\\",\\\"#4B0082\\\",\\\"#2F4F4F\\\",\\\"#800000\\\",\\\"#8B4513\\\",\\\"#00008B\\\"],sectionColours:[\\\"#fff\\\"]},class:{titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,useMaxWidth:!0,defaultRenderer:\\\"dagre-wrapper\\\"},state:{titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:\\\"20\\\",compositTitleSize:35,radius:5,useMaxWidth:!0,defaultRenderer:\\\"dagre-wrapper\\\"},er:{titleTopMargin:25,diagramPadding:20,layoutDirection:\\\"TB\\\",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:\\\"gray\\\",fill:\\\"honeydew\\\",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0},requirement:{useWidth:void 0,useMaxWidth:!0,rect_fill:\\\"#f9f9f9\\\",text_color:\\\"#333\\\",rect_border_size:\\\"0.5px\\\",rect_border_color:\\\"#bbb\\\",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},gitGraph:{titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:\\\"main\\\",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0},c4:{useWidth:void 0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,useMaxWidth:!0,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'\\\"Open Sans\\\", sans-serif',personFontWeight:\\\"normal\\\",external_personFontSize:14,external_personFontFamily:'\\\"Open Sans\\\", sans-serif',external_personFontWeight:\\\"normal\\\",systemFontSize:14,systemFontFamily:'\\\"Open Sans\\\", sans-serif',systemFontWeight:\\\"normal\\\",external_systemFontSize:14,external_systemFontFamily:'\\\"Open Sans\\\", sans-serif',external_systemFontWeight:\\\"normal\\\",system_dbFontSize:14,system_dbFontFamily:'\\\"Open Sans\\\", sans-serif',system_dbFontWeight:\\\"normal\\\",external_system_dbFontSize:14,external_system_dbFontFamily:'\\\"Open Sans\\\", sans-serif',external_system_dbFontWeight:\\\"normal\\\",system_queueFontSize:14,system_queueFontFamily:'\\\"Open Sans\\\", sans-serif',system_queueFontWeight:\\\"normal\\\",external_system_queueFontSize:14,external_system_queueFontFamily:'\\\"Open Sans\\\", sans-serif',external_system_queueFontWeight:\\\"normal\\\",boundaryFontSize:14,boundaryFontFamily:'\\\"Open Sans\\\", sans-serif',boundaryFontWeight:\\\"normal\\\",messageFontSize:12,messageFontFamily:'\\\"Open Sans\\\", sans-serif',messageFontWeight:\\\"normal\\\",containerFontSize:14,containerFontFamily:'\\\"Open Sans\\\", sans-serif',containerFontWeight:\\\"normal\\\",external_containerFontSize:14,external_containerFontFamily:'\\\"Open Sans\\\", sans-serif',external_containerFontWeight:\\\"normal\\\",container_dbFontSize:14,container_dbFontFamily:'\\\"Open Sans\\\", sans-serif',container_dbFontWeight:\\\"normal\\\",external_container_dbFontSize:14,external_container_dbFontFamily:'\\\"Open Sans\\\", sans-serif',external_container_dbFontWeight:\\\"normal\\\",container_queueFontSize:14,container_queueFontFamily:'\\\"Open Sans\\\", sans-serif',container_queueFontWeight:\\\"normal\\\",external_container_queueFontSize:14,external_container_queueFontFamily:'\\\"Open Sans\\\", sans-serif',external_container_queueFontWeight:\\\"normal\\\",componentFontSize:14,componentFontFamily:'\\\"Open Sans\\\", sans-serif',componentFontWeight:\\\"normal\\\",external_componentFontSize:14,external_componentFontFamily:'\\\"Open Sans\\\", sans-serif',external_componentFontWeight:\\\"normal\\\",component_dbFontSize:14,component_dbFontFamily:'\\\"Open Sans\\\", sans-serif',component_dbFontWeight:\\\"normal\\\",external_component_dbFontSize:14,external_component_dbFontFamily:'\\\"Open Sans\\\", sans-serif',external_component_dbFontWeight:\\\"normal\\\",component_queueFontSize:14,component_queueFontFamily:'\\\"Open Sans\\\", sans-serif',component_queueFontWeight:\\\"normal\\\",external_component_queueFontSize:14,external_component_queueFontFamily:'\\\"Open Sans\\\", sans-serif',external_component_queueFontWeight:\\\"normal\\\",wrap:!0,wrapPadding:10,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},person_bg_color:\\\"#08427B\\\",person_border_color:\\\"#073B6F\\\",external_person_bg_color:\\\"#686868\\\",external_person_border_color:\\\"#8A8A8A\\\",system_bg_color:\\\"#1168BD\\\",system_border_color:\\\"#3C7FC0\\\",system_db_bg_color:\\\"#1168BD\\\",system_db_border_color:\\\"#3C7FC0\\\",system_queue_bg_color:\\\"#1168BD\\\",system_queue_border_color:\\\"#3C7FC0\\\",external_system_bg_color:\\\"#999999\\\",external_system_border_color:\\\"#8A8A8A\\\",external_system_db_bg_color:\\\"#999999\\\",external_system_db_border_color:\\\"#8A8A8A\\\",external_system_queue_bg_color:\\\"#999999\\\",external_system_queue_border_color:\\\"#8A8A8A\\\",container_bg_color:\\\"#438DD5\\\",container_border_color:\\\"#3C7FC0\\\",container_db_bg_color:\\\"#438DD5\\\",container_db_border_color:\\\"#3C7FC0\\\",container_queue_bg_color:\\\"#438DD5\\\",container_queue_border_color:\\\"#3C7FC0\\\",external_container_bg_color:\\\"#B3B3B3\\\",external_container_border_color:\\\"#A6A6A6\\\",external_container_db_bg_color:\\\"#B3B3B3\\\",external_container_db_border_color:\\\"#A6A6A6\\\",external_container_queue_bg_color:\\\"#B3B3B3\\\",external_container_queue_border_color:\\\"#A6A6A6\\\",component_bg_color:\\\"#85BBF0\\\",component_border_color:\\\"#78A8D8\\\",component_db_bg_color:\\\"#85BBF0\\\",component_db_border_color:\\\"#78A8D8\\\",component_queue_bg_color:\\\"#85BBF0\\\",component_queue_border_color:\\\"#78A8D8\\\",external_component_bg_color:\\\"#CCCCCC\\\",external_component_border_color:\\\"#BFBFBF\\\",external_component_db_bg_color:\\\"#CCCCCC\\\",external_component_db_border_color:\\\"#BFBFBF\\\",external_component_queue_bg_color:\\\"#CCCCCC\\\",external_component_queue_border_color:\\\"#BFBFBF\\\"},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},fontSize:16};Fi.class&&(Fi.class.arrowMarkerAbsolute=Fi.arrowMarkerAbsolute),Fi.gitGraph&&(Fi.gitGraph.arrowMarkerAbsolute=Fi.arrowMarkerAbsolute);const op=(t,e=\\\"\\\")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]==\\\"object\\\"&&t[n]!==null?[...r,e+n,...op(t[n],\\\"\\\")]:[...r,e+n],[]),A8=op(Fi,\\\"\\\"),L8=Fi;/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function lp(t){return typeof t>\\\"u\\\"||t===null}function D8(t){return typeof t==\\\"object\\\"&&t!==null}function M8(t){return Array.isArray(t)?t:lp(t)?[]:[t]}function N8(t,e){var r,n,i,s;if(e)for(s=Object.keys(e),r=0,n=s.length;r\u003Cn;r+=1)i=s[r],t[i]=e[i];return t}function B8(t,e){var r=\\\"\\\",n;for(n=0;n\u003Ce;n+=1)r+=t;return r}function I8(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}var O8=lp,R8=D8,F8=M8,P8=B8,Y8=I8,V8=N8,Nr={isNothing:O8,isObject:R8,toArray:F8,repeat:P8,isNegativeZero:Y8,extend:V8};function cp(t,e){var r=\\\"\\\",n=t.reason||\\\"(unknown reason)\\\";return t.mark?(t.mark.name&&(r+='in \\\"'+t.mark.name+'\\\" '),r+=\\\"(\\\"+(t.mark.line+1)+\\\":\\\"+(t.mark.column+1)+\\\")\\\",!e&&t.mark.snippet&&(r+=`\\n\\n`+t.mark.snippet),n+\\\" \\\"+r):n}function oo(t,e){Error.call(this),this.name=\\\"YAMLException\\\",this.reason=t,this.mark=e,this.message=cp(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\\\"\\\"}oo.prototype=Object.create(Error.prototype),oo.prototype.constructor=oo,oo.prototype.toString=function(e){return this.name+\\\": \\\"+cp(this,e)};var li=oo;function i1(t,e,r,n,i){var s=\\\"\\\",a=\\\"\\\",o=Math.floor(i/2)-1;return n-e>o&&(s=\\\" ... \\\",e=n-o+s.length),r-n>o&&(a=\\\" ...\\\",r=n+o-a.length),{str:s+t.slice(e,r).replace(/\\\\t/g,\\\"\\\\u2192\\\")+a,pos:n-e+s.length}}function s1(t,e){return Nr.repeat(\\\" \\\",e-t.length)+t}function U8(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!=\\\"number\\\"&&(e.indent=1),typeof e.linesBefore!=\\\"number\\\"&&(e.linesBefore=3),typeof e.linesAfter!=\\\"number\\\"&&(e.linesAfter=2);for(var r=/\\\\r?\\\\n|\\\\r|\\\\0/g,n=[0],i=[],s,a=-1;s=r.exec(t.buffer);)i.push(s.index),n.push(s.index+s[0].length),t.position\u003C=s.index&&a\u003C0&&(a=n.length-2);a\u003C0&&(a=n.length-1);var o=\\\"\\\",l,u,d=Math.min(t.line+e.linesAfter,i.length).toString().length,f=e.maxLength-(e.indent+d+3);for(l=1;l\u003C=e.linesBefore&&!(a-l\u003C0);l++)u=i1(t.buffer,n[a-l],i[a-l],t.position-(n[a]-n[a-l]),f),o=Nr.repeat(\\\" \\\",e.indent)+s1((t.line-l+1).toString(),d)+\\\" | \\\"+u.str+`\\n`+o;for(u=i1(t.buffer,n[a],i[a],t.position,f),o+=Nr.repeat(\\\" \\\",e.indent)+s1((t.line+1).toString(),d)+\\\" | \\\"+u.str+`\\n`,o+=Nr.repeat(\\\"-\\\",e.indent+d+3+u.pos)+`^\\n`,l=1;l\u003C=e.linesAfter&&!(a+l>=i.length);l++)u=i1(t.buffer,n[a+l],i[a+l],t.position-(n[a]-n[a+l]),f),o+=Nr.repeat(\\\" \\\",e.indent)+s1((t.line+l+1).toString(),d)+\\\" | \\\"+u.str+`\\n`;return o.replace(/\\\\n$/,\\\"\\\")}var z8=U8,W8=[\\\"kind\\\",\\\"multi\\\",\\\"resolve\\\",\\\"construct\\\",\\\"instanceOf\\\",\\\"predicate\\\",\\\"represent\\\",\\\"representName\\\",\\\"defaultStyle\\\",\\\"styleAliases\\\"],H8=[\\\"scalar\\\",\\\"sequence\\\",\\\"mapping\\\"];function G8(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function q8(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(W8.indexOf(r)===-1)throw new li('Unknown option \\\"'+r+'\\\" is met in definition of \\\"'+t+'\\\" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=G8(e.styleAliases||null),H8.indexOf(this.kind)===-1)throw new li('Unknown kind \\\"'+this.kind+'\\\" is specified for \\\"'+t+'\\\" YAML type.')}var Tr=q8;function up(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(s,a){s.tag===n.tag&&s.kind===n.kind&&s.multi===n.multi&&(i=a)}),r[i]=n}),r}function j8(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(e=0,r=arguments.length;e\u003Cr;e+=1)arguments[e].forEach(n);return t}function a1(t){return this.extend(t)}a1.prototype.extend=function(e){var r=[],n=[];if(e instanceof Tr)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new li(\\\"Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })\\\");r.forEach(function(s){if(!(s instanceof Tr))throw new li(\\\"Specified list of YAML types (or a single Type object) contains a non-Type object.\\\");if(s.loadKind&&s.loadKind!==\\\"scalar\\\")throw new li(\\\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\\\");if(s.multi)throw new li(\\\"There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.\\\")}),n.forEach(function(s){if(!(s instanceof Tr))throw new li(\\\"Specified list of YAML types (or a single Type object) contains a non-Type object.\\\")});var i=Object.create(a1.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=up(i,\\\"implicit\\\"),i.compiledExplicit=up(i,\\\"explicit\\\"),i.compiledTypeMap=j8(i.compiledImplicit,i.compiledExplicit),i};var $8=a1,X8=new Tr(\\\"tag:yaml.org,2002:str\\\",{kind:\\\"scalar\\\",construct:function(t){return t!==null?t:\\\"\\\"}}),K8=new Tr(\\\"tag:yaml.org,2002:seq\\\",{kind:\\\"sequence\\\",construct:function(t){return t!==null?t:[]}}),Z8=new Tr(\\\"tag:yaml.org,2002:map\\\",{kind:\\\"mapping\\\",construct:function(t){return t!==null?t:{}}}),hp=new $8({explicit:[X8,K8,Z8]});function Q8(t){if(t===null)return!0;var e=t.length;return e===1&&t===\\\"~\\\"||e===4&&(t===\\\"null\\\"||t===\\\"Null\\\"||t===\\\"NULL\\\")}function J8(){return null}function tw(t){return t===null}var ew=new Tr(\\\"tag:yaml.org,2002:null\\\",{kind:\\\"scalar\\\",resolve:Q8,construct:J8,predicate:tw,represent:{canonical:function(){return\\\"~\\\"},lowercase:function(){return\\\"null\\\"},uppercase:function(){return\\\"NULL\\\"},camelcase:function(){return\\\"Null\\\"},empty:function(){return\\\"\\\"}},defaultStyle:\\\"lowercase\\\"});function rw(t){if(t===null)return!1;var e=t.length;return e===4&&(t===\\\"true\\\"||t===\\\"True\\\"||t===\\\"TRUE\\\")||e===5&&(t===\\\"false\\\"||t===\\\"False\\\"||t===\\\"FALSE\\\")}function nw(t){return t===\\\"true\\\"||t===\\\"True\\\"||t===\\\"TRUE\\\"}function iw(t){return Object.prototype.toString.call(t)===\\\"[object Boolean]\\\"}var sw=new Tr(\\\"tag:yaml.org,2002:bool\\\",{kind:\\\"scalar\\\",resolve:rw,construct:nw,predicate:iw,represent:{lowercase:function(t){return t?\\\"true\\\":\\\"false\\\"},uppercase:function(t){return t?\\\"TRUE\\\":\\\"FALSE\\\"},camelcase:function(t){return t?\\\"True\\\":\\\"False\\\"}},defaultStyle:\\\"lowercase\\\"});function aw(t){return 48\u003C=t&&t\u003C=57||65\u003C=t&&t\u003C=70||97\u003C=t&&t\u003C=102}function ow(t){return 48\u003C=t&&t\u003C=55}function lw(t){return 48\u003C=t&&t\u003C=57}function cw(t){if(t===null)return!1;var e=t.length,r=0,n=!1,i;if(!e)return!1;if(i=t[r],(i===\\\"-\\\"||i===\\\"+\\\")&&(i=t[++r]),i===\\\"0\\\"){if(r+1===e)return!0;if(i=t[++r],i===\\\"b\\\"){for(r++;r\u003Ce;r++)if(i=t[r],i!==\\\"_\\\"){if(i!==\\\"0\\\"&&i!==\\\"1\\\")return!1;n=!0}return n&&i!==\\\"_\\\"}if(i===\\\"x\\\"){for(r++;r\u003Ce;r++)if(i=t[r],i!==\\\"_\\\"){if(!aw(t.charCodeAt(r)))return!1;n=!0}return n&&i!==\\\"_\\\"}if(i===\\\"o\\\"){for(r++;r\u003Ce;r++)if(i=t[r],i!==\\\"_\\\"){if(!ow(t.charCodeAt(r)))return!1;n=!0}return n&&i!==\\\"_\\\"}}if(i===\\\"_\\\")return!1;for(;r\u003Ce;r++)if(i=t[r],i!==\\\"_\\\"){if(!lw(t.charCodeAt(r)))return!1;n=!0}return!(!n||i===\\\"_\\\")}function uw(t){var e=t,r=1,n;if(e.indexOf(\\\"_\\\")!==-1&&(e=e.replace(/_/g,\\\"\\\")),n=e[0],(n===\\\"-\\\"||n===\\\"+\\\")&&(n===\\\"-\\\"&&(r=-1),e=e.slice(1),n=e[0]),e===\\\"0\\\")return 0;if(n===\\\"0\\\"){if(e[1]===\\\"b\\\")return r*parseInt(e.slice(2),2);if(e[1]===\\\"x\\\")return r*parseInt(e.slice(2),16);if(e[1]===\\\"o\\\")return r*parseInt(e.slice(2),8)}return r*parseInt(e,10)}function hw(t){return Object.prototype.toString.call(t)===\\\"[object Number]\\\"&&t%1===0&&!Nr.isNegativeZero(t)}var dw=new Tr(\\\"tag:yaml.org,2002:int\\\",{kind:\\\"scalar\\\",resolve:cw,construct:uw,predicate:hw,represent:{binary:function(t){return t>=0?\\\"0b\\\"+t.toString(2):\\\"-0b\\\"+t.toString(2).slice(1)},octal:function(t){return t>=0?\\\"0o\\\"+t.toString(8):\\\"-0o\\\"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?\\\"0x\\\"+t.toString(16).toUpperCase():\\\"-0x\\\"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:\\\"decimal\\\",styleAliases:{binary:[2,\\\"bin\\\"],octal:[8,\\\"oct\\\"],decimal:[10,\\\"dec\\\"],hexadecimal:[16,\\\"hex\\\"]}}),fw=new RegExp(\\\"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN))$\\\");function pw(t){return!(t===null||!fw.test(t)||t[t.length-1]===\\\"_\\\")}function gw(t){var e,r;return e=t.replace(/_/g,\\\"\\\").toLowerCase(),r=e[0]===\\\"-\\\"?-1:1,\\\"+-\\\".indexOf(e[0])>=0&&(e=e.slice(1)),e===\\\".inf\\\"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===\\\".nan\\\"?NaN:r*parseFloat(e,10)}var yw=/^[-+]?[0-9]+e/;function mw(t,e){var r;if(isNaN(t))switch(e){case\\\"lowercase\\\":return\\\".nan\\\";case\\\"uppercase\\\":return\\\".NAN\\\";case\\\"camelcase\\\":return\\\".NaN\\\"}else if(Number.POSITIVE_INFINITY===t)switch(e){case\\\"lowercase\\\":return\\\".inf\\\";case\\\"uppercase\\\":return\\\".INF\\\";case\\\"camelcase\\\":return\\\".Inf\\\"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case\\\"lowercase\\\":return\\\"-.inf\\\";case\\\"uppercase\\\":return\\\"-.INF\\\";case\\\"camelcase\\\":return\\\"-.Inf\\\"}else if(Nr.isNegativeZero(t))return\\\"-0.0\\\";return r=t.toString(10),yw.test(r)?r.replace(\\\"e\\\",\\\".e\\\"):r}function bw(t){return Object.prototype.toString.call(t)===\\\"[object Number]\\\"&&(t%1!==0||Nr.isNegativeZero(t))}var _w=new Tr(\\\"tag:yaml.org,2002:float\\\",{kind:\\\"scalar\\\",resolve:pw,construct:gw,predicate:bw,represent:mw,defaultStyle:\\\"lowercase\\\"}),xw=hp.extend({implicit:[ew,sw,dw,_w]}),vw=xw,dp=new RegExp(\\\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\\\"),fp=new RegExp(\\\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\\\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\\\\\.([0-9]*))?(?:[ \\\\\\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\\\");function kw(t){return t===null?!1:dp.exec(t)!==null||fp.exec(t)!==null}function ww(t){var e,r,n,i,s,a,o,l=0,u=null,d,f,p;if(e=dp.exec(t),e===null&&(e=fp.exec(t)),e===null)throw new Error(\\\"Date resolve error\\\");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(s=+e[4],a=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length\u003C3;)l+=\\\"0\\\";l=+l}return e[9]&&(d=+e[10],f=+(e[11]||0),u=(d*60+f)*6e4,e[9]===\\\"-\\\"&&(u=-u)),p=new Date(Date.UTC(r,n,i,s,a,o,l)),u&&p.setTime(p.getTime()-u),p}function Tw(t){return t.toISOString()}var Ew=new Tr(\\\"tag:yaml.org,2002:timestamp\\\",{kind:\\\"scalar\\\",resolve:kw,construct:ww,instanceOf:Date,represent:Tw});function Cw(t){return t===\\\"\u003C\u003C\\\"||t===null}var Sw=new Tr(\\\"tag:yaml.org,2002:merge\\\",{kind:\\\"scalar\\\",resolve:Cw}),o1=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\\\r`;function Aw(t){if(t===null)return!1;var e,r,n=0,i=t.length,s=o1;for(r=0;r\u003Ci;r++)if(e=s.indexOf(t.charAt(r)),!(e>64)){if(e\u003C0)return!1;n+=6}return n%8===0}function Lw(t){var e,r,n=t.replace(/[\\\\r\\\\n=]/g,\\\"\\\"),i=n.length,s=o1,a=0,o=[];for(e=0;e\u003Ci;e++)e%4===0&&e&&(o.push(a>>16&255),o.push(a>>8&255),o.push(a&255)),a=a\u003C\u003C6|s.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(a>>16&255),o.push(a>>8&255),o.push(a&255)):r===18?(o.push(a>>10&255),o.push(a>>2&255)):r===12&&o.push(a>>4&255),new Uint8Array(o)}function Dw(t){var e=\\\"\\\",r=0,n,i,s=t.length,a=o1;for(n=0;n\u003Cs;n++)n%3===0&&n&&(e+=a[r>>18&63],e+=a[r>>12&63],e+=a[r>>6&63],e+=a[r&63]),r=(r\u003C\u003C8)+t[n];return i=s%3,i===0?(e+=a[r>>18&63],e+=a[r>>12&63],e+=a[r>>6&63],e+=a[r&63]):i===2?(e+=a[r>>10&63],e+=a[r>>4&63],e+=a[r\u003C\u003C2&63],e+=a[64]):i===1&&(e+=a[r>>2&63],e+=a[r\u003C\u003C4&63],e+=a[64],e+=a[64]),e}function Mw(t){return Object.prototype.toString.call(t)===\\\"[object Uint8Array]\\\"}var Nw=new Tr(\\\"tag:yaml.org,2002:binary\\\",{kind:\\\"scalar\\\",resolve:Aw,construct:Lw,predicate:Mw,represent:Dw}),Bw=Object.prototype.hasOwnProperty,Iw=Object.prototype.toString;function Ow(t){if(t===null)return!0;var e=[],r,n,i,s,a,o=t;for(r=0,n=o.length;r\u003Cn;r+=1){if(i=o[r],a=!1,Iw.call(i)!==\\\"[object Object]\\\")return!1;for(s in i)if(Bw.call(i,s))if(!a)a=!0;else return!1;if(!a)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function Rw(t){return t!==null?t:[]}var Fw=new Tr(\\\"tag:yaml.org,2002:omap\\\",{kind:\\\"sequence\\\",resolve:Ow,construct:Rw}),Pw=Object.prototype.toString;function Yw(t){if(t===null)return!0;var e,r,n,i,s,a=t;for(s=new Array(a.length),e=0,r=a.length;e\u003Cr;e+=1){if(n=a[e],Pw.call(n)!==\\\"[object Object]\\\"||(i=Object.keys(n),i.length!==1))return!1;s[e]=[i[0],n[i[0]]]}return!0}function Vw(t){if(t===null)return[];var e,r,n,i,s,a=t;for(s=new Array(a.length),e=0,r=a.length;e\u003Cr;e+=1)n=a[e],i=Object.keys(n),s[e]=[i[0],n[i[0]]];return s}var Uw=new Tr(\\\"tag:yaml.org,2002:pairs\\\",{kind:\\\"sequence\\\",resolve:Yw,construct:Vw}),zw=Object.prototype.hasOwnProperty;function Ww(t){if(t===null)return!0;var e,r=t;for(e in r)if(zw.call(r,e)&&r[e]!==null)return!1;return!0}function Hw(t){return t!==null?t:{}}var Gw=new Tr(\\\"tag:yaml.org,2002:set\\\",{kind:\\\"mapping\\\",resolve:Ww,construct:Hw}),qw=vw.extend({implicit:[Ew,Sw],explicit:[Nw,Fw,Uw,Gw]}),Pi=Object.prototype.hasOwnProperty,cc=1,pp=2,gp=3,uc=4,l1=1,jw=2,yp=3,$w=/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F-\\\\x84\\\\x86-\\\\x9F\\\\uFFFE\\\\uFFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF]/,Xw=/[\\\\x85\\\\u2028\\\\u2029]/,Kw=/[,\\\\[\\\\]\\\\{\\\\}]/,mp=/^(?:!|!!|![a-z\\\\-]+!)$/i,bp=/^(?:!|[^,\\\\[\\\\]\\\\{\\\\}])(?:%[0-9a-f]{2}|[0-9a-z\\\\-#;\\\\/\\\\?:@&=\\\\+\\\\$,_\\\\.!~\\\\*'\\\\(\\\\)\\\\[\\\\]])*$/i;function _p(t){return Object.prototype.toString.call(t)}function Vn(t){return t===10||t===13}function fs(t){return t===9||t===32}function Fr(t){return t===9||t===32||t===10||t===13}function ra(t){return t===44||t===91||t===93||t===123||t===125}function Zw(t){var e;return 48\u003C=t&&t\u003C=57?t-48:(e=t|32,97\u003C=e&&e\u003C=102?e-97+10:-1)}function Qw(t){return t===120?2:t===117?4:t===85?8:0}function Jw(t){return 48\u003C=t&&t\u003C=57?t-48:-1}function xp(t){return t===48?\\\"\\\\0\\\":t===97?\\\"\\\\x07\\\":t===98?\\\"\\\\b\\\":t===116||t===9?\\\"\\t\\\":t===110?`\\n`:t===118?\\\"\\\\v\\\":t===102?\\\"\\\\f\\\":t===114?\\\"\\\\r\\\":t===101?\\\"\\\\x1B\\\":t===32?\\\" \\\":t===34?'\\\"':t===47?\\\"/\\\":t===92?\\\"\\\\\\\\\\\":t===78?\\\"\\\\x85\\\":t===95?\\\"\\\\xA0\\\":t===76?\\\"\\\\u2028\\\":t===80?\\\"\\\\u2029\\\":\\\"\\\"}function t7(t){return t\u003C=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}for(var vp=new Array(256),kp=new Array(256),na=0;na\u003C256;na++)vp[na]=xp(na)?1:0,kp[na]=xp(na);function e7(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||qw,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function wp(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=z8(r),new li(e,r)}function Qt(t,e){throw wp(t,e)}function hc(t,e){t.onWarning&&t.onWarning.call(null,wp(t,e))}var Tp={YAML:function(e,r,n){var i,s,a;e.version!==null&&Qt(e,\\\"duplication of %YAML directive\\\"),n.length!==1&&Qt(e,\\\"YAML directive accepts exactly one argument\\\"),i=/^([0-9]+)\\\\.([0-9]+)$/.exec(n[0]),i===null&&Qt(e,\\\"ill-formed argument of the YAML directive\\\"),s=parseInt(i[1],10),a=parseInt(i[2],10),s!==1&&Qt(e,\\\"unacceptable YAML version of the document\\\"),e.version=n[0],e.checkLineBreaks=a\u003C2,a!==1&&a!==2&&hc(e,\\\"unsupported YAML version of the document\\\")},TAG:function(e,r,n){var i,s;n.length!==2&&Qt(e,\\\"TAG directive accepts exactly two arguments\\\"),i=n[0],s=n[1],mp.test(i)||Qt(e,\\\"ill-formed tag handle (first argument) of the TAG directive\\\"),Pi.call(e.tagMap,i)&&Qt(e,'there is a previously declared suffix for \\\"'+i+'\\\" tag handle'),bp.test(s)||Qt(e,\\\"ill-formed tag prefix (second argument) of the TAG directive\\\");try{s=decodeURIComponent(s)}catch{Qt(e,\\\"tag prefix is malformed: \\\"+s)}e.tagMap[i]=s}};function Yi(t,e,r,n){var i,s,a,o;if(e\u003Cr){if(o=t.input.slice(e,r),n)for(i=0,s=o.length;i\u003Cs;i+=1)a=o.charCodeAt(i),a===9||32\u003C=a&&a\u003C=1114111||Qt(t,\\\"expected valid JSON character\\\");else $w.test(o)&&Qt(t,\\\"the stream contains non-printable characters\\\");t.result+=o}}function Ep(t,e,r,n){var i,s,a,o;for(Nr.isObject(r)||Qt(t,\\\"cannot merge mappings; the provided source object is unacceptable\\\"),i=Object.keys(r),a=0,o=i.length;a\u003Co;a+=1)s=i[a],Pi.call(e,s)||(e[s]=r[s],n[s]=!0)}function ia(t,e,r,n,i,s,a,o,l){var u,d;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),u=0,d=i.length;u\u003Cd;u+=1)Array.isArray(i[u])&&Qt(t,\\\"nested arrays are not supported inside keys\\\"),typeof i==\\\"object\\\"&&_p(i[u])===\\\"[object Object]\\\"&&(i[u]=\\\"[object Object]\\\");if(typeof i==\\\"object\\\"&&_p(i)===\\\"[object Object]\\\"&&(i=\\\"[object Object]\\\"),i=String(i),e===null&&(e={}),n===\\\"tag:yaml.org,2002:merge\\\")if(Array.isArray(s))for(u=0,d=s.length;u\u003Cd;u+=1)Ep(t,e,s[u],r);else Ep(t,e,s,r);else!t.json&&!Pi.call(r,i)&&Pi.call(e,i)&&(t.line=a||t.line,t.lineStart=o||t.lineStart,t.position=l||t.position,Qt(t,\\\"duplicated mapping key\\\")),i===\\\"__proto__\\\"?Object.defineProperty(e,i,{configurable:!0,enumerable:!0,writable:!0,value:s}):e[i]=s,delete r[i];return e}function c1(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Qt(t,\\\"a line break is expected\\\"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function tr(t,e,r){for(var n=0,i=t.input.charCodeAt(t.position);i!==0;){for(;fs(i);)i===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&i===35)do i=t.input.charCodeAt(++t.position);while(i!==10&&i!==13&&i!==0);if(Vn(i))for(c1(t),i=t.input.charCodeAt(t.position),n++,t.lineIndent=0;i===32;)t.lineIndent++,i=t.input.charCodeAt(++t.position);else break}return r!==-1&&n!==0&&t.lineIndent\u003Cr&&hc(t,\\\"deficient indentation\\\"),n}function dc(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||Fr(r)))}function u1(t,e){e===1?t.result+=\\\" \\\":e>1&&(t.result+=Nr.repeat(`\\n`,e-1))}function r7(t,e,r){var n,i,s,a,o,l,u,d,f=t.kind,p=t.result,g;if(g=t.input.charCodeAt(t.position),Fr(g)||ra(g)||g===35||g===38||g===42||g===33||g===124||g===62||g===39||g===34||g===37||g===64||g===96||(g===63||g===45)&&(i=t.input.charCodeAt(t.position+1),Fr(i)||r&&ra(i)))return!1;for(t.kind=\\\"scalar\\\",t.result=\\\"\\\",s=a=t.position,o=!1;g!==0;){if(g===58){if(i=t.input.charCodeAt(t.position+1),Fr(i)||r&&ra(i))break}else if(g===35){if(n=t.input.charCodeAt(t.position-1),Fr(n))break}else{if(t.position===t.lineStart&&dc(t)||r&&ra(g))break;if(Vn(g))if(l=t.line,u=t.lineStart,d=t.lineIndent,tr(t,!1,-1),t.lineIndent>=e){o=!0,g=t.input.charCodeAt(t.position);continue}else{t.position=a,t.line=l,t.lineStart=u,t.lineIndent=d;break}}o&&(Yi(t,s,a,!1),u1(t,t.line-l),s=a=t.position,o=!1),fs(g)||(a=t.position+1),g=t.input.charCodeAt(++t.position)}return Yi(t,s,a,!1),t.result?!0:(t.kind=f,t.result=p,!1)}function n7(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind=\\\"scalar\\\",t.result=\\\"\\\",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Yi(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else Vn(r)?(Yi(t,n,i,!0),u1(t,tr(t,!1,e)),n=i=t.position):t.position===t.lineStart&&dc(t)?Qt(t,\\\"unexpected end of the document within a single quoted scalar\\\"):(t.position++,i=t.position);Qt(t,\\\"unexpected end of the stream within a single quoted scalar\\\")}function i7(t,e){var r,n,i,s,a,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind=\\\"scalar\\\",t.result=\\\"\\\",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Yi(t,r,t.position,!0),t.position++,!0;if(o===92){if(Yi(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),Vn(o))tr(t,!1,e);else if(o\u003C256&&vp[o])t.result+=kp[o],t.position++;else if((a=Qw(o))>0){for(i=a,s=0;i>0;i--)o=t.input.charCodeAt(++t.position),(a=Zw(o))>=0?s=(s\u003C\u003C4)+a:Qt(t,\\\"expected hexadecimal character\\\");t.result+=t7(s),t.position++}else Qt(t,\\\"unknown escape sequence\\\");r=n=t.position}else Vn(o)?(Yi(t,r,n,!0),u1(t,tr(t,!1,e)),r=n=t.position):t.position===t.lineStart&&dc(t)?Qt(t,\\\"unexpected end of the document within a double quoted scalar\\\"):(t.position++,n=t.position)}Qt(t,\\\"unexpected end of the stream within a double quoted scalar\\\")}function s7(t,e){var r=!0,n,i,s,a=t.tag,o,l=t.anchor,u,d,f,p,g,b=Object.create(null),k,T,L,E;if(E=t.input.charCodeAt(t.position),E===91)d=93,g=!1,o=[];else if(E===123)d=125,g=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),E=t.input.charCodeAt(++t.position);E!==0;){if(tr(t,!0,e),E=t.input.charCodeAt(t.position),E===d)return t.position++,t.tag=a,t.anchor=l,t.kind=g?\\\"mapping\\\":\\\"sequence\\\",t.result=o,!0;r?E===44&&Qt(t,\\\"expected the node content, but found ','\\\"):Qt(t,\\\"missed comma between flow collection entries\\\"),T=k=L=null,f=p=!1,E===63&&(u=t.input.charCodeAt(t.position+1),Fr(u)&&(f=p=!0,t.position++,tr(t,!0,e))),n=t.line,i=t.lineStart,s=t.position,sa(t,e,cc,!1,!0),T=t.tag,k=t.result,tr(t,!0,e),E=t.input.charCodeAt(t.position),(p||t.line===n)&&E===58&&(f=!0,E=t.input.charCodeAt(++t.position),tr(t,!0,e),sa(t,e,cc,!1,!0),L=t.result),g?ia(t,o,b,T,k,L,n,i,s):f?o.push(ia(t,null,b,T,k,L,n,i,s)):o.push(k),tr(t,!0,e),E=t.input.charCodeAt(t.position),E===44?(r=!0,E=t.input.charCodeAt(++t.position)):r=!1}Qt(t,\\\"unexpected end of the stream within a flow collection\\\")}function a7(t,e){var r,n,i=l1,s=!1,a=!1,o=e,l=0,u=!1,d,f;if(f=t.input.charCodeAt(t.position),f===124)n=!1;else if(f===62)n=!0;else return!1;for(t.kind=\\\"scalar\\\",t.result=\\\"\\\";f!==0;)if(f=t.input.charCodeAt(++t.position),f===43||f===45)l1===i?i=f===43?yp:jw:Qt(t,\\\"repeat of a chomping mode identifier\\\");else if((d=Jw(f))>=0)d===0?Qt(t,\\\"bad explicit indentation width of a block scalar; it cannot be less than one\\\"):a?Qt(t,\\\"repeat of an indentation width identifier\\\"):(o=e+d-1,a=!0);else break;if(fs(f)){do f=t.input.charCodeAt(++t.position);while(fs(f));if(f===35)do f=t.input.charCodeAt(++t.position);while(!Vn(f)&&f!==0)}for(;f!==0;){for(c1(t),t.lineIndent=0,f=t.input.charCodeAt(t.position);(!a||t.lineIndent\u003Co)&&f===32;)t.lineIndent++,f=t.input.charCodeAt(++t.position);if(!a&&t.lineIndent>o&&(o=t.lineIndent),Vn(f)){l++;continue}if(t.lineIndent\u003Co){i===yp?t.result+=Nr.repeat(`\\n`,s?1+l:l):i===l1&&s&&(t.result+=`\\n`);break}for(n?fs(f)?(u=!0,t.result+=Nr.repeat(`\\n`,s?1+l:l)):u?(u=!1,t.result+=Nr.repeat(`\\n`,l+1)):l===0?s&&(t.result+=\\\" \\\"):t.result+=Nr.repeat(`\\n`,l):t.result+=Nr.repeat(`\\n`,s?1+l:l),s=!0,a=!0,l=0,r=t.position;!Vn(f)&&f!==0;)f=t.input.charCodeAt(++t.position);Yi(t,r,t.position,!1)}return!0}function Cp(t,e){var r,n=t.tag,i=t.anchor,s=[],a,o=!1,l;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),l=t.input.charCodeAt(t.position);l!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Qt(t,\\\"tab characters must not be used in indentation\\\")),!(l!==45||(a=t.input.charCodeAt(t.position+1),!Fr(a))));){if(o=!0,t.position++,tr(t,!0,-1)&&t.lineIndent\u003C=e){s.push(null),l=t.input.charCodeAt(t.position);continue}if(r=t.line,sa(t,e,gp,!1,!0),s.push(t.result),tr(t,!0,-1),l=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&l!==0)Qt(t,\\\"bad indentation of a sequence entry\\\");else if(t.lineIndent\u003Ce)break}return o?(t.tag=n,t.anchor=i,t.kind=\\\"sequence\\\",t.result=s,!0):!1}function o7(t,e,r){var n,i,s,a,o,l,u=t.tag,d=t.anchor,f={},p=Object.create(null),g=null,b=null,k=null,T=!1,L=!1,E;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=f),E=t.input.charCodeAt(t.position);E!==0;){if(!T&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Qt(t,\\\"tab characters must not be used in indentation\\\")),n=t.input.charCodeAt(t.position+1),s=t.line,(E===63||E===58)&&Fr(n))E===63?(T&&(ia(t,f,p,g,b,null,a,o,l),g=b=k=null),L=!0,T=!0,i=!0):T?(T=!1,i=!0):Qt(t,\\\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\\\"),t.position+=1,E=n;else{if(a=t.line,o=t.lineStart,l=t.position,!sa(t,r,pp,!1,!0))break;if(t.line===s){for(E=t.input.charCodeAt(t.position);fs(E);)E=t.input.charCodeAt(++t.position);if(E===58)E=t.input.charCodeAt(++t.position),Fr(E)||Qt(t,\\\"a whitespace character is expected after the key-value separator within a block mapping\\\"),T&&(ia(t,f,p,g,b,null,a,o,l),g=b=k=null),L=!0,T=!1,i=!1,g=t.tag,b=t.result;else if(L)Qt(t,\\\"can not read an implicit mapping pair; a colon is missed\\\");else return t.tag=u,t.anchor=d,!0}else if(L)Qt(t,\\\"can not read a block mapping entry; a multiline key may not be an implicit key\\\");else return t.tag=u,t.anchor=d,!0}if((t.line===s||t.lineIndent>e)&&(T&&(a=t.line,o=t.lineStart,l=t.position),sa(t,e,uc,!0,i)&&(T?b=t.result:k=t.result),T||(ia(t,f,p,g,b,k,a,o,l),g=b=k=null),tr(t,!0,-1),E=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&E!==0)Qt(t,\\\"bad indentation of a mapping entry\\\");else if(t.lineIndent\u003Ce)break}return T&&ia(t,f,p,g,b,null,a,o,l),L&&(t.tag=u,t.anchor=d,t.kind=\\\"mapping\\\",t.result=f),L}function l7(t){var e,r=!1,n=!1,i,s,a;if(a=t.input.charCodeAt(t.position),a!==33)return!1;if(t.tag!==null&&Qt(t,\\\"duplication of a tag property\\\"),a=t.input.charCodeAt(++t.position),a===60?(r=!0,a=t.input.charCodeAt(++t.position)):a===33?(n=!0,i=\\\"!!\\\",a=t.input.charCodeAt(++t.position)):i=\\\"!\\\",e=t.position,r){do a=t.input.charCodeAt(++t.position);while(a!==0&&a!==62);t.position\u003Ct.length?(s=t.input.slice(e,t.position),a=t.input.charCodeAt(++t.position)):Qt(t,\\\"unexpected end of the stream within a verbatim tag\\\")}else{for(;a!==0&&!Fr(a);)a===33&&(n?Qt(t,\\\"tag suffix cannot contain exclamation marks\\\"):(i=t.input.slice(e-1,t.position+1),mp.test(i)||Qt(t,\\\"named tag handle cannot contain such characters\\\"),n=!0,e=t.position+1)),a=t.input.charCodeAt(++t.position);s=t.input.slice(e,t.position),Kw.test(s)&&Qt(t,\\\"tag suffix cannot contain flow indicator characters\\\")}s&&!bp.test(s)&&Qt(t,\\\"tag name cannot contain such characters: \\\"+s);try{s=decodeURIComponent(s)}catch{Qt(t,\\\"tag name is malformed: \\\"+s)}return r?t.tag=s:Pi.call(t.tagMap,i)?t.tag=t.tagMap[i]+s:i===\\\"!\\\"?t.tag=\\\"!\\\"+s:i===\\\"!!\\\"?t.tag=\\\"tag:yaml.org,2002:\\\"+s:Qt(t,'undeclared tag handle \\\"'+i+'\\\"'),!0}function c7(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&Qt(t,\\\"duplication of an anchor property\\\"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Fr(r)&&!ra(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Qt(t,\\\"name of an anchor node must contain at least one character\\\"),t.anchor=t.input.slice(e,t.position),!0}function u7(t){var e,r,n;if(n=t.input.charCodeAt(t.position),n!==42)return!1;for(n=t.input.charCodeAt(++t.position),e=t.position;n!==0&&!Fr(n)&&!ra(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&Qt(t,\\\"name of an alias node must contain at least one character\\\"),r=t.input.slice(e,t.position),Pi.call(t.anchorMap,r)||Qt(t,'unidentified alias \\\"'+r+'\\\"'),t.result=t.anchorMap[r],tr(t,!0,-1),!0}function sa(t,e,r,n,i){var s,a,o,l=1,u=!1,d=!1,f,p,g,b,k,T;if(t.listener!==null&&t.listener(\\\"open\\\",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=a=o=uc===r||gp===r,n&&tr(t,!0,-1)&&(u=!0,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent\u003Ce&&(l=-1)),l===1)for(;l7(t)||c7(t);)tr(t,!0,-1)?(u=!0,o=s,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent\u003Ce&&(l=-1)):o=!1;if(o&&(o=u||i),(l===1||uc===r)&&(cc===r||pp===r?k=e:k=e+1,T=t.position-t.lineStart,l===1?o&&(Cp(t,T)||o7(t,T,k))||s7(t,k)?d=!0:(a&&a7(t,k)||n7(t,k)||i7(t,k)?d=!0:u7(t)?(d=!0,(t.tag!==null||t.anchor!==null)&&Qt(t,\\\"alias node should not have any properties\\\")):r7(t,k,cc===r)&&(d=!0,t.tag===null&&(t.tag=\\\"?\\\")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):l===0&&(d=o&&Cp(t,T))),t.tag===null)t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);else if(t.tag===\\\"?\\\"){for(t.result!==null&&t.kind!==\\\"scalar\\\"&&Qt(t,'unacceptable node kind for !\u003C?> tag; it should be \\\"scalar\\\", not \\\"'+t.kind+'\\\"'),f=0,p=t.implicitTypes.length;f\u003Cp;f+=1)if(b=t.implicitTypes[f],b.resolve(t.result)){t.result=b.construct(t.result),t.tag=b.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else if(t.tag!==\\\"!\\\"){if(Pi.call(t.typeMap[t.kind||\\\"fallback\\\"],t.tag))b=t.typeMap[t.kind||\\\"fallback\\\"][t.tag];else for(b=null,g=t.typeMap.multi[t.kind||\\\"fallback\\\"],f=0,p=g.length;f\u003Cp;f+=1)if(t.tag.slice(0,g[f].tag.length)===g[f].tag){b=g[f];break}b||Qt(t,\\\"unknown tag !\u003C\\\"+t.tag+\\\">\\\"),t.result!==null&&b.kind!==t.kind&&Qt(t,\\\"unacceptable node kind for !\u003C\\\"+t.tag+'> tag; it should be \\\"'+b.kind+'\\\", not \\\"'+t.kind+'\\\"'),b.resolve(t.result,t.tag)?(t.result=b.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Qt(t,\\\"cannot resolve a node with !\u003C\\\"+t.tag+\\\"> explicit tag\\\")}return t.listener!==null&&t.listener(\\\"close\\\",t),t.tag!==null||t.anchor!==null||d}function h7(t){var e=t.position,r,n,i,s=!1,a;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(a=t.input.charCodeAt(t.position))!==0&&(tr(t,!0,-1),a=t.input.charCodeAt(t.position),!(t.lineIndent>0||a!==37));){for(s=!0,a=t.input.charCodeAt(++t.position),r=t.position;a!==0&&!Fr(a);)a=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length\u003C1&&Qt(t,\\\"directive name must not be less than one character in length\\\");a!==0;){for(;fs(a);)a=t.input.charCodeAt(++t.position);if(a===35){do a=t.input.charCodeAt(++t.position);while(a!==0&&!Vn(a));break}if(Vn(a))break;for(r=t.position;a!==0&&!Fr(a);)a=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}a!==0&&c1(t),Pi.call(Tp,n)?Tp[n](t,n,i):hc(t,'unknown document directive \\\"'+n+'\\\"')}if(tr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,tr(t,!0,-1)):s&&Qt(t,\\\"directives end mark is expected\\\"),sa(t,t.lineIndent-1,uc,!1,!0),tr(t,!0,-1),t.checkLineBreaks&&Xw.test(t.input.slice(e,t.position))&&hc(t,\\\"non-ASCII line breaks are interpreted as content\\\"),t.documents.push(t.result),t.position===t.lineStart&&dc(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,tr(t,!0,-1));return}if(t.position\u003Ct.length-1)Qt(t,\\\"end of the stream or a document separator is expected\\\");else return}function Sp(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=`\\n`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new e7(t,e),n=t.indexOf(\\\"\\\\0\\\");for(n!==-1&&(r.position=n,Qt(r,\\\"null byte is not allowed in input\\\")),r.input+=\\\"\\\\0\\\";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position\u003Cr.length-1;)h7(r);return r.documents}function d7(t,e,r){e!==null&&typeof e==\\\"object\\\"&&typeof r>\\\"u\\\"&&(r=e,e=null);var n=Sp(t,r);if(typeof e!=\\\"function\\\")return n;for(var i=0,s=n.length;i\u003Cs;i+=1)e(n[i])}function f7(t,e){var r=Sp(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new li(\\\"expected a single document in the stream, but found more\\\")}}var p7=d7,g7=f7,y7={loadAll:p7,load:g7},m7=hp,b7=y7.load;const Ap=/^-{3}\\\\s*[\\\\n\\\\r](.*?)[\\\\n\\\\r]-{3}\\\\s*[\\\\n\\\\r]+/s;function _7(t,e){var n;const r=t.match(Ap);if(r){const i=b7(r[1],{schema:m7});return i!=null&&i.title&&((n=e.setDiagramTitle)==null||n.call(e,i.title)),t.slice(r[0].length)}else return t}const x7=/%{2}{\\\\s*(?:(\\\\w+)\\\\s*:|(\\\\w+))\\\\s*(?:(\\\\w+)|((?:(?!}%{2}).|\\\\r?\\\\n)*))?\\\\s*(?:}%{2})?/gi,v7=/\\\\s*%%.*\\\\n/gm,fc={},h1=function(t,e){t=t.replace(Ap,\\\"\\\").replace(x7,\\\"\\\").replace(v7,`\\n`);for(const[r,{detector:n}]of Object.entries(fc))if(n(t,e))return r;throw new Error(`No diagram type detected for text: ${t}`)},Lp=(t,e,r)=>{if(fc[t])throw new Error(`Detector with key ${t} already exists`);fc[t]={detector:e,loader:r},B.debug(`Detector with key ${t} added${r?\\\" with loader\\\":\\\"\\\"}`)},k7=t=>fc[t].loader,d1=function(t,e,r){const{depth:n,clobber:i}=Object.assign({depth:2,clobber:!1},r);return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(s=>d1(t,s,r)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(s=>{t.includes(s)||t.push(s)}),t):t===void 0||n\u003C=0?t!=null&&typeof t==\\\"object\\\"&&typeof e==\\\"object\\\"?Object.assign(t,e):e:(e!==void 0&&typeof t==\\\"object\\\"&&typeof e==\\\"object\\\"&&Object.keys(e).forEach(s=>{typeof e[s]==\\\"object\\\"&&(t[s]===void 0||typeof t[s]==\\\"object\\\")?(t[s]===void 0&&(t[s]=Array.isArray(e[s])?[]:{}),t[s]=d1(t[s],e[s],{depth:n-1,clobber:i})):(i||typeof t[s]!=\\\"object\\\"&&typeof e[s]!=\\\"object\\\")&&(t[s]=e[s])}),t)},gr=d1;var w7=typeof global==\\\"object\\\"&&global&&global.Object===Object&&global;const Dp=w7;var T7=typeof self==\\\"object\\\"&&self&&self.Object===Object&&self,E7=Dp||T7||Function(\\\"return this\\\")();const mn=E7;var C7=mn.Symbol;const en=C7;var Mp=Object.prototype,S7=Mp.hasOwnProperty,A7=Mp.toString,lo=en?en.toStringTag:void 0;function L7(t){var e=S7.call(t,lo),r=t[lo];try{t[lo]=void 0;var n=!0}catch{}var i=A7.call(t);return n&&(e?t[lo]=r:delete t[lo]),i}var D7=Object.prototype,M7=D7.toString;function N7(t){return M7.call(t)}var B7=\\\"[object Null]\\\",I7=\\\"[object Undefined]\\\",Np=en?en.toStringTag:void 0;function ps(t){return t==null?t===void 0?I7:B7:Np&&Np in Object(t)?L7(t):N7(t)}function Gr(t){var e=typeof t;return t!=null&&(e==\\\"object\\\"||e==\\\"function\\\")}var O7=\\\"[object AsyncFunction]\\\",R7=\\\"[object Function]\\\",F7=\\\"[object GeneratorFunction]\\\",P7=\\\"[object Proxy]\\\";function aa(t){if(!Gr(t))return!1;var e=ps(t);return e==R7||e==F7||e==O7||e==P7}var Y7=mn[\\\"__core-js_shared__\\\"];const f1=Y7;var Bp=function(){var t=/[^.]+$/.exec(f1&&f1.keys&&f1.keys.IE_PROTO||\\\"\\\");return t?\\\"Symbol(src)_1.\\\"+t:\\\"\\\"}();function V7(t){return!!Bp&&Bp in t}var U7=Function.prototype,z7=U7.toString;function gs(t){if(t!=null){try{return z7.call(t)}catch{}try{return t+\\\"\\\"}catch{}}return\\\"\\\"}var W7=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,H7=/^\\\\[object .+?Constructor\\\\]$/,G7=Function.prototype,q7=Object.prototype,j7=G7.toString,$7=q7.hasOwnProperty,X7=RegExp(\\\"^\\\"+j7.call($7).replace(W7,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function K7(t){if(!Gr(t)||V7(t))return!1;var e=aa(t)?X7:H7;return e.test(gs(t))}function Z7(t,e){return t==null?void 0:t[e]}function ys(t,e){var r=Z7(t,e);return K7(r)?r:void 0}var Q7=ys(Object,\\\"create\\\");const co=Q7;function J7(){this.__data__=co?co(null):{},this.size=0}function tT(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var eT=\\\"__lodash_hash_undefined__\\\",rT=Object.prototype,nT=rT.hasOwnProperty;function iT(t){var e=this.__data__;if(co){var r=e[t];return r===eT?void 0:r}return nT.call(e,t)?e[t]:void 0}var sT=Object.prototype,aT=sT.hasOwnProperty;function oT(t){var e=this.__data__;return co?e[t]!==void 0:aT.call(e,t)}var lT=\\\"__lodash_hash_undefined__\\\";function cT(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=co&&e===void 0?lT:e,this}function ms(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e\u003Cr;){var n=t[e];this.set(n[0],n[1])}}ms.prototype.clear=J7,ms.prototype.delete=tT,ms.prototype.get=iT,ms.prototype.has=oT,ms.prototype.set=cT;function uT(){this.__data__=[],this.size=0}function oa(t,e){return t===e||t!==t&&e!==e}function pc(t,e){for(var r=t.length;r--;)if(oa(t[r][0],e))return r;return-1}var hT=Array.prototype,dT=hT.splice;function fT(t){var e=this.__data__,r=pc(e,t);if(r\u003C0)return!1;var n=e.length-1;return r==n?e.pop():dT.call(e,r,1),--this.size,!0}function pT(t){var e=this.__data__,r=pc(e,t);return r\u003C0?void 0:e[r][1]}function gT(t){return pc(this.__data__,t)>-1}function yT(t,e){var r=this.__data__,n=pc(r,t);return n\u003C0?(++this.size,r.push([t,e])):r[n][1]=e,this}function ci(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e\u003Cr;){var n=t[e];this.set(n[0],n[1])}}ci.prototype.clear=uT,ci.prototype.delete=fT,ci.prototype.get=pT,ci.prototype.has=gT,ci.prototype.set=yT;var mT=ys(mn,\\\"Map\\\");const uo=mT;function bT(){this.size=0,this.__data__={hash:new ms,map:new(uo||ci),string:new ms}}function _T(t){var e=typeof t;return e==\\\"string\\\"||e==\\\"number\\\"||e==\\\"symbol\\\"||e==\\\"boolean\\\"?t!==\\\"__proto__\\\":t===null}function gc(t,e){var r=t.__data__;return _T(e)?r[typeof e==\\\"string\\\"?\\\"string\\\":\\\"hash\\\"]:r.map}function xT(t){var e=gc(this,t).delete(t);return this.size-=e?1:0,e}function vT(t){return gc(this,t).get(t)}function kT(t){return gc(this,t).has(t)}function wT(t,e){var r=gc(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}function ui(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e\u003Cr;){var n=t[e];this.set(n[0],n[1])}}ui.prototype.clear=bT,ui.prototype.delete=xT,ui.prototype.get=vT,ui.prototype.has=kT,ui.prototype.set=wT;var TT=\\\"Expected a function\\\";function la(t,e){if(typeof t!=\\\"function\\\"||e!=null&&typeof e!=\\\"function\\\")throw new TypeError(TT);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var a=t.apply(this,n);return r.cache=s.set(i,a)||s,a};return r.cache=new(la.Cache||ui),r}la.Cache=ui;const ET={curveBasis:ta,curveBasisClosed:Ek,curveBasisOpen:Ck,curveLinear:Hr,curveLinearClosed:Sk,curveMonotoneX:Ak,curveMonotoneY:Lk,curveNatural:Dk,curveStep:Mk,curveStepAfter:Bk,curveStepBefore:Nk},p1=/%{2}{\\\\s*(?:(\\\\w+)\\\\s*:|(\\\\w+))\\\\s*(?:(\\\\w+)|((?:(?!}%{2}).|\\\\r?\\\\n)*))?\\\\s*(?:}%{2})?/gi,CT=/\\\\s*(?:(\\\\w+)(?=:):|(\\\\w+))\\\\s*(?:(\\\\w+)|((?:(?!}%{2}).|\\\\r?\\\\n)*))?\\\\s*(?:}%{2})?/gi,ST=function(t,e){const r=Ip(t,/(?:init\\\\b)|(?:initialize\\\\b)/);let n={};if(Array.isArray(r)){const i=r.map(s=>s.args);bs(i),n=gr(n,[...i])}else n=r.args;if(n){let i=h1(t,e);[\\\"config\\\"].forEach(s=>{n[s]!==void 0&&(i===\\\"flowchart-v2\\\"&&(i=\\\"flowchart\\\"),n[i]=n[s],delete n[s])})}return n},Ip=function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${CT.source})(?=[}][%]{2}).*\\n`,\\\"ig\\\");t=t.trim().replace(r,\\\"\\\").replace(/'/gm,'\\\"'),B.debug(`Detecting diagram directive${e!==null?\\\" type:\\\"+e:\\\"\\\"} based on the text:${t}`);let n;const i=[];for(;(n=p1.exec(t))!==null;)if(n.index===p1.lastIndex&&p1.lastIndex++,n&&!e||e&&n[1]&&n[1].match(e)||e&&n[2]&&n[2].match(e)){const s=n[1]?n[1]:n[2],a=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:s,args:a})}return i.length===0&&i.push({type:t,args:null}),i.length===1?i[0]:i}catch(r){return B.error(`ERROR: ${r.message} - Unable to parse directive\\n ${e!==null?\\\" type:\\\"+e:\\\"\\\"} based on the text:${t}`),{type:null,args:null}}},AT=function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1};function bn(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return ET[r]||e}function LT(t,e){const r=t.trim();if(r)return e.securityLevel!==\\\"loose\\\"?ti(r):r}const DT=(t,...e)=>{const r=t.split(\\\".\\\"),n=r.length-1,i=r[n];let s=window;for(let a=0;a\u003Cn;a++)if(s=s[r[a]],!s)return;s[i](...e)};function yc(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function MT(t){let e,r=0;t.forEach(s=>{r+=yc(s,e),e=s});let n=r/2,i;return e=void 0,t.forEach(s=>{if(e&&!i){const a=yc(s,e);if(a\u003Cn)n-=a;else{const o=n/a;o\u003C=0&&(i=e),o>=1&&(i={x:s.x,y:s.y}),o>0&&o\u003C1&&(i={x:(1-o)*e.x+o*s.x,y:(1-o)*e.y+o*s.y})}}e=s}),i}function NT(t){return t.length===1?t[0]:MT(t)}const BT=(t,e,r)=>{let n;B.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let s=25,a;n=void 0,e.forEach(d=>{if(n&&!a){const f=yc(d,n);if(f\u003Cs)s-=f;else{const p=s/f;p\u003C=0&&(a=n),p>=1&&(a={x:d.x,y:d.y}),p>0&&p\u003C1&&(a={x:(1-p)*n.x+p*d.x,y:(1-p)*n.y+p*d.y})}}n=d});const o=t?10:5,l=Math.atan2(e[0].y-a.y,e[0].x-a.x),u={x:0,y:0};return u.x=Math.sin(l)*o+(e[0].x+a.x)/2,u.y=-Math.cos(l)*o+(e[0].y+a.y)/2,u};function IT(t,e,r){let n=JSON.parse(JSON.stringify(r)),i;B.info(\\\"our points\\\",n),e!==\\\"start_left\\\"&&e!==\\\"start_right\\\"&&(n=n.reverse()),n.forEach(f=>{i=f});let a=25+t,o;i=void 0,n.forEach(f=>{if(i&&!o){const p=yc(f,i);if(p\u003Ca)a-=p;else{const g=a/p;g\u003C=0&&(o=i),g>=1&&(o={x:f.x,y:f.y}),g>0&&g\u003C1&&(o={x:(1-g)*i.x+g*f.x,y:(1-g)*i.y+g*f.y})}}i=f});const l=10+t*.5,u=Math.atan2(n[0].y-o.y,n[0].x-o.x),d={x:0,y:0};return d.x=Math.sin(u)*l+(n[0].x+o.x)/2,d.y=-Math.cos(u)*l+(n[0].y+o.y)/2,e===\\\"start_left\\\"&&(d.x=Math.sin(u+Math.PI)*l+(n[0].x+o.x)/2,d.y=-Math.cos(u+Math.PI)*l+(n[0].y+o.y)/2),e===\\\"end_right\\\"&&(d.x=Math.sin(u-Math.PI)*l+(n[0].x+o.x)/2-5,d.y=-Math.cos(u-Math.PI)*l+(n[0].y+o.y)/2-5),e===\\\"end_left\\\"&&(d.x=Math.sin(u)*l+(n[0].x+o.x)/2-5,d.y=-Math.cos(u)*l+(n[0].y+o.y)/2-5),d}function Vi(t){let e=\\\"\\\",r=\\\"\\\";for(const n of t)n!==void 0&&(n.startsWith(\\\"color:\\\")||n.startsWith(\\\"text-align:\\\")?r=r+n+\\\";\\\":e=e+n+\\\";\\\");return{style:e,labelStyle:r}}let Op=0;const Rp=()=>(Op++,\\\"id-\\\"+Math.random().toString(36).substr(2,12)+\\\"-\\\"+Op);function OT(t){let e=\\\"\\\";const r=\\\"0123456789abcdef\\\",n=r.length;for(let i=0;i\u003Ct;i++)e+=r.charAt(Math.floor(Math.random()*n));return e}const Fp=t=>OT(t.length),RT=function(){return{x:0,y:0,fill:void 0,anchor:\\\"start\\\",style:\\\"#666\\\",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},FT=function(t,e){const r=e.text.replace(he.lineBreakRegex,\\\" \\\"),n=t.append(\\\"text\\\");n.attr(\\\"x\\\",e.x),n.attr(\\\"y\\\",e.y),n.style(\\\"text-anchor\\\",e.anchor),n.style(\\\"font-family\\\",e.fontFamily),n.style(\\\"font-size\\\",e.fontSize),n.style(\\\"font-weight\\\",e.fontWeight),n.attr(\\\"fill\\\",e.fill),e.class!==void 0&&n.attr(\\\"class\\\",e.class);const i=n.append(\\\"tspan\\\");return i.attr(\\\"x\\\",e.x+e.textMargin*2),i.attr(\\\"fill\\\",e.fill),i.text(r),n},Pp=la((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:\\\"Arial\\\",joinWith:\\\"\u003Cbr/>\\\"},r),he.lineBreakRegex.test(t)))return t;const n=t.split(\\\" \\\"),i=[];let s=\\\"\\\";return n.forEach((a,o)=>{const l=Un(`${a} `,r),u=Un(s,r);if(l>e){const{hyphenatedStrings:p,remainingWord:g}=PT(a,e,\\\"-\\\",r);i.push(s,...p),s=g}else u+l>=e?(i.push(s),s=a):s=[s,a].filter(Boolean).join(\\\" \\\");o+1===n.length&&i.push(s)}),i.filter(a=>a!==\\\"\\\").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),PT=la((t,e,r=\\\"-\\\",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:\\\"Arial\\\",margin:0},n);const i=[...t],s=[];let a=\\\"\\\";return i.forEach((o,l)=>{const u=`${a}${o}`;if(Un(u,n)>=e){const f=l+1,p=i.length===f,g=`${u}${r}`;s.push(p?u:g),a=\\\"\\\"}else a=u}),{hyphenatedStrings:s,remainingWord:a}},(t,e,r=\\\"-\\\",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function g1(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:\\\"Arial\\\",margin:15},e),y1(t,e).height}function Un(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:\\\"Arial\\\"},e),y1(t,e).width}const y1=la((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:\\\"Arial\\\"},e);const{fontSize:r,fontFamily:n,fontWeight:i}=e;if(!t)return{width:0,height:0};const s=[\\\"sans-serif\\\",n],a=t.split(he.lineBreakRegex),o=[],l=St(\\\"body\\\");if(!l.remove)return{width:0,height:0,lineHeight:0};const u=l.append(\\\"svg\\\");for(const f of s){let p=0;const g={width:0,height:0,lineHeight:0};for(const b of a){const k=RT();k.text=b;const T=FT(u,k).style(\\\"font-size\\\",r).style(\\\"font-weight\\\",i).style(\\\"font-family\\\",f),L=(T._groups||T)[0][0].getBBox();g.width=Math.round(Math.max(g.width,L.width)),p=Math.round(L.height),g.height+=p,g.lineHeight=Math.round(Math.max(g.lineHeight,p))}o.push(g)}u.remove();const d=isNaN(o[1].height)||isNaN(o[1].width)||isNaN(o[1].lineHeight)||o[0].height>o[1].height&&o[0].width>o[1].width&&o[0].lineHeight>o[1].lineHeight?0:1;return o[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),YT=class{constructor(e,r){this.deterministic=e,this.seed=r,this.count=r?r.length:0}next(){return this.deterministic?this.count++:Date.now()}};let mc;const VT=function(t){return mc=mc||document.createElement(\\\"div\\\"),t=escape(t).replace(/%26/g,\\\"&\\\").replace(/%23/g,\\\"#\\\").replace(/%3B/g,\\\";\\\"),mc.innerHTML=t,unescape(mc.textContent)},bs=t=>{if(B.debug(\\\"directiveSanitizer called with\\\",t),typeof t==\\\"object\\\"&&(t.length?t.forEach(e=>bs(e)):Object.keys(t).forEach(e=>{B.debug(\\\"Checking key\\\",e),e.startsWith(\\\"__\\\")&&(B.debug(\\\"sanitize deleting __ option\\\",e),delete t[e]),e.includes(\\\"proto\\\")&&(B.debug(\\\"sanitize deleting proto option\\\",e),delete t[e]),e.includes(\\\"constr\\\")&&(B.debug(\\\"sanitize deleting constr option\\\",e),delete t[e]),e.includes(\\\"themeCSS\\\")&&(B.debug(\\\"sanitizing themeCss option\\\"),t[e]=bc(t[e])),e.includes(\\\"fontFamily\\\")&&(B.debug(\\\"sanitizing fontFamily option\\\"),t[e]=bc(t[e])),e.includes(\\\"altFontFamily\\\")&&(B.debug(\\\"sanitizing altFontFamily option\\\"),t[e]=bc(t[e])),A8.includes(e)?typeof t[e]==\\\"object\\\"&&(B.debug(\\\"sanitize deleting object\\\",e),bs(t[e])):(B.debug(\\\"sanitize deleting option\\\",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const r of e){const n=t.themeVariables[r];n&&n.match&&!n.match(/^[\\\\d \\\"#%(),.;A-Za-z]+$/)&&(t.themeVariables[r]=\\\"\\\")}}B.debug(\\\"After sanitization\\\",t)},bc=t=>{let e=0,r=0;for(const n of t){if(e\u003Cr)return\\\"{ /* ERROR: Unbalanced CSS */ }\\\";n===\\\"{\\\"?e++:n===\\\"}\\\"&&r++}return e!==r?\\\"{ /* ERROR: Unbalanced CSS */ }\\\":t};function m1(t){return\\\"str\\\"in t}function UT(t){return t instanceof Error?t.message:String(t)}const ge={assignWithDepth:gr,wrapLabel:Pp,calculateTextHeight:g1,calculateTextWidth:Un,calculateTextDimensions:y1,detectInit:ST,detectDirective:Ip,isSubstringInArray:AT,interpolateToCurve:bn,calcLabelPosition:NT,calcCardinalityPosition:BT,calcTerminalLabelPosition:IT,formatUrl:LT,getStylesFromArray:Vi,generateId:Rp,random:Fp,runFunc:DT,entityDecode:VT,initIdGenerator:YT,directiveSanitizer:bs,sanitizeCss:bc,insertTitle:(t,e,r,n)=>{if(!n)return;const i=t.node().getBBox();t.append(\\\"text\\\").text(n).attr(\\\"x\\\",i.x+i.width/2).attr(\\\"y\\\",-r).attr(\\\"class\\\",e)}};var Yp=\\\"comm\\\",Vp=\\\"rule\\\",Up=\\\"decl\\\",zT=\\\"@import\\\",WT=\\\"@keyframes\\\",HT=Math.abs,b1=String.fromCharCode;function zp(t){return t.trim()}function _1(t,e,r){return t.replace(e,r)}function GT(t,e){return t.indexOf(e)}function _c(t,e){return t.charCodeAt(e)|0}function ho(t,e,r){return t.slice(e,r)}function Ui(t){return t.length}function Wp(t){return t.length}function xc(t,e){return e.push(t),t}var vc=1,ca=1,Hp=0,rn=0,er=0,ua=\\\"\\\";function x1(t,e,r,n,i,s,a){return{value:t,root:e,parent:r,type:n,props:i,children:s,line:vc,column:ca,length:a,return:\\\"\\\"}}function qT(){return er}function jT(){return er=rn>0?_c(ua,--rn):0,ca--,er===10&&(ca=1,vc--),er}function _n(){return er=rn\u003CHp?_c(ua,rn++):0,ca++,er===10&&(ca=1,vc++),er}function _s(){return _c(ua,rn)}function kc(){return rn}function wc(t,e){return ho(ua,t,e)}function v1(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function $T(t){return vc=ca=1,Hp=Ui(ua=t),rn=0,[]}function XT(t){return ua=\\\"\\\",t}function k1(t){return zp(wc(rn-1,w1(t===91?t+2:t===40?t+1:t)))}function KT(t){for(;(er=_s())&&er\u003C33;)_n();return v1(t)>2||v1(er)>3?\\\"\\\":\\\" \\\"}function ZT(t,e){for(;--e&&_n()&&!(er\u003C48||er>102||er>57&&er\u003C65||er>70&&er\u003C97););return wc(t,kc()+(e\u003C6&&_s()==32&&_n()==32))}function w1(t){for(;_n();)switch(er){case t:return rn;case 34:case 39:t!==34&&t!==39&&w1(er);break;case 40:t===41&&w1(t);break;case 92:_n();break}return rn}function QT(t,e){for(;_n()&&t+er!==47+10;)if(t+er===42+42&&_s()===47)break;return\\\"/*\\\"+wc(e,rn-1)+\\\"*\\\"+b1(t===47?t:_n())}function JT(t){for(;!v1(_s());)_n();return wc(t,rn)}function tE(t){return XT(Tc(\\\"\\\",null,null,null,[\\\"\\\"],t=$T(t),0,[0],t))}function Tc(t,e,r,n,i,s,a,o,l){for(var u=0,d=0,f=a,p=0,g=0,b=0,k=1,T=1,L=1,E=0,I=\\\"\\\",V=i,H=s,G=n,Y=I;T;)switch(b=E,E=_n()){case 40:if(b!=108&&_c(Y,f-1)==58){GT(Y+=_1(k1(E),\\\"&\\\",\\\"&\\\\f\\\"),\\\"&\\\\f\\\")!=-1&&(L=-1);break}case 34:case 39:case 91:Y+=k1(E);break;case 9:case 10:case 13:case 32:Y+=KT(b);break;case 92:Y+=ZT(kc()-1,7);continue;case 47:switch(_s()){case 42:case 47:xc(eE(QT(_n(),kc()),e,r),l);break;default:Y+=\\\"/\\\"}break;case 123*k:o[u++]=Ui(Y)*L;case 125*k:case 59:case 0:switch(E){case 0:case 125:T=0;case 59+d:g>0&&Ui(Y)-f&&xc(g>32?qp(Y+\\\";\\\",n,r,f-1):qp(_1(Y,\\\" \\\",\\\"\\\")+\\\";\\\",n,r,f-2),l);break;case 59:Y+=\\\";\\\";default:if(xc(G=Gp(Y,e,r,u,d,i,o,I,V=[],H=[],f),s),E===123)if(d===0)Tc(Y,e,G,G,V,s,f,o,H);else switch(p){case 100:case 109:case 115:Tc(t,G,G,n&&xc(Gp(t,G,G,0,0,i,o,I,i,V=[],f),H),i,H,f,o,n?V:H);break;default:Tc(Y,G,G,G,[\\\"\\\"],H,0,o,H)}}u=d=g=0,k=L=1,I=Y=\\\"\\\",f=a;break;case 58:f=1+Ui(Y),g=b;default:if(k\u003C1){if(E==123)--k;else if(E==125&&k++==0&&jT()==125)continue}switch(Y+=b1(E),E*k){case 38:L=d>0?1:(Y+=\\\"\\\\f\\\",-1);break;case 44:o[u++]=(Ui(Y)-1)*L,L=1;break;case 64:_s()===45&&(Y+=k1(_n())),p=_s(),d=f=Ui(I=Y+=JT(kc())),E++;break;case 45:b===45&&Ui(Y)==2&&(k=0)}}return s}function Gp(t,e,r,n,i,s,a,o,l,u,d){for(var f=i-1,p=i===0?s:[\\\"\\\"],g=Wp(p),b=0,k=0,T=0;b\u003Cn;++b)for(var L=0,E=ho(t,f+1,f=HT(k=a[b])),I=t;L\u003Cg;++L)(I=zp(k>0?p[L]+\\\" \\\"+E:_1(E,/&\\\\f/g,p[L])))&&(l[T++]=I);return x1(t,e,r,i===0?Vp:o,l,u,d)}function eE(t,e,r){return x1(t,e,r,Yp,b1(qT()),ho(t,2,-2),0)}function qp(t,e,r,n){return x1(t,e,r,Up,ho(t,0,n),ho(t,n+1,-1),n)}function T1(t,e){for(var r=\\\"\\\",n=Wp(t),i=0;i\u003Cn;i++)r+=e(t[i],i,t,e)||\\\"\\\";return r}function rE(t,e,r,n){switch(t.type){case zT:case Up:return t.return=t.return||t.value;case Yp:return\\\"\\\";case WT:return t.return=t.value+\\\"{\\\"+T1(t.children,n)+\\\"}\\\";case Vp:t.value=t.props.join(\\\",\\\")}return Ui(r=T1(t.children,n))?t.return=t.value+\\\"{\\\"+r+\\\"}\\\":\\\"\\\"}const Ec={name:\\\"mermaid\\\",version:\\\"9.3.0\\\",description:\\\"Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.\\\",main:\\\"./dist/mermaid.min.js\\\",module:\\\"./dist/mermaid.core.mjs\\\",types:\\\"./dist/mermaid.d.ts\\\",exports:{\\\".\\\":{require:\\\"./dist/mermaid.min.js\\\",import:\\\"./dist/mermaid.core.mjs\\\",types:\\\"./dist/mermaid.d.ts\\\"},\\\"./*\\\":\\\"./*\\\"},keywords:[\\\"diagram\\\",\\\"markdown\\\",\\\"flowchart\\\",\\\"sequence diagram\\\",\\\"gantt\\\",\\\"class diagram\\\",\\\"git graph\\\"],scripts:{clean:\\\"rimraf dist\\\",\\\"docs:code\\\":\\\"typedoc src/defaultConfig.ts src/config.ts src/mermaidAPI.ts && prettier --write ./src/docs/config/setup\\\",\\\"docs:build\\\":\\\"rimraf ../../docs && pnpm docs:spellcheck && pnpm docs:code && ts-node-esm src/docs.mts\\\",\\\"docs:verify\\\":\\\"pnpm docs:spellcheck && pnpm docs:code && ts-node-esm src/docs.mts --verify\\\",\\\"docs:pre:vitepress\\\":\\\"rimraf src/vitepress && pnpm docs:code && ts-node-esm src/docs.mts --vitepress\\\",\\\"docs:build:vitepress\\\":\\\"pnpm docs:pre:vitepress && vitepress build src/vitepress\\\",\\\"docs:dev\\\":'pnpm docs:pre:vitepress && concurrently \\\"vitepress dev src/vitepress\\\" \\\"ts-node-esm src/docs.mts --watch --vitepress\\\"',\\\"docs:serve\\\":\\\"pnpm docs:build:vitepress && vitepress serve src/vitepress\\\",\\\"docs:spellcheck\\\":'cspell --config ../../cSpell.json \\\"src/docs/**/*.md\\\"',release:\\\"pnpm build\\\",prepublishOnly:\\\"pnpm -w run build\\\"},repository:{type:\\\"git\\\",url:\\\"https://github.com/mermaid-js/mermaid\\\"},author:\\\"Knut Sveidqvist\\\",license:\\\"MIT\\\",standard:{ignore:[\\\"**/parser/*.js\\\",\\\"dist/**/*.js\\\",\\\"cypress/**/*.js\\\"],globals:[\\\"page\\\"]},dependencies:{\\\"@braintree/sanitize-url\\\":\\\"^6.0.0\\\",d3:\\\"^7.0.0\\\",\\\"dagre-d3-es\\\":\\\"7.0.6\\\",dompurify:\\\"2.4.1\\\",khroma:\\\"^2.0.0\\\",\\\"lodash-es\\\":\\\"^4.17.21\\\",\\\"moment-mini\\\":\\\"^2.24.0\\\",\\\"non-layered-tidy-tree-layout\\\":\\\"^2.0.2\\\",stylis:\\\"^4.1.2\\\",uuid:\\\"^9.0.0\\\"},devDependencies:{\\\"@types/d3\\\":\\\"^7.4.0\\\",\\\"@types/dompurify\\\":\\\"^2.4.0\\\",\\\"@types/jsdom\\\":\\\"^20.0.1\\\",\\\"@types/lodash-es\\\":\\\"^4.17.6\\\",\\\"@types/micromatch\\\":\\\"^4.0.2\\\",\\\"@types/prettier\\\":\\\"^2.7.1\\\",\\\"@types/stylis\\\":\\\"^4.0.2\\\",\\\"@types/uuid\\\":\\\"^8.3.4\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^5.42.1\\\",\\\"@typescript-eslint/parser\\\":\\\"^5.42.1\\\",chokidar:\\\"^3.5.3\\\",concurrently:\\\"^7.5.0\\\",coveralls:\\\"^3.1.1\\\",cspell:\\\"^6.14.3\\\",globby:\\\"^13.1.2\\\",jison:\\\"^0.4.18\\\",\\\"js-base64\\\":\\\"^3.7.2\\\",jsdom:\\\"^20.0.2\\\",micromatch:\\\"^4.0.5\\\",moment:\\\"^2.29.4\\\",\\\"path-browserify\\\":\\\"^1.0.1\\\",prettier:\\\"^2.7.1\\\",remark:\\\"^14.0.2\\\",rimraf:\\\"^3.0.2\\\",\\\"start-server-and-test\\\":\\\"^1.14.0\\\",typedoc:\\\"^0.23.18\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.13.6\\\",typescript:\\\"^4.8.4\\\",\\\"unist-util-flatmap\\\":\\\"^1.0.0\\\",vitepress:\\\"^1.0.0-alpha.28\\\",\\\"vitepress-plugin-search\\\":\\\"^1.0.4-alpha.15\\\"},files:[\\\"dist\\\",\\\"README.md\\\"],sideEffects:[\\\"**/*.css\\\",\\\"**/*.scss\\\"]},ha=Object.freeze(L8);let Pr=gr({},ha),jp,da=[],fo=gr({},ha);const Cc=(t,e)=>{let r=gr({},t),n={};for(const i of e)Kp(i),n=gr(n,i);if(r=gr(r,n),n.theme&&n.theme in oi){const i=gr({},jp),s=gr(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in oi&&(r.themeVariables=oi[r.theme].getThemeVariables(s))}return fo=r,Jp(fo),fo},nE=t=>(Pr=gr({},ha),Pr=gr(Pr,t),t.theme&&oi[t.theme]&&(Pr.themeVariables=oi[t.theme].getThemeVariables(t.themeVariables)),Cc(Pr,da),Pr),iE=t=>{jp=gr({},t)},sE=t=>(Pr=gr(Pr,t),Cc(Pr,da),Pr),$p=()=>gr({},Pr),Xp=t=>(Jp(t),gr(fo,t),$()),$=()=>gr({},fo),Kp=t=>{var e;[\\\"secure\\\",...(e=Pr.secure)!=null?e:[]].forEach(r=>{t[r]!==void 0&&(B.debug(`Denied attempt to modify a secure key ${r}`,t[r]),delete t[r])}),Object.keys(t).forEach(r=>{r.indexOf(\\\"__\\\")===0&&delete t[r]}),Object.keys(t).forEach(r=>{typeof t[r]==\\\"string\\\"&&(t[r].includes(\\\"\u003C\\\")||t[r].includes(\\\">\\\")||t[r].includes(\\\"url(data:\\\"))&&delete t[r],typeof t[r]==\\\"object\\\"&&Kp(t[r])})},E1=t=>{t.fontFamily&&(t.themeVariables?t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}):t.themeVariables={fontFamily:t.fontFamily}),da.push(t),Cc(Pr,da)},po=(t=Pr)=>{da=[],Cc(t,da)};var Zp=(t=>(t.LAZY_LOAD_DEPRECATED=\\\"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.\\\",t))(Zp||{});const Qp={},aE=t=>{Qp[t]||(B.warn(Zp[t]),Qp[t]=!0)},Jp=t=>{!t||(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&aE(\\\"LAZY_LOAD_DEPRECATED\\\")},oE=function(t,e){for(let r of e)t.attr(r[0],r[1])},lE=function(t,e,r){let n=new Map;return r?(n.set(\\\"width\\\",\\\"100%\\\"),n.set(\\\"style\\\",`max-width: ${e}px;`)):(n.set(\\\"height\\\",t),n.set(\\\"width\\\",e)),n},xn=function(t,e,r,n){const i=lE(e,r,n);oE(t,i)},Sc=function(t,e,r,n){const i=e.node().getBBox(),s=i.width,a=i.height;B.info(`SVG bounds: ${s}x${a}`,i);let o=0,l=0;B.info(`Graph bounds: ${o}x${l}`,t),o=s+r*2,l=a+r*2,B.info(`Calculated bounds: ${o}x${l}`),xn(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr(\\\"viewBox\\\",u)},go=t=>`g.classGroup text {\\n fill: ${t.nodeBorder};\\n fill: ${t.classText};\\n stroke: none;\\n font-family: ${t.fontFamily};\\n font-size: 10px;\\n\\n .title {\\n font-weight: bolder;\\n }\\n\\n}\\n\\n.nodeLabel, .edgeLabel {\\n color: ${t.classText};\\n}\\n.edgeLabel .label rect {\\n fill: ${t.mainBkg};\\n}\\n.label text {\\n fill: ${t.classText};\\n}\\n.edgeLabel .label span {\\n background: ${t.mainBkg};\\n}\\n\\n.classTitle {\\n font-weight: bolder;\\n}\\n.node rect,\\n .node circle,\\n .node ellipse,\\n .node polygon,\\n .node path {\\n fill: ${t.mainBkg};\\n stroke: ${t.nodeBorder};\\n stroke-width: 1px;\\n }\\n\\n\\n.divider {\\n stroke: ${t.nodeBorder};\\n stroke: 1;\\n}\\n\\ng.clickable {\\n cursor: pointer;\\n}\\n\\ng.classGroup rect {\\n fill: ${t.mainBkg};\\n stroke: ${t.nodeBorder};\\n}\\n\\ng.classGroup line {\\n stroke: ${t.nodeBorder};\\n stroke-width: 1;\\n}\\n\\n.classLabel .box {\\n stroke: none;\\n stroke-width: 0;\\n fill: ${t.mainBkg};\\n opacity: 0.5;\\n}\\n\\n.classLabel .label {\\n fill: ${t.nodeBorder};\\n font-size: 10px;\\n}\\n\\n.relation {\\n stroke: ${t.lineColor};\\n stroke-width: 1;\\n fill: none;\\n}\\n\\n.dashed-line{\\n stroke-dasharray: 3;\\n}\\n\\n.dotted-line{\\n stroke-dasharray: 1 2;\\n}\\n\\n#compositionStart, .composition {\\n fill: ${t.lineColor} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#compositionEnd, .composition {\\n fill: ${t.lineColor} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#dependencyStart, .dependency {\\n fill: ${t.lineColor} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#dependencyStart, .dependency {\\n fill: ${t.lineColor} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#extensionStart, .extension {\\n fill: ${t.mainBkg} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#extensionEnd, .extension {\\n fill: ${t.mainBkg} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#aggregationStart, .aggregation {\\n fill: ${t.mainBkg} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#aggregationEnd, .aggregation {\\n fill: ${t.mainBkg} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#lollipopStart, .lollipop {\\n fill: ${t.mainBkg} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n#lollipopEnd, .lollipop {\\n fill: ${t.mainBkg} !important;\\n stroke: ${t.lineColor} !important;\\n stroke-width: 1;\\n}\\n\\n.edgeTerminals {\\n font-size: 11px;\\n}\\n\\n.classTitleText {\\n text-anchor: middle;\\n font-size: 18px;\\n fill: ${t.textColor};\\n}\\n`,tg=t=>`\\n .entityBox {\\n fill: ${t.mainBkg};\\n stroke: ${t.nodeBorder};\\n }\\n\\n .attributeBoxOdd {\\n fill: ${t.attributeBackgroundColorOdd};\\n stroke: ${t.nodeBorder};\\n }\\n\\n .attributeBoxEven {\\n fill: ${t.attributeBackgroundColorEven};\\n stroke: ${t.nodeBorder};\\n }\\n\\n .relationshipLabelBox {\\n fill: ${t.tertiaryColor};\\n opacity: 0.7;\\n background-color: ${t.tertiaryColor};\\n rect {\\n opacity: 0.5;\\n }\\n }\\n\\n .relationshipLine {\\n stroke: ${t.lineColor};\\n }\\n\\n .entityTitleText {\\n text-anchor: middle;\\n font-size: 18px;\\n fill: ${t.textColor};\\n } \\n`,eg=()=>\\\"\\\",Ac=t=>`.label {\\n font-family: ${t.fontFamily};\\n color: ${t.nodeTextColor||t.textColor};\\n }\\n .cluster-label text {\\n fill: ${t.titleColor};\\n }\\n .cluster-label span {\\n color: ${t.titleColor};\\n }\\n\\n .label text,span {\\n fill: ${t.nodeTextColor||t.textColor};\\n color: ${t.nodeTextColor||t.textColor};\\n }\\n\\n .node rect,\\n .node circle,\\n .node ellipse,\\n .node polygon,\\n .node path {\\n fill: ${t.mainBkg};\\n stroke: ${t.nodeBorder};\\n stroke-width: 1px;\\n }\\n\\n .node .label {\\n text-align: center;\\n }\\n .node.clickable {\\n cursor: pointer;\\n }\\n\\n .arrowheadPath {\\n fill: ${t.arrowheadColor};\\n }\\n\\n .edgePath .path {\\n stroke: ${t.lineColor};\\n stroke-width: 2.0px;\\n }\\n\\n .flowchart-link {\\n stroke: ${t.lineColor};\\n fill: none;\\n }\\n\\n .edgeLabel {\\n background-color: ${t.edgeLabelBackground};\\n rect {\\n opacity: 0.5;\\n background-color: ${t.edgeLabelBackground};\\n fill: ${t.edgeLabelBackground};\\n }\\n text-align: center;\\n }\\n\\n .cluster rect {\\n fill: ${t.clusterBkg};\\n stroke: ${t.clusterBorder};\\n stroke-width: 1px;\\n }\\n\\n .cluster text {\\n fill: ${t.titleColor};\\n }\\n\\n .cluster span {\\n color: ${t.titleColor};\\n }\\n /* .cluster div {\\n color: ${t.titleColor};\\n } */\\n\\n div.mermaidTooltip {\\n position: absolute;\\n text-align: center;\\n max-width: 200px;\\n padding: 2px;\\n font-family: ${t.fontFamily};\\n font-size: 12px;\\n background: ${t.tertiaryColor};\\n border: 1px solid ${t.border2};\\n border-radius: 2px;\\n pointer-events: none;\\n z-index: 100;\\n }\\n\\n .flowchartTitleText {\\n text-anchor: middle;\\n font-size: 18px;\\n fill: ${t.textColor};\\n }\\n`,rg=t=>`\\n .mermaid-main-font {\\n font-family: \\\"trebuchet ms\\\", verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n }\\n .exclude-range {\\n fill: ${t.excludeBkgColor};\\n }\\n\\n .section {\\n stroke: none;\\n opacity: 0.2;\\n }\\n\\n .section0 {\\n fill: ${t.sectionBkgColor};\\n }\\n\\n .section2 {\\n fill: ${t.sectionBkgColor2};\\n }\\n\\n .section1,\\n .section3 {\\n fill: ${t.altSectionBkgColor};\\n opacity: 0.2;\\n }\\n\\n .sectionTitle0 {\\n fill: ${t.titleColor};\\n }\\n\\n .sectionTitle1 {\\n fill: ${t.titleColor};\\n }\\n\\n .sectionTitle2 {\\n fill: ${t.titleColor};\\n }\\n\\n .sectionTitle3 {\\n fill: ${t.titleColor};\\n }\\n\\n .sectionTitle {\\n text-anchor: start;\\n // font-size: ${t.ganttFontSize};\\n // text-height: 14px;\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n\\n }\\n\\n\\n /* Grid and axis */\\n\\n .grid .tick {\\n stroke: ${t.gridColor};\\n opacity: 0.8;\\n shape-rendering: crispEdges;\\n text {\\n font-family: ${t.fontFamily};\\n fill: ${t.textColor};\\n }\\n }\\n\\n .grid path {\\n stroke-width: 0;\\n }\\n\\n\\n /* Today line */\\n\\n .today {\\n fill: none;\\n stroke: ${t.todayLineColor};\\n stroke-width: 2px;\\n }\\n\\n\\n /* Task styling */\\n\\n /* Default task */\\n\\n .task {\\n stroke-width: 2;\\n }\\n\\n .taskText {\\n text-anchor: middle;\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n }\\n\\n // .taskText:not([font-size]) {\\n // font-size: ${t.ganttFontSize};\\n // }\\n\\n .taskTextOutsideRight {\\n fill: ${t.taskTextDarkColor};\\n text-anchor: start;\\n // font-size: ${t.ganttFontSize};\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n\\n }\\n\\n .taskTextOutsideLeft {\\n fill: ${t.taskTextDarkColor};\\n text-anchor: end;\\n // font-size: ${t.ganttFontSize};\\n }\\n\\n /* Special case clickable */\\n .task.clickable {\\n cursor: pointer;\\n }\\n .taskText.clickable {\\n cursor: pointer;\\n fill: ${t.taskTextClickableColor} !important;\\n font-weight: bold;\\n }\\n\\n .taskTextOutsideLeft.clickable {\\n cursor: pointer;\\n fill: ${t.taskTextClickableColor} !important;\\n font-weight: bold;\\n }\\n\\n .taskTextOutsideRight.clickable {\\n cursor: pointer;\\n fill: ${t.taskTextClickableColor} !important;\\n font-weight: bold;\\n }\\n\\n /* Specific task settings for the sections*/\\n\\n .taskText0,\\n .taskText1,\\n .taskText2,\\n .taskText3 {\\n fill: ${t.taskTextColor};\\n }\\n\\n .task0,\\n .task1,\\n .task2,\\n .task3 {\\n fill: ${t.taskBkgColor};\\n stroke: ${t.taskBorderColor};\\n }\\n\\n .taskTextOutside0,\\n .taskTextOutside2\\n {\\n fill: ${t.taskTextOutsideColor};\\n }\\n\\n .taskTextOutside1,\\n .taskTextOutside3 {\\n fill: ${t.taskTextOutsideColor};\\n }\\n\\n\\n /* Active task */\\n\\n .active0,\\n .active1,\\n .active2,\\n .active3 {\\n fill: ${t.activeTaskBkgColor};\\n stroke: ${t.activeTaskBorderColor};\\n }\\n\\n .activeText0,\\n .activeText1,\\n .activeText2,\\n .activeText3 {\\n fill: ${t.taskTextDarkColor} !important;\\n }\\n\\n\\n /* Completed task */\\n\\n .done0,\\n .done1,\\n .done2,\\n .done3 {\\n stroke: ${t.doneTaskBorderColor};\\n fill: ${t.doneTaskBkgColor};\\n stroke-width: 2;\\n }\\n\\n .doneText0,\\n .doneText1,\\n .doneText2,\\n .doneText3 {\\n fill: ${t.taskTextDarkColor} !important;\\n }\\n\\n\\n /* Tasks on the critical line */\\n\\n .crit0,\\n .crit1,\\n .crit2,\\n .crit3 {\\n stroke: ${t.critBorderColor};\\n fill: ${t.critBkgColor};\\n stroke-width: 2;\\n }\\n\\n .activeCrit0,\\n .activeCrit1,\\n .activeCrit2,\\n .activeCrit3 {\\n stroke: ${t.critBorderColor};\\n fill: ${t.activeTaskBkgColor};\\n stroke-width: 2;\\n }\\n\\n .doneCrit0,\\n .doneCrit1,\\n .doneCrit2,\\n .doneCrit3 {\\n stroke: ${t.critBorderColor};\\n fill: ${t.doneTaskBkgColor};\\n stroke-width: 2;\\n cursor: pointer;\\n shape-rendering: crispEdges;\\n }\\n\\n .milestone {\\n transform: rotate(45deg) scale(0.8,0.8);\\n }\\n\\n .milestoneText {\\n font-style: italic;\\n }\\n .doneCritText0,\\n .doneCritText1,\\n .doneCritText2,\\n .doneCritText3 {\\n fill: ${t.taskTextDarkColor} !important;\\n }\\n\\n .activeCritText0,\\n .activeCritText1,\\n .activeCritText2,\\n .activeCritText3 {\\n fill: ${t.taskTextDarkColor} !important;\\n }\\n\\n .titleText {\\n text-anchor: middle;\\n font-size: 18px;\\n fill: ${t.textColor} ;\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n }\\n`,ng=()=>\\\"\\\",ig=t=>`\\n .pieCircle{\\n stroke: ${t.pieStrokeColor};\\n stroke-width : ${t.pieStrokeWidth};\\n opacity : ${t.pieOpacity};\\n }\\n .pieTitleText {\\n text-anchor: middle;\\n font-size: ${t.pieTitleTextSize};\\n fill: ${t.pieTitleTextColor};\\n font-family: ${t.fontFamily};\\n }\\n .slice {\\n font-family: ${t.fontFamily};\\n fill: ${t.pieSectionTextColor};\\n font-size:${t.pieSectionTextSize};\\n // fill: white;\\n }\\n .legend text {\\n fill: ${t.pieLegendTextColor};\\n font-family: ${t.fontFamily};\\n font-size: ${t.pieLegendTextSize};\\n }\\n`,sg=t=>`\\n\\n marker {\\n fill: ${t.relationColor};\\n stroke: ${t.relationColor};\\n }\\n\\n marker.cross {\\n stroke: ${t.lineColor};\\n }\\n\\n svg {\\n font-family: ${t.fontFamily};\\n font-size: ${t.fontSize};\\n }\\n\\n .reqBox {\\n fill: ${t.requirementBackground};\\n fill-opacity: 100%;\\n stroke: ${t.requirementBorderColor};\\n stroke-width: ${t.requirementBorderSize};\\n }\\n \\n .reqTitle, .reqLabel{\\n fill: ${t.requirementTextColor};\\n }\\n .reqLabelBox {\\n fill: ${t.relationLabelBackground};\\n fill-opacity: 100%;\\n }\\n\\n .req-title-line {\\n stroke: ${t.requirementBorderColor};\\n stroke-width: ${t.requirementBorderSize};\\n }\\n .relationshipLine {\\n stroke: ${t.relationColor};\\n stroke-width: 1;\\n }\\n .relationshipLabel {\\n fill: ${t.relationLabelColor};\\n }\\n\\n`,ag=t=>`.actor {\\n stroke: ${t.actorBorder};\\n fill: ${t.actorBkg};\\n }\\n\\n text.actor > tspan {\\n fill: ${t.actorTextColor};\\n stroke: none;\\n }\\n\\n .actor-line {\\n stroke: ${t.actorLineColor};\\n }\\n\\n .messageLine0 {\\n stroke-width: 1.5;\\n stroke-dasharray: none;\\n stroke: ${t.signalColor};\\n }\\n\\n .messageLine1 {\\n stroke-width: 1.5;\\n stroke-dasharray: 2, 2;\\n stroke: ${t.signalColor};\\n }\\n\\n #arrowhead path {\\n fill: ${t.signalColor};\\n stroke: ${t.signalColor};\\n }\\n\\n .sequenceNumber {\\n fill: ${t.sequenceNumberColor};\\n }\\n\\n #sequencenumber {\\n fill: ${t.signalColor};\\n }\\n\\n #crosshead path {\\n fill: ${t.signalColor};\\n stroke: ${t.signalColor};\\n }\\n\\n .messageText {\\n fill: ${t.signalTextColor};\\n stroke: none;\\n }\\n\\n .labelBox {\\n stroke: ${t.labelBoxBorderColor};\\n fill: ${t.labelBoxBkgColor};\\n }\\n\\n .labelText, .labelText > tspan {\\n fill: ${t.labelTextColor};\\n stroke: none;\\n }\\n\\n .loopText, .loopText > tspan {\\n fill: ${t.loopTextColor};\\n stroke: none;\\n }\\n\\n .loopLine {\\n stroke-width: 2px;\\n stroke-dasharray: 2, 2;\\n stroke: ${t.labelBoxBorderColor};\\n fill: ${t.labelBoxBorderColor};\\n }\\n\\n .note {\\n //stroke: #decc93;\\n stroke: ${t.noteBorderColor};\\n fill: ${t.noteBkgColor};\\n }\\n\\n .noteText, .noteText > tspan {\\n fill: ${t.noteTextColor};\\n stroke: none;\\n }\\n\\n .activation0 {\\n fill: ${t.activationBkgColor};\\n stroke: ${t.activationBorderColor};\\n }\\n\\n .activation1 {\\n fill: ${t.activationBkgColor};\\n stroke: ${t.activationBorderColor};\\n }\\n\\n .activation2 {\\n fill: ${t.activationBkgColor};\\n stroke: ${t.activationBorderColor};\\n }\\n\\n .actorPopupMenu {\\n position: absolute;\\n }\\n\\n .actorPopupMenuPanel {\\n position: absolute;\\n fill: ${t.actorBkg};\\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\\n}\\n .actor-man line {\\n stroke: ${t.actorBorder};\\n fill: ${t.actorBkg};\\n }\\n .actor-man circle, line {\\n stroke: ${t.actorBorder};\\n fill: ${t.actorBkg};\\n stroke-width: 2px;\\n }\\n`,Lc=t=>`\\ndefs #statediagram-barbEnd {\\n fill: ${t.transitionColor};\\n stroke: ${t.transitionColor};\\n }\\ng.stateGroup text {\\n fill: ${t.nodeBorder};\\n stroke: none;\\n font-size: 10px;\\n}\\ng.stateGroup text {\\n fill: ${t.textColor};\\n stroke: none;\\n font-size: 10px;\\n\\n}\\ng.stateGroup .state-title {\\n font-weight: bolder;\\n fill: ${t.stateLabelColor};\\n}\\n\\ng.stateGroup rect {\\n fill: ${t.mainBkg};\\n stroke: ${t.nodeBorder};\\n}\\n\\ng.stateGroup line {\\n stroke: ${t.lineColor};\\n stroke-width: 1;\\n}\\n\\n.transition {\\n stroke: ${t.transitionColor};\\n stroke-width: 1;\\n fill: none;\\n}\\n\\n.stateGroup .composit {\\n fill: ${t.background};\\n border-bottom: 1px\\n}\\n\\n.stateGroup .alt-composit {\\n fill: #e0e0e0;\\n border-bottom: 1px\\n}\\n\\n.state-note {\\n stroke: ${t.noteBorderColor};\\n fill: ${t.noteBkgColor};\\n\\n text {\\n fill: ${t.noteTextColor};\\n stroke: none;\\n font-size: 10px;\\n }\\n}\\n\\n.stateLabel .box {\\n stroke: none;\\n stroke-width: 0;\\n fill: ${t.mainBkg};\\n opacity: 0.5;\\n}\\n\\n.edgeLabel .label rect {\\n fill: ${t.labelBackgroundColor};\\n opacity: 0.5;\\n}\\n.edgeLabel .label text {\\n fill: ${t.transitionLabelColor||t.tertiaryTextColor};\\n}\\n.label div .edgeLabel {\\n color: ${t.transitionLabelColor||t.tertiaryTextColor};\\n}\\n\\n.stateLabel text {\\n fill: ${t.stateLabelColor};\\n font-size: 10px;\\n font-weight: bold;\\n}\\n\\n.node circle.state-start {\\n fill: ${t.specialStateColor};\\n stroke: ${t.specialStateColor};\\n}\\n\\n.node .fork-join {\\n fill: ${t.specialStateColor};\\n stroke: ${t.specialStateColor};\\n}\\n\\n.node circle.state-end {\\n fill: ${t.innerEndBackground};\\n stroke: ${t.background};\\n stroke-width: 1.5\\n}\\n.end-state-inner {\\n fill: ${t.compositeBackground||t.background};\\n // stroke: ${t.background};\\n stroke-width: 1.5\\n}\\n\\n.node rect {\\n fill: ${t.stateBkg||t.mainBkg};\\n stroke: ${t.stateBorder||t.nodeBorder};\\n stroke-width: 1px;\\n}\\n.node polygon {\\n fill: ${t.mainBkg};\\n stroke: ${t.stateBorder||t.nodeBorder};;\\n stroke-width: 1px;\\n}\\n#statediagram-barbEnd {\\n fill: ${t.lineColor};\\n}\\n\\n.statediagram-cluster rect {\\n fill: ${t.compositeTitleBackground};\\n stroke: ${t.stateBorder||t.nodeBorder};\\n stroke-width: 1px;\\n}\\n\\n.cluster-label, .nodeLabel {\\n color: ${t.stateLabelColor};\\n}\\n\\n.statediagram-cluster rect.outer {\\n rx: 5px;\\n ry: 5px;\\n}\\n.statediagram-state .divider {\\n stroke: ${t.stateBorder||t.nodeBorder};\\n}\\n\\n.statediagram-state .title-state {\\n rx: 5px;\\n ry: 5px;\\n}\\n.statediagram-cluster.statediagram-cluster .inner {\\n fill: ${t.compositeBackground||t.background};\\n}\\n.statediagram-cluster.statediagram-cluster-alt .inner {\\n fill: ${t.altBackground?t.altBackground:\\\"#efefef\\\"};\\n}\\n\\n.statediagram-cluster .inner {\\n rx:0;\\n ry:0;\\n}\\n\\n.statediagram-state rect.basic {\\n rx: 5px;\\n ry: 5px;\\n}\\n.statediagram-state rect.divider {\\n stroke-dasharray: 10,10;\\n fill: ${t.altBackground?t.altBackground:\\\"#efefef\\\"};\\n}\\n\\n.note-edge {\\n stroke-dasharray: 5;\\n}\\n\\n.statediagram-note rect {\\n fill: ${t.noteBkgColor};\\n stroke: ${t.noteBorderColor};\\n stroke-width: 1px;\\n rx: 0;\\n ry: 0;\\n}\\n.statediagram-note rect {\\n fill: ${t.noteBkgColor};\\n stroke: ${t.noteBorderColor};\\n stroke-width: 1px;\\n rx: 0;\\n ry: 0;\\n}\\n\\n.statediagram-note text {\\n fill: ${t.noteTextColor};\\n}\\n\\n.statediagram-note .nodeLabel {\\n color: ${t.noteTextColor};\\n}\\n.statediagram .edgeLabel {\\n color: red; // ${t.noteTextColor};\\n}\\n\\n#dependencyStart, #dependencyEnd {\\n fill: ${t.lineColor};\\n stroke: ${t.lineColor};\\n stroke-width: 1;\\n}\\n\\n.statediagramTitleText {\\n text-anchor: middle;\\n font-size: 18px;\\n fill: ${t.textColor};\\n}\\n`,og=t=>`.label {\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n color: ${t.textColor};\\n }\\n .mouth {\\n stroke: #666;\\n }\\n\\n line {\\n stroke: ${t.textColor}\\n }\\n\\n .legend {\\n fill: ${t.textColor};\\n }\\n\\n .label text {\\n fill: #333;\\n }\\n .label {\\n color: ${t.textColor}\\n }\\n\\n .face {\\n ${t.faceColor?`fill: ${t.faceColor}`:\\\"fill: #FFF8DC\\\"};\\n stroke: #999;\\n }\\n\\n .node rect,\\n .node circle,\\n .node ellipse,\\n .node polygon,\\n .node path {\\n fill: ${t.mainBkg};\\n stroke: ${t.nodeBorder};\\n stroke-width: 1px;\\n }\\n\\n .node .label {\\n text-align: center;\\n }\\n .node.clickable {\\n cursor: pointer;\\n }\\n\\n .arrowheadPath {\\n fill: ${t.arrowheadColor};\\n }\\n\\n .edgePath .path {\\n stroke: ${t.lineColor};\\n stroke-width: 1.5px;\\n }\\n\\n .flowchart-link {\\n stroke: ${t.lineColor};\\n fill: none;\\n }\\n\\n .edgeLabel {\\n background-color: ${t.edgeLabelBackground};\\n rect {\\n opacity: 0.5;\\n }\\n text-align: center;\\n }\\n\\n .cluster rect {\\n }\\n\\n .cluster text {\\n fill: ${t.titleColor};\\n }\\n\\n div.mermaidTooltip {\\n position: absolute;\\n text-align: center;\\n max-width: 200px;\\n padding: 2px;\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n font-size: 12px;\\n background: ${t.tertiaryColor};\\n border: 1px solid ${t.border2};\\n border-radius: 2px;\\n pointer-events: none;\\n z-index: 100;\\n }\\n\\n .task-type-0, .section-type-0 {\\n ${t.fillType0?`fill: ${t.fillType0}`:\\\"\\\"};\\n }\\n .task-type-1, .section-type-1 {\\n ${t.fillType0?`fill: ${t.fillType1}`:\\\"\\\"};\\n }\\n .task-type-2, .section-type-2 {\\n ${t.fillType0?`fill: ${t.fillType2}`:\\\"\\\"};\\n }\\n .task-type-3, .section-type-3 {\\n ${t.fillType0?`fill: ${t.fillType3}`:\\\"\\\"};\\n }\\n .task-type-4, .section-type-4 {\\n ${t.fillType0?`fill: ${t.fillType4}`:\\\"\\\"};\\n }\\n .task-type-5, .section-type-5 {\\n ${t.fillType0?`fill: ${t.fillType5}`:\\\"\\\"};\\n }\\n .task-type-6, .section-type-6 {\\n ${t.fillType0?`fill: ${t.fillType6}`:\\\"\\\"};\\n }\\n .task-type-7, .section-type-7 {\\n ${t.fillType0?`fill: ${t.fillType7}`:\\\"\\\"};\\n }\\n\\n .actor-0 {\\n ${t.actor0?`fill: ${t.actor0}`:\\\"\\\"};\\n }\\n .actor-1 {\\n ${t.actor1?`fill: ${t.actor1}`:\\\"\\\"};\\n }\\n .actor-2 {\\n ${t.actor2?`fill: ${t.actor2}`:\\\"\\\"};\\n }\\n .actor-3 {\\n ${t.actor3?`fill: ${t.actor3}`:\\\"\\\"};\\n }\\n .actor-4 {\\n ${t.actor4?`fill: ${t.actor4}`:\\\"\\\"};\\n }\\n .actor-5 {\\n ${t.actor5?`fill: ${t.actor5}`:\\\"\\\"};\\n }\\n`,lg=t=>`.person {\\n stroke: ${t.personBorder};\\n fill: ${t.personBkg};\\n }\\n`,Dc={flowchart:Ac,\\\"flowchart-v2\\\":Ac,sequence:ag,gantt:rg,classDiagram:go,\\\"classDiagram-v2\\\":go,class:go,stateDiagram:Lc,state:Lc,info:ng,pie:ig,er:tg,error:eg,journey:og,requirement:sg,c4:lg},cE=(t,e,r)=>{let n=\\\"\\\";return t in Dc&&Dc[t]?n=Dc[t](r):B.warn(`No theme found for ${t}`),` & {\\n font-family: ${r.fontFamily};\\n font-size: ${r.fontSize};\\n fill: ${r.textColor}\\n }\\n\\n /* Classes common for multiple diagrams */\\n\\n & .error-icon {\\n fill: ${r.errorBkgColor};\\n }\\n & .error-text {\\n fill: ${r.errorTextColor};\\n stroke: ${r.errorTextColor};\\n }\\n\\n & .edge-thickness-normal {\\n stroke-width: 2px;\\n }\\n & .edge-thickness-thick {\\n stroke-width: 3.5px\\n }\\n & .edge-pattern-solid {\\n stroke-dasharray: 0;\\n }\\n\\n & .edge-pattern-dashed{\\n stroke-dasharray: 3;\\n }\\n .edge-pattern-dotted {\\n stroke-dasharray: 2;\\n }\\n\\n & .marker {\\n fill: ${r.lineColor};\\n stroke: ${r.lineColor};\\n }\\n & .marker.cross {\\n stroke: ${r.lineColor};\\n }\\n\\n & svg {\\n font-family: ${r.fontFamily};\\n font-size: ${r.fontSize};\\n }\\n\\n ${n}\\n\\n ${e}\\n`},uE=(t,e)=>{Dc[t]=e},hE=cE,dE=B,fE=Qu,yo=$,pE=t=>yn(t,yo()),cg=Sc,Mc={},yr=(t,e,r)=>{if(Mc[t])throw new Error(`Diagram ${t} already registered.`);Mc[t]=e,r&&Lp(t,r),uE(t,e.styles),e.injectUtils&&e.injectUtils(dE,fE,yo,pE,cg)},ug=t=>{if(t in Mc)return Mc[t];throw new Error(`Diagram ${t} not found.`)};var C1=function(){var t=function(W,N,D,w){for(D=D||{},w=W.length;w--;D[W[w]]=N);return D},e=[1,4],r=[1,7],n=[1,5],i=[1,9],s=[1,6],a=[2,6],o=[1,16],l=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],u=[8,14,20,22,24,25,27,29,32,37,40],d=[8,13,14,20,22,24,25,27,29,32,37,40],f=[1,26],p=[6,8,14,50,55],g=[8,14,55],b=[1,53],k=[1,52],T=[8,14,30,33,35,38,55],L=[1,67],E=[1,68],I=[1,69],V=[8,14,33,35,42,55],H={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,\\\":\\\":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,\\\";\\\":55,$accept:0,$end:1},terminals_:{2:\\\"error\\\",6:\\\"GG\\\",8:\\\"EOF\\\",9:\\\":\\\",10:\\\"DIR\\\",13:\\\"OPT\\\",14:\\\"NL\\\",20:\\\"acc_title\\\",21:\\\"acc_title_value\\\",22:\\\"acc_descr\\\",23:\\\"acc_descr_value\\\",24:\\\"acc_descr_multiline_value\\\",25:\\\"section\\\",27:\\\"CHECKOUT\\\",29:\\\"BRANCH\\\",30:\\\"ORDER\\\",31:\\\"NUM\\\",32:\\\"CHERRY_PICK\\\",33:\\\"COMMIT_ID\\\",34:\\\"STR\\\",35:\\\"COMMIT_TAG\\\",36:\\\"EMPTYSTR\\\",37:\\\"MERGE\\\",38:\\\"COMMIT_TYPE\\\",40:\\\"COMMIT\\\",42:\\\"COMMIT_MSG\\\",43:\\\"NORMAL\\\",44:\\\"REVERSE\\\",45:\\\"HIGHLIGHT\\\",50:\\\"open_directive\\\",51:\\\"type_directive\\\",52:\\\"arg_directive\\\",53:\\\"close_directive\\\",54:\\\"ID\\\",55:\\\";\\\"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(N,D,w,v,M,m,Q){var x=m.length-1;switch(M){case 3:return m[x];case 4:return m[x-1];case 5:return v.setDirection(m[x-3]),m[x-1];case 7:v.setOptions(m[x-1]),this.$=m[x];break;case 8:m[x-1]+=m[x],this.$=m[x-1];break;case 10:this.$=[];break;case 11:m[x-1].push(m[x]),this.$=m[x-1];break;case 12:this.$=m[x-1];break;case 17:this.$=m[x].trim(),v.setAccTitle(this.$);break;case 18:case 19:this.$=m[x].trim(),v.setAccDescription(this.$);break;case 20:v.addSection(m[x].substr(8)),this.$=m[x].substr(8);break;case 22:v.checkout(m[x]);break;case 23:v.branch(m[x]);break;case 24:v.branch(m[x-2],m[x]);break;case 25:v.cherryPick(m[x],\\\"\\\",void 0);break;case 26:v.cherryPick(m[x-2],\\\"\\\",m[x]);break;case 27:case 29:v.cherryPick(m[x-2],\\\"\\\",\\\"\\\");break;case 28:v.cherryPick(m[x],\\\"\\\",m[x-2]);break;case 30:v.merge(m[x],\\\"\\\",\\\"\\\",\\\"\\\");break;case 31:v.merge(m[x-2],m[x],\\\"\\\",\\\"\\\");break;case 32:v.merge(m[x-2],\\\"\\\",m[x],\\\"\\\");break;case 33:v.merge(m[x-2],\\\"\\\",\\\"\\\",m[x]);break;case 34:v.merge(m[x-4],m[x],\\\"\\\",m[x-2]);break;case 35:v.merge(m[x-4],\\\"\\\",m[x],m[x-2]);break;case 36:v.merge(m[x-4],\\\"\\\",m[x-2],m[x]);break;case 37:v.merge(m[x-4],m[x-2],m[x],\\\"\\\");break;case 38:v.merge(m[x-4],m[x-2],\\\"\\\",m[x]);break;case 39:v.merge(m[x-4],m[x],m[x-2],\\\"\\\");break;case 40:v.merge(m[x-6],m[x-4],m[x-2],m[x]);break;case 41:v.merge(m[x-6],m[x],m[x-4],m[x-2]);break;case 42:v.merge(m[x-6],m[x-4],m[x],m[x-2]);break;case 43:v.merge(m[x-6],m[x-2],m[x-4],m[x]);break;case 44:v.merge(m[x-6],m[x],m[x-2],m[x-4]);break;case 45:v.merge(m[x-6],m[x-2],m[x],m[x-4]);break;case 46:v.commit(m[x]);break;case 47:v.commit(\\\"\\\",\\\"\\\",v.commitType.NORMAL,m[x]);break;case 48:v.commit(\\\"\\\",\\\"\\\",m[x],\\\"\\\");break;case 49:v.commit(\\\"\\\",\\\"\\\",m[x],m[x-2]);break;case 50:v.commit(\\\"\\\",\\\"\\\",m[x-2],m[x]);break;case 51:v.commit(\\\"\\\",m[x],v.commitType.NORMAL,\\\"\\\");break;case 52:v.commit(\\\"\\\",m[x-2],v.commitType.NORMAL,m[x]);break;case 53:v.commit(\\\"\\\",m[x],v.commitType.NORMAL,m[x-2]);break;case 54:v.commit(\\\"\\\",m[x-2],m[x],\\\"\\\");break;case 55:v.commit(\\\"\\\",m[x],m[x-2],\\\"\\\");break;case 56:v.commit(\\\"\\\",m[x-4],m[x-2],m[x]);break;case 57:v.commit(\\\"\\\",m[x-4],m[x],m[x-2]);break;case 58:v.commit(\\\"\\\",m[x-2],m[x-4],m[x]);break;case 59:v.commit(\\\"\\\",m[x],m[x-4],m[x-2]);break;case 60:v.commit(\\\"\\\",m[x],m[x-2],m[x-4]);break;case 61:v.commit(\\\"\\\",m[x-2],m[x],m[x-4]);break;case 62:v.commit(m[x],\\\"\\\",v.commitType.NORMAL,\\\"\\\");break;case 63:v.commit(m[x],\\\"\\\",v.commitType.NORMAL,m[x-2]);break;case 64:v.commit(m[x-2],\\\"\\\",v.commitType.NORMAL,m[x]);break;case 65:v.commit(m[x-2],\\\"\\\",m[x],\\\"\\\");break;case 66:v.commit(m[x],\\\"\\\",m[x-2],\\\"\\\");break;case 67:v.commit(m[x],m[x-2],v.commitType.NORMAL,\\\"\\\");break;case 68:v.commit(m[x-2],m[x],v.commitType.NORMAL,\\\"\\\");break;case 69:v.commit(m[x-4],\\\"\\\",m[x-2],m[x]);break;case 70:v.commit(m[x-4],\\\"\\\",m[x],m[x-2]);break;case 71:v.commit(m[x-2],\\\"\\\",m[x-4],m[x]);break;case 72:v.commit(m[x],\\\"\\\",m[x-4],m[x-2]);break;case 73:v.commit(m[x],\\\"\\\",m[x-2],m[x-4]);break;case 74:v.commit(m[x-2],\\\"\\\",m[x],m[x-4]);break;case 75:v.commit(m[x-4],m[x],m[x-2],\\\"\\\");break;case 76:v.commit(m[x-4],m[x-2],m[x],\\\"\\\");break;case 77:v.commit(m[x-2],m[x],m[x-4],\\\"\\\");break;case 78:v.commit(m[x],m[x-2],m[x-4],\\\"\\\");break;case 79:v.commit(m[x],m[x-4],m[x-2],\\\"\\\");break;case 80:v.commit(m[x-2],m[x-4],m[x],\\\"\\\");break;case 81:v.commit(m[x-4],m[x],v.commitType.NORMAL,m[x-2]);break;case 82:v.commit(m[x-4],m[x-2],v.commitType.NORMAL,m[x]);break;case 83:v.commit(m[x-2],m[x],v.commitType.NORMAL,m[x-4]);break;case 84:v.commit(m[x],m[x-2],v.commitType.NORMAL,m[x-4]);break;case 85:v.commit(m[x],m[x-4],v.commitType.NORMAL,m[x-2]);break;case 86:v.commit(m[x-2],m[x-4],v.commitType.NORMAL,m[x]);break;case 87:v.commit(m[x-6],m[x-4],m[x-2],m[x]);break;case 88:v.commit(m[x-6],m[x-4],m[x],m[x-2]);break;case 89:v.commit(m[x-6],m[x-2],m[x-4],m[x]);break;case 90:v.commit(m[x-6],m[x],m[x-4],m[x-2]);break;case 91:v.commit(m[x-6],m[x-2],m[x],m[x-4]);break;case 92:v.commit(m[x-6],m[x],m[x-2],m[x-4]);break;case 93:v.commit(m[x-4],m[x-6],m[x-2],m[x]);break;case 94:v.commit(m[x-4],m[x-6],m[x],m[x-2]);break;case 95:v.commit(m[x-2],m[x-6],m[x-4],m[x]);break;case 96:v.commit(m[x],m[x-6],m[x-4],m[x-2]);break;case 97:v.commit(m[x-2],m[x-6],m[x],m[x-4]);break;case 98:v.commit(m[x],m[x-6],m[x-2],m[x-4]);break;case 99:v.commit(m[x],m[x-4],m[x-2],m[x-6]);break;case 100:v.commit(m[x-2],m[x-4],m[x],m[x-6]);break;case 101:v.commit(m[x],m[x-2],m[x-4],m[x-6]);break;case 102:v.commit(m[x-2],m[x],m[x-4],m[x-6]);break;case 103:v.commit(m[x-4],m[x-2],m[x],m[x-6]);break;case 104:v.commit(m[x-4],m[x],m[x-2],m[x-6]);break;case 105:v.commit(m[x-2],m[x-4],m[x-6],m[x]);break;case 106:v.commit(m[x],m[x-4],m[x-6],m[x-2]);break;case 107:v.commit(m[x-2],m[x],m[x-6],m[x-4]);break;case 108:v.commit(m[x],m[x-2],m[x-6],m[x-4]);break;case 109:v.commit(m[x-4],m[x-2],m[x-6],m[x]);break;case 110:v.commit(m[x-4],m[x],m[x-6],m[x-2]);break;case 111:this.$=\\\"\\\";break;case 112:this.$=m[x];break;case 113:this.$=v.commitType.NORMAL;break;case 114:this.$=v.commitType.REVERSE;break;case 115:this.$=v.commitType.HIGHLIGHT;break;case 118:v.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 119:v.parseDirective(m[x],\\\"type_directive\\\");break;case 120:m[x]=m[x].trim().replace(/'/g,'\\\"'),v.parseDirective(m[x],\\\"arg_directive\\\");break;case 121:v.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"gitGraph\\\");break}},table:[{3:1,4:2,5:3,6:e,8:r,14:n,46:8,50:i,55:s},{1:[3]},{3:10,4:2,5:3,6:e,8:r,14:n,46:8,50:i,55:s},{3:11,4:2,5:3,6:e,8:r,14:n,46:8,50:i,55:s},{7:12,8:a,9:[1,13],10:[1,14],11:15,14:o},t(l,[2,124]),t(l,[2,125]),t(l,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:a,11:15,14:o},{9:[1,21]},t(u,[2,10],{12:22,13:[1,23]}),t(d,[2,9]),{9:[1,25],48:24,53:f},t([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:a,11:15,14:o},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},t(d,[2,8]),t(p,[2,116]),{49:45,52:[1,46]},t(p,[2,121]),{1:[2,4]},{8:[1,47]},t(u,[2,11]),{4:48,8:r,14:n,55:s},t(u,[2,13]),t(g,[2,14]),t(g,[2,15]),t(g,[2,16]),{21:[1,49]},{23:[1,50]},t(g,[2,19]),t(g,[2,20]),t(g,[2,21]),{28:51,34:b,54:k},t(g,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:b,54:k},{33:[1,61],35:[1,62]},{28:63,34:b,54:k},{48:64,53:f},{53:[2,120]},{1:[2,5]},t(u,[2,12]),t(g,[2,17]),t(g,[2,18]),t(g,[2,22]),t(T,[2,122]),t(T,[2,123]),t(g,[2,46]),{34:[1,65]},{39:66,43:L,44:E,45:I},{34:[1,70]},{34:[1,71]},t(g,[2,112]),t(g,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},t(g,[2,23],{30:[1,78]}),t(p,[2,117]),t(g,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),t(g,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),t(V,[2,113]),t(V,[2,114]),t(V,[2,115]),t(g,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),t(g,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:L,44:E,45:I},{34:[1,93]},t(g,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:L,44:E,45:I},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:L,44:E,45:I},{34:[1,106]},{34:[1,107]},{39:108,43:L,44:E,45:I},{34:[1,109]},t(g,[2,31],{35:[1,111],38:[1,110]}),t(g,[2,32],{33:[1,113],35:[1,112]}),t(g,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},t(g,[2,24]),t(g,[2,49],{33:[1,120],42:[1,121]}),t(g,[2,53],{38:[1,122],42:[1,123]}),t(g,[2,63],{33:[1,125],38:[1,124]}),t(g,[2,50],{33:[1,126],42:[1,127]}),t(g,[2,55],{35:[1,128],42:[1,129]}),t(g,[2,66],{33:[1,131],35:[1,130]}),t(g,[2,52],{38:[1,132],42:[1,133]}),t(g,[2,54],{35:[1,134],42:[1,135]}),t(g,[2,67],{35:[1,137],38:[1,136]}),t(g,[2,64],{33:[1,139],38:[1,138]}),t(g,[2,65],{33:[1,141],35:[1,140]}),t(g,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:L,44:E,45:I},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:L,44:E,45:I},t(g,[2,26]),t(g,[2,27]),t(g,[2,28]),t(g,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:L,44:E,45:I},{34:[1,153]},{39:154,43:L,44:E,45:I},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:L,44:E,45:I},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:L,44:E,45:I},{34:[1,167]},{39:168,43:L,44:E,45:I},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:L,44:E,45:I},{34:[1,173]},t(g,[2,37],{35:[1,174]}),t(g,[2,38],{38:[1,175]}),t(g,[2,36],{33:[1,176]}),t(g,[2,39],{35:[1,177]}),t(g,[2,34],{38:[1,178]}),t(g,[2,35],{33:[1,179]}),t(g,[2,60],{42:[1,180]}),t(g,[2,73],{33:[1,181]}),t(g,[2,61],{42:[1,182]}),t(g,[2,84],{38:[1,183]}),t(g,[2,74],{33:[1,184]}),t(g,[2,83],{38:[1,185]}),t(g,[2,59],{42:[1,186]}),t(g,[2,72],{33:[1,187]}),t(g,[2,58],{42:[1,188]}),t(g,[2,78],{35:[1,189]}),t(g,[2,71],{33:[1,190]}),t(g,[2,77],{35:[1,191]}),t(g,[2,57],{42:[1,192]}),t(g,[2,85],{38:[1,193]}),t(g,[2,56],{42:[1,194]}),t(g,[2,79],{35:[1,195]}),t(g,[2,80],{35:[1,196]}),t(g,[2,86],{38:[1,197]}),t(g,[2,70],{33:[1,198]}),t(g,[2,81],{38:[1,199]}),t(g,[2,69],{33:[1,200]}),t(g,[2,75],{35:[1,201]}),t(g,[2,76],{35:[1,202]}),t(g,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:L,44:E,45:I},{34:[1,206]},{34:[1,207]},{39:208,43:L,44:E,45:I},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:L,44:E,45:I},{34:[1,214]},{39:215,43:L,44:E,45:I},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:L,44:E,45:I},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:L,44:E,45:I},{34:[1,228]},{39:229,43:L,44:E,45:I},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:L,44:E,45:I},t(g,[2,40]),t(g,[2,42]),t(g,[2,41]),t(g,[2,43]),t(g,[2,45]),t(g,[2,44]),t(g,[2,101]),t(g,[2,102]),t(g,[2,99]),t(g,[2,100]),t(g,[2,104]),t(g,[2,103]),t(g,[2,108]),t(g,[2,107]),t(g,[2,106]),t(g,[2,105]),t(g,[2,110]),t(g,[2,109]),t(g,[2,98]),t(g,[2,97]),t(g,[2,96]),t(g,[2,95]),t(g,[2,93]),t(g,[2,94]),t(g,[2,92]),t(g,[2,91]),t(g,[2,90]),t(g,[2,89]),t(g,[2,87]),t(g,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(N,D){if(D.recoverable)this.trace(N);else{var w=new Error(N);throw w.hash=D,w}},parse:function(N){var D=this,w=[0],v=[],M=[null],m=[],Q=this.table,x=\\\"\\\",ct=0,Dt=0,kt=2,j=1,ot=m.slice.call(arguments,1),rt=Object.create(this.lexer),nt={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(nt.yy[ut]=this.yy[ut]);rt.setInput(N,nt.yy),nt.yy.lexer=rt,nt.yy.parser=this,typeof rt.yylloc>\\\"u\\\"&&(rt.yylloc={});var _t=rt.yylloc;m.push(_t);var K=rt.options&&rt.options.ranges;typeof nt.yy.parseError==\\\"function\\\"?this.parseError=nt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var Yt;return Yt=v.pop()||rt.lex()||j,typeof Yt!=\\\"number\\\"&&(Yt instanceof Array&&(v=Yt,Yt=v.pop()),Yt=D.symbols_[Yt]||Yt),Yt}for(var P,z,X,F,O={},A,J,C,ht;;){if(z=w[w.length-1],this.defaultActions[z]?X=this.defaultActions[z]:((P===null||typeof P>\\\"u\\\")&&(P=Ot()),X=Q[z]&&Q[z][P]),typeof X>\\\"u\\\"||!X.length||!X[0]){var U=\\\"\\\";ht=[];for(A in Q[z])this.terminals_[A]&&A>kt&&ht.push(\\\"'\\\"+this.terminals_[A]+\\\"'\\\");rt.showPosition?U=\\\"Parse error on line \\\"+(ct+1)+`:\\n`+rt.showPosition()+`\\nExpecting `+ht.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[P]||P)+\\\"'\\\":U=\\\"Parse error on line \\\"+(ct+1)+\\\": Unexpected \\\"+(P==j?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[P]||P)+\\\"'\\\"),this.parseError(U,{text:rt.match,token:this.terminals_[P]||P,line:rt.yylineno,loc:_t,expected:ht})}if(X[0]instanceof Array&&X.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+z+\\\", token: \\\"+P);switch(X[0]){case 1:w.push(P),M.push(rt.yytext),m.push(rt.yylloc),w.push(X[1]),P=null,Dt=rt.yyleng,x=rt.yytext,ct=rt.yylineno,_t=rt.yylloc;break;case 2:if(J=this.productions_[X[1]][1],O.$=M[M.length-J],O._$={first_line:m[m.length-(J||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(J||1)].first_column,last_column:m[m.length-1].last_column},K&&(O._$.range=[m[m.length-(J||1)].range[0],m[m.length-1].range[1]]),F=this.performAction.apply(O,[x,Dt,ct,nt.yy,X[1],M,m].concat(ot)),typeof F\u003C\\\"u\\\")return F;J&&(w=w.slice(0,-1*J*2),M=M.slice(0,-1*J),m=m.slice(0,-1*J)),w.push(this.productions_[X[1]][0]),M.push(O.$),m.push(O._$),C=Q[w[w.length-2]][w[w.length-1]],w.push(C);break;case 3:return!0}}return!0}},G=function(){var W={EOF:1,parseError:function(D,w){if(this.yy.parser)this.yy.parser.parseError(D,w);else throw new Error(D)},setInput:function(N,D){return this.yy=D||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var D=N.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return D?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},unput:function(N){var D=N.length,w=N.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-D),this.offset-=D;var v=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),w.length-1&&(this.yylineno-=w.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:w?(w.length===v.length?this.yylloc.first_column:0)+v[v.length-w.length].length-w[0].length:this.yylloc.first_column-D},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-D]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(N){this.unput(this.match.slice(N))},pastInput:function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?\\\"...\\\":\\\"\\\")+N.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var N=this.match;return N.length\u003C20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var N=this.pastInput(),D=new Array(N.length+1).join(\\\"-\\\");return N+this.upcomingInput()+`\\n`+D+\\\"^\\\"},test_match:function(N,D){var w,v,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),v=N[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],w=this.performAction.call(this,this.yy,this,D,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),w)return w;if(this._backtrack){for(var m in M)this[m]=M[m];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,D,w,v;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var M=this._currentRules(),m=0;m\u003CM.length;m++)if(w=this._input.match(this.rules[M[m]]),w&&(!D||w[0].length>D[0].length)){if(D=w,v=m,this.options.backtrack_lexer){if(N=this.test_match(w,M[m]),N!==!1)return N;if(this._backtrack){D=!1;continue}else return!1}else if(!this.options.flex)break}return D?(N=this.test_match(D,M[v]),N!==!1?N:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var D=this.next();return D||this.lex()},begin:function(D){this.conditionStack.push(D)},popState:function(){var D=this.conditionStack.length-1;return D>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(D){return D=this.conditionStack.length-1-Math.abs(D||0),D>=0?this.conditionStack[D]:\\\"INITIAL\\\"},pushState:function(D){this.begin(D)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(D,w,v,M){switch(v){case 0:return this.begin(\\\"open_directive\\\"),50;case 1:return this.begin(\\\"type_directive\\\"),51;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin(\\\"acc_title\\\"),20;case 6:return this.popState(),\\\"acc_title_value\\\";case 7:return this.begin(\\\"acc_descr\\\"),22;case 8:return this.popState(),\\\"acc_descr_value\\\";case 9:this.begin(\\\"acc_descr_multiline\\\");break;case 10:this.popState();break;case 11:return\\\"acc_descr_multiline_value\\\";case 12:return 14;case 13:break;case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:return 10;case 30:return 10;case 31:return 9;case 32:return\\\"CARET\\\";case 33:this.begin(\\\"options\\\");break;case 34:this.popState();break;case 35:return 13;case 36:return 36;case 37:this.begin(\\\"string\\\");break;case 38:this.popState();break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:(\\\\r?\\\\n)+)/i,/^(?:#[^\\\\n]*)/i,/^(?:%[^\\\\n]*)/i,/^(?:gitGraph\\\\b)/i,/^(?:commit(?=\\\\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\\\\b)/i,/^(?:REVERSE\\\\b)/i,/^(?:HIGHLIGHT\\\\b)/i,/^(?:tag:)/i,/^(?:branch(?=\\\\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\\\\s|$))/i,/^(?:cherry-pick(?=\\\\s|$))/i,/^(?:checkout(?=\\\\s|$))/i,/^(?:LR\\\\b)/i,/^(?:BT\\\\b)/i,/^(?::)/i,/^(?:\\\\^)/i,/^(?:options\\\\r?\\\\n)/i,/^(?:[ \\\\r\\\\n\\\\t]+end\\\\b)/i,/^(?:[\\\\s\\\\S]+(?=[ \\\\r\\\\n\\\\t]+end))/i,/^(?:[\\\"][\\\"])/i,/^(?:[\\\"])/i,/^(?:[\\\"])/i,/^(?:[^\\\"]*)/i,/^(?:[0-9]+(?=\\\\s|$))/i,/^(?:\\\\w([-\\\\./\\\\w]*[-\\\\w])?)/i,/^(?:$)/i,/^(?:\\\\s+)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}};return W}();H.lexer=G;function Y(){this.yy={}}return Y.prototype=H,H.Parser=Y,new Y}();C1.parser=C1;const gE=C1,yE=t=>t.match(/^\\\\s*gitGraph/)!==null;let S1=\\\"\\\",Nc=\\\"\\\",A1=\\\"\\\";const L1=t=>yn(t,$()),vn=function(){S1=\\\"\\\",A1=\\\"\\\",Nc=\\\"\\\"},nn=function(t){S1=L1(t).replace(/^\\\\s+/g,\\\"\\\")},kn=function(){return S1||Nc},wn=function(t){A1=L1(t).replace(/\\\\n\\\\s+/g,`\\n`)},Tn=function(){return A1},hi=function(t){Nc=L1(t)},di=function(){return Nc};let Bc=$().gitGraph.mainBranchName,mE=$().gitGraph.mainBranchOrder,cr={},Br=null,mo={};mo[Bc]={name:Bc,order:mE};let rr={};rr[Bc]=Br;let mr=Bc,hg=\\\"LR\\\",xs=0;function D1(){return Fp({length:7})}const bE=function(t,e,r){ze.parseDirective(this,t,e,r)};function _E(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const s=e(i);return r[s]||(r[s]=!0,n.push(i)),n},[])}const xE=function(t){hg=t};let dg={};const vE=function(t){B.debug(\\\"options str\\\",t),t=t&&t.trim(),t=t||\\\"{}\\\";try{dg=JSON.parse(t)}catch(e){B.error(\\\"error while parsing gitGraph options\\\",e.message)}},kE=function(){return dg},wE=function(t,e,r,n){B.debug(\\\"Entering commit:\\\",t,e,r,n),e=he.sanitizeText(e,$()),t=he.sanitizeText(t,$()),n=he.sanitizeText(n,$());const i={id:e||xs+\\\"-\\\"+D1(),message:t,seq:xs++,type:r||bo.NORMAL,tag:n||\\\"\\\",parents:Br==null?[]:[Br.id],branch:mr};Br=i,cr[i.id]=i,rr[mr]=i.id,B.debug(\\\"in pushCommit \\\"+i.id)},TE=function(t,e){if(t=he.sanitizeText(t,$()),rr[t]===void 0)rr[t]=Br!=null?Br.id:null,mo[t]={name:t,order:e?parseInt(e,10):null},fg(t),B.debug(\\\"in createBranch\\\");else{let r=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using \\\"checkout '+t+'\\\")');throw r.hash={text:\\\"branch \\\"+t,token:\\\"branch \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['\\\"checkout '+t+'\\\"']},r}},EE=function(t,e,r,n){t=he.sanitizeText(t,$()),e=he.sanitizeText(e,$());const i=cr[rr[mr]],s=cr[rr[t]];if(mr===t){let o=new Error('Incorrect usage of \\\"merge\\\". Cannot merge a branch to itself');throw o.hash={text:\\\"merge \\\"+t,token:\\\"merge \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"branch abc\\\"]},o}else if(i===void 0||!i){let o=new Error('Incorrect usage of \\\"merge\\\". Current branch ('+mr+\\\")has no commits\\\");throw o.hash={text:\\\"merge \\\"+t,token:\\\"merge \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"commit\\\"]},o}else if(rr[t]===void 0){let o=new Error('Incorrect usage of \\\"merge\\\". Branch to be merged ('+t+\\\") does not exist\\\");throw o.hash={text:\\\"merge \\\"+t,token:\\\"merge \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"branch \\\"+t]},o}else if(s===void 0||!s){let o=new Error('Incorrect usage of \\\"merge\\\". Branch to be merged ('+t+\\\") has no commits\\\");throw o.hash={text:\\\"merge \\\"+t,token:\\\"merge \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['\\\"commit\\\"']},o}else if(i===s){let o=new Error('Incorrect usage of \\\"merge\\\". Both branches have same head');throw o.hash={text:\\\"merge \\\"+t,token:\\\"merge \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"branch abc\\\"]},o}else if(e&&cr[e]!==void 0){let o=new Error('Incorrect usage of \\\"merge\\\". Commit with id:'+e+\\\" already exists, use different custom Id\\\");throw o.hash={text:\\\"merge \\\"+t+e+r+n,token:\\\"merge \\\"+t+e+r+n,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"merge \\\"+t+\\\" \\\"+e+\\\"_UNIQUE \\\"+r+\\\" \\\"+n]},o}const a={id:e||xs+\\\"-\\\"+D1(),message:\\\"merged branch \\\"+t+\\\" into \\\"+mr,seq:xs++,parents:[Br==null?null:Br.id,rr[t]],branch:mr,type:bo.MERGE,customType:r,customId:!!e,tag:n||\\\"\\\"};Br=a,cr[a.id]=a,rr[mr]=a.id,B.debug(rr),B.debug(\\\"in mergeBranch\\\")},CE=function(t,e,r){if(B.debug(\\\"Entering cherryPick:\\\",t,e,r),t=he.sanitizeText(t,$()),e=he.sanitizeText(e,$()),r=he.sanitizeText(r,$()),!t||cr[t]===void 0){let s=new Error('Incorrect usage of \\\"cherryPick\\\". Source commit id should exist and provided');throw s.hash={text:\\\"cherryPick \\\"+t+\\\" \\\"+e,token:\\\"cherryPick \\\"+t+\\\" \\\"+e,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"cherry-pick abc\\\"]},s}let n=cr[t],i=n.branch;if(n.type===bo.MERGE){let s=new Error('Incorrect usage of \\\"cherryPick\\\". Source commit should not be a merge commit');throw s.hash={text:\\\"cherryPick \\\"+t+\\\" \\\"+e,token:\\\"cherryPick \\\"+t+\\\" \\\"+e,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"cherry-pick abc\\\"]},s}if(!e||cr[e]===void 0){if(i===mr){let o=new Error('Incorrect usage of \\\"cherryPick\\\". Source commit is already on current branch');throw o.hash={text:\\\"cherryPick \\\"+t+\\\" \\\"+e,token:\\\"cherryPick \\\"+t+\\\" \\\"+e,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"cherry-pick abc\\\"]},o}const s=cr[rr[mr]];if(s===void 0||!s){let o=new Error('Incorrect usage of \\\"cherry-pick\\\". Current branch ('+mr+\\\")has no commits\\\");throw o.hash={text:\\\"cherryPick \\\"+t+\\\" \\\"+e,token:\\\"cherryPick \\\"+t+\\\" \\\"+e,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"cherry-pick abc\\\"]},o}const a={id:xs+\\\"-\\\"+D1(),message:\\\"cherry-picked \\\"+n+\\\" into \\\"+mr,seq:xs++,parents:[Br==null?null:Br.id,n.id],branch:mr,type:bo.CHERRY_PICK,tag:r!=null?r:\\\"cherry-pick:\\\"+n.id};Br=a,cr[a.id]=a,rr[mr]=a.id,B.debug(rr),B.debug(\\\"in cherryPick\\\")}},fg=function(t){if(t=he.sanitizeText(t,$()),rr[t]===void 0){let e=new Error('Trying to checkout branch which is not yet created. (Help try using \\\"branch '+t+'\\\")');throw e.hash={text:\\\"checkout \\\"+t,token:\\\"checkout \\\"+t,line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['\\\"branch '+t+'\\\"']},e}else{mr=t;const e=rr[mr];Br=cr[e]}};function pg(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function gg(t){const e=t.reduce((i,s)=>i.seq>s.seq?i:s,t[0]);let r=\\\"\\\";t.forEach(function(i){i===e?r+=\\\"\\t*\\\":r+=\\\"\\t|\\\"});const n=[r,e.id,e.seq];for(let i in rr)rr[i]===e.id&&n.push(i);if(B.debug(n.join(\\\" \\\")),e.parents&&e.parents.length==2){const i=cr[e.parents[0]];pg(t,e,i),t.push(cr[e.parents[1]])}else{if(e.parents.length==0)return;{const i=cr[e.parents];pg(t,e,i)}}t=_E(t,i=>i.id),gg(t)}const SE=function(){B.debug(cr);const t=yg()[0];gg([t])},AE=function(){cr={},Br=null;let t=$().gitGraph.mainBranchName,e=$().gitGraph.mainBranchOrder;rr={},rr[t]=null,mo={},mo[t]={name:t,order:e},mr=t,xs=0,vn()},LE=function(){return Object.values(mo).map((e,r)=>e.order!==null?e:{...e,order:parseFloat(`0.${r}`,10)}).sort((e,r)=>e.order-r.order).map(({name:e})=>({name:e}))},DE=function(){return rr},ME=function(){return cr},yg=function(){const t=Object.keys(cr).map(function(e){return cr[e]});return t.forEach(function(e){B.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},NE=function(){return mr},BE=function(){return hg},IE=function(){return Br},bo={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},OE={parseDirective:bE,getConfig:()=>$().gitGraph,setDirection:xE,setOptions:vE,getOptions:kE,commit:wE,branch:TE,merge:EE,cherryPick:CE,checkout:fg,prettyPrint:SE,clear:AE,getBranchesAsObjArray:LE,getBranches:DE,getCommits:ME,getCommitsArray:yg,getCurrentBranch:NE,getDirection:BE,getHead:IE,setAccTitle:nn,getAccTitle:kn,getAccDescription:Tn,setAccDescription:wn,setDiagramTitle:hi,getDiagramTitle:di,commitType:bo};let _o={};const qr={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},vs=8;let Yr={},Ic={},Oc=[],Rc=0;const RE=()=>{Yr={},Ic={},_o={},Rc=0,Oc=[]},FE=t=>{const e=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");let r=[];typeof t==\\\"string\\\"?r=t.split(/\\\\\\\\n|\\\\n|\u003Cbr\\\\s*\\\\/?>/gi):Array.isArray(t)?r=t:r=[];for(const n of r){const i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\");i.setAttributeNS(\\\"http://www.w3.org/XML/1998/namespace\\\",\\\"xml:space\\\",\\\"preserve\\\"),i.setAttribute(\\\"dy\\\",\\\"1em\\\"),i.setAttribute(\\\"x\\\",\\\"0\\\"),i.setAttribute(\\\"class\\\",\\\"row\\\"),i.textContent=n.trim(),e.appendChild(i)}return e},mg=(t,e,r)=>{const n=yo().gitGraph,i=t.append(\\\"g\\\").attr(\\\"class\\\",\\\"commit-bullets\\\"),s=t.append(\\\"g\\\").attr(\\\"class\\\",\\\"commit-labels\\\");let a=0;Object.keys(e).sort((u,d)=>e[u].seq-e[d].seq).forEach(u=>{const d=e[u],f=Yr[d.branch].pos,p=a+10;if(r){let g,b=d.customType!==void 0&&d.customType!==\\\"\\\"?d.customType:d.type;switch(b){case qr.NORMAL:g=\\\"commit-normal\\\";break;case qr.REVERSE:g=\\\"commit-reverse\\\";break;case qr.HIGHLIGHT:g=\\\"commit-highlight\\\";break;case qr.MERGE:g=\\\"commit-merge\\\";break;case qr.CHERRY_PICK:g=\\\"commit-cherry-pick\\\";break;default:g=\\\"commit-normal\\\"}if(b===qr.HIGHLIGHT){const k=i.append(\\\"rect\\\");k.attr(\\\"x\\\",p-10),k.attr(\\\"y\\\",f-10),k.attr(\\\"height\\\",20),k.attr(\\\"width\\\",20),k.attr(\\\"class\\\",`commit ${d.id} commit-highlight${Yr[d.branch].index%vs} ${g}-outer`),i.append(\\\"rect\\\").attr(\\\"x\\\",p-6).attr(\\\"y\\\",f-6).attr(\\\"height\\\",12).attr(\\\"width\\\",12).attr(\\\"class\\\",`commit ${d.id} commit${Yr[d.branch].index%vs} ${g}-inner`)}else if(b===qr.CHERRY_PICK)i.append(\\\"circle\\\").attr(\\\"cx\\\",p).attr(\\\"cy\\\",f).attr(\\\"r\\\",10).attr(\\\"class\\\",`commit ${d.id} ${g}`),i.append(\\\"circle\\\").attr(\\\"cx\\\",p-3).attr(\\\"cy\\\",f+2).attr(\\\"r\\\",2.75).attr(\\\"fill\\\",\\\"#fff\\\").attr(\\\"class\\\",`commit ${d.id} ${g}`),i.append(\\\"circle\\\").attr(\\\"cx\\\",p+3).attr(\\\"cy\\\",f+2).attr(\\\"r\\\",2.75).attr(\\\"fill\\\",\\\"#fff\\\").attr(\\\"class\\\",`commit ${d.id} ${g}`),i.append(\\\"line\\\").attr(\\\"x1\\\",p+3).attr(\\\"y1\\\",f+1).attr(\\\"x2\\\",p).attr(\\\"y2\\\",f-5).attr(\\\"stroke\\\",\\\"#fff\\\").attr(\\\"class\\\",`commit ${d.id} ${g}`),i.append(\\\"line\\\").attr(\\\"x1\\\",p-3).attr(\\\"y1\\\",f+1).attr(\\\"x2\\\",p).attr(\\\"y2\\\",f-5).attr(\\\"stroke\\\",\\\"#fff\\\").attr(\\\"class\\\",`commit ${d.id} ${g}`);else{const k=i.append(\\\"circle\\\");if(k.attr(\\\"cx\\\",p),k.attr(\\\"cy\\\",f),k.attr(\\\"r\\\",d.type===qr.MERGE?9:10),k.attr(\\\"class\\\",`commit ${d.id} commit${Yr[d.branch].index%vs}`),b===qr.MERGE){const T=i.append(\\\"circle\\\");T.attr(\\\"cx\\\",p),T.attr(\\\"cy\\\",f),T.attr(\\\"r\\\",6),T.attr(\\\"class\\\",`commit ${g} ${d.id} commit${Yr[d.branch].index%vs}`)}b===qr.REVERSE&&i.append(\\\"path\\\").attr(\\\"d\\\",`M ${p-5},${f-5}L${p+5},${f+5}M${p-5},${f+5}L${p+5},${f-5}`).attr(\\\"class\\\",`commit ${g} ${d.id} commit${Yr[d.branch].index%vs}`)}}if(Ic[d.id]={x:a+10,y:f},r){if(d.type!==qr.CHERRY_PICK&&(d.customId&&d.type===qr.MERGE||d.type!==qr.MERGE)&&n.showCommitLabel){const k=s.append(\\\"g\\\"),T=k.insert(\\\"rect\\\").attr(\\\"class\\\",\\\"commit-label-bkg\\\"),L=k.append(\\\"text\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",f+25).attr(\\\"class\\\",\\\"commit-label\\\").text(d.id);let E=L.node().getBBox();if(T.attr(\\\"x\\\",a+10-E.width/2-2).attr(\\\"y\\\",f+13.5).attr(\\\"width\\\",E.width+2*2).attr(\\\"height\\\",E.height+2*2),L.attr(\\\"x\\\",a+10-E.width/2),n.rotateCommitLabel){let I=-7.5-(E.width+10)/25*9.5,V=10+E.width/25*8.5;k.attr(\\\"transform\\\",\\\"translate(\\\"+I+\\\", \\\"+V+\\\") rotate(\\\"+-45+\\\", \\\"+a+\\\", \\\"+f+\\\")\\\")}}if(d.tag){const k=s.insert(\\\"polygon\\\"),T=s.append(\\\"circle\\\"),L=s.append(\\\"text\\\").attr(\\\"y\\\",f-16).attr(\\\"class\\\",\\\"tag-label\\\").text(d.tag);let E=L.node().getBBox();L.attr(\\\"x\\\",a+10-E.width/2);const I=E.height/2,V=f-19.2;k.attr(\\\"class\\\",\\\"tag-label-bkg\\\").attr(\\\"points\\\",`\\n ${a-E.width/2-4/2},${V+2}\\n ${a-E.width/2-4/2},${V-2}\\n ${a+10-E.width/2-4},${V-I-2}\\n ${a+10+E.width/2+4},${V-I-2}\\n ${a+10+E.width/2+4},${V+I+2}\\n ${a+10-E.width/2-4},${V+I+2}`),T.attr(\\\"cx\\\",a-E.width/2+4/2).attr(\\\"cy\\\",V).attr(\\\"r\\\",1.5).attr(\\\"class\\\",\\\"tag-hole\\\")}}a+=50,a>Rc&&(Rc=a)})},PE=(t,e,r)=>Object.keys(r).filter(s=>r[s].branch===e.branch&&r[s].seq>t.seq&&r[s].seq\u003Ce.seq).length>0,M1=(t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(Oc.every(a=>Math.abs(a-n)>=10))return Oc.push(n),n;const s=Math.abs(t-e);return M1(t,e-s/5,r+1)},YE=(t,e,r,n)=>{const i=Ic[e.id],s=Ic[r.id],a=PE(e,r,n);let o=\\\"\\\",l=\\\"\\\",u=0,d=0,f=Yr[r.branch].index,p;if(a){o=\\\"A 10 10, 0, 0, 0,\\\",l=\\\"A 10 10, 0, 0, 1,\\\",u=10,d=10,f=Yr[r.branch].index;const g=i.y\u003Cs.y?M1(i.y,s.y):M1(s.y,i.y);i.y\u003Cs.y?p=`M ${i.x} ${i.y} L ${i.x} ${g-u} ${o} ${i.x+d} ${g} L ${s.x-u} ${g} ${l} ${s.x} ${g+d} L ${s.x} ${s.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${g+u} ${l} ${i.x+d} ${g} L ${s.x-u} ${g} ${o} ${s.x} ${g-d} L ${s.x} ${s.y}`}else i.y\u003Cs.y&&(o=\\\"A 20 20, 0, 0, 0,\\\",u=20,d=20,f=Yr[r.branch].index,p=`M ${i.x} ${i.y} L ${i.x} ${s.y-u} ${o} ${i.x+d} ${s.y} L ${s.x} ${s.y}`),i.y>s.y&&(o=\\\"A 20 20, 0, 0, 0,\\\",u=20,d=20,f=Yr[e.branch].index,p=`M ${i.x} ${i.y} L ${s.x-u} ${i.y} ${o} ${s.x} ${i.y-d} L ${s.x} ${s.y}`),i.y===s.y&&(f=Yr[e.branch].index,p=`M ${i.x} ${i.y} L ${i.x} ${s.y-u} ${o} ${i.x+d} ${s.y} L ${s.x} ${s.y}`);t.append(\\\"path\\\").attr(\\\"d\\\",p).attr(\\\"class\\\",\\\"arrow arrow\\\"+f%vs)},VE=(t,e)=>{const r=t.append(\\\"g\\\").attr(\\\"class\\\",\\\"commit-arrows\\\");Object.keys(e).forEach(n=>{const i=e[n];i.parents&&i.parents.length>0&&i.parents.forEach(s=>{YE(r,e[s],i,e)})})},UE=(t,e)=>{const r=yo().gitGraph,n=t.append(\\\"g\\\");e.forEach((i,s)=>{const a=s%vs,o=Yr[i.name].pos,l=n.append(\\\"line\\\");l.attr(\\\"x1\\\",0),l.attr(\\\"y1\\\",o),l.attr(\\\"x2\\\",Rc),l.attr(\\\"y2\\\",o),l.attr(\\\"class\\\",\\\"branch branch\\\"+a),Oc.push(o);let u=i.name;const d=FE(u),f=n.insert(\\\"rect\\\"),g=n.insert(\\\"g\\\").attr(\\\"class\\\",\\\"branchLabel\\\").insert(\\\"g\\\").attr(\\\"class\\\",\\\"label branch-label\\\"+a);g.node().appendChild(d);let b=d.getBBox();f.attr(\\\"class\\\",\\\"branchLabelBkg label\\\"+a).attr(\\\"rx\\\",4).attr(\\\"ry\\\",4).attr(\\\"x\\\",-b.width-4-(r.rotateCommitLabel===!0?30:0)).attr(\\\"y\\\",-b.height/2+8).attr(\\\"width\\\",b.width+18).attr(\\\"height\\\",b.height+4),g.attr(\\\"transform\\\",\\\"translate(\\\"+(-b.width-14-(r.rotateCommitLabel===!0?30:0))+\\\", \\\"+(o-b.height/2-1)+\\\")\\\"),f.attr(\\\"transform\\\",\\\"translate(\\\"+-19+\\\", \\\"+(o-b.height/2)+\\\")\\\")})},zE={draw:function(t,e,r,n){var u;RE();const i=yo(),s=i.gitGraph;B.debug(\\\"in gitgraph renderer\\\",t+`\\n`,\\\"id:\\\",e,r),_o=n.db.getCommits();const a=n.db.getBranchesAsObjArray();let o=0;a.forEach((d,f)=>{Yr[d.name]={pos:o,index:f},o+=50+(s.rotateCommitLabel?40:0)});const l=St(`[id=\\\"${e}\\\"]`);mg(l,_o,!1),s.showBranches&&UE(l,a),VE(l,_o),mg(l,_o,!0),ge.insertTitle(l,\\\"gitTitleText\\\",s.titleTopMargin,n.db.getDiagramTitle()),cg(void 0,l,s.diagramPadding,(u=s.useMaxWidth)!=null?u:i.useMaxWidth)}},WE=t=>`\\n .commit-id,\\n .commit-msg,\\n .branch-label {\\n fill: lightgrey;\\n color: lightgrey;\\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\\n font-family: var(--mermaid-font-family);\\n }\\n ${[0,1,2,3,4,5,6,7].map(e=>`\\n .branch-label${e} { fill: ${t[\\\"gitBranchLabel\\\"+e]}; }\\n .commit${e} { stroke: ${t[\\\"git\\\"+e]}; fill: ${t[\\\"git\\\"+e]}; }\\n .commit-highlight${e} { stroke: ${t[\\\"gitInv\\\"+e]}; fill: ${t[\\\"gitInv\\\"+e]}; }\\n .label${e} { fill: ${t[\\\"git\\\"+e]}; }\\n .arrow${e} { stroke: ${t[\\\"git\\\"+e]}; }\\n `).join(`\\n`)}\\n\\n .branch {\\n stroke-width: 1;\\n stroke: ${t.lineColor};\\n stroke-dasharray: 2;\\n }\\n .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}\\n .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }\\n .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\\n .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }\\n .tag-hole { fill: ${t.textColor}; }\\n\\n .commit-merge {\\n stroke: ${t.primaryColor};\\n fill: ${t.primaryColor};\\n }\\n .commit-reverse {\\n stroke: ${t.primaryColor};\\n fill: ${t.primaryColor};\\n stroke-width: 3;\\n }\\n .commit-highlight-outer {\\n }\\n .commit-highlight-inner {\\n stroke: ${t.primaryColor};\\n fill: ${t.primaryColor};\\n }\\n\\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\\n .gitTitleText {\\n text-anchor: middle;\\n font-size: 18px;\\n fill: ${t.textColor};\\n }\\n }\\n`;var Fc=function(){var t=function(Ft,xt,ft,Lt){for(ft=ft||{},Lt=Ft.length;Lt--;ft[Ft[Lt]]=xt);return ft},e=[1,6],r=[1,7],n=[1,8],i=[1,9],s=[1,16],a=[1,11],o=[1,12],l=[1,13],u=[1,14],d=[1,15],f=[1,27],p=[1,33],g=[1,34],b=[1,35],k=[1,36],T=[1,37],L=[1,72],E=[1,73],I=[1,74],V=[1,75],H=[1,76],G=[1,77],Y=[1,78],W=[1,38],N=[1,39],D=[1,40],w=[1,41],v=[1,42],M=[1,43],m=[1,44],Q=[1,45],x=[1,46],ct=[1,47],Dt=[1,48],kt=[1,49],j=[1,50],ot=[1,51],rt=[1,52],nt=[1,53],ut=[1,54],_t=[1,55],K=[1,56],Ot=[1,57],P=[1,59],z=[1,60],X=[1,61],F=[1,62],O=[1,63],A=[1,64],J=[1,65],C=[1,66],ht=[1,67],U=[1,68],Yt=[1,69],et=[24,52],Mt=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],Tt=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],gt=[1,94],Et=[1,95],wt=[1,96],pt=[1,97],st=[15,24,52],le=[7,8,9,10,18,22,25,26,27,28],Xt=[15,24,43,52],jt=[15,24,43,52,86,87,89,90],Kt=[15,43],Gt=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],Ee={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,\\\":\\\":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:\\\"error\\\",7:\\\"direction_tb\\\",8:\\\"direction_bt\\\",9:\\\"direction_rl\\\",10:\\\"direction_lr\\\",15:\\\"NEWLINE\\\",16:\\\":\\\",18:\\\"open_directive\\\",19:\\\"type_directive\\\",20:\\\"arg_directive\\\",21:\\\"close_directive\\\",22:\\\"C4_CONTEXT\\\",24:\\\"EOF\\\",25:\\\"C4_CONTAINER\\\",26:\\\"C4_COMPONENT\\\",27:\\\"C4_DYNAMIC\\\",28:\\\"C4_DEPLOYMENT\\\",32:\\\"title\\\",33:\\\"accDescription\\\",34:\\\"acc_title\\\",35:\\\"acc_title_value\\\",36:\\\"acc_descr\\\",37:\\\"acc_descr_value\\\",38:\\\"acc_descr_multiline_value\\\",43:\\\"LBRACE\\\",44:\\\"ENTERPRISE_BOUNDARY\\\",46:\\\"SYSTEM_BOUNDARY\\\",47:\\\"BOUNDARY\\\",48:\\\"CONTAINER_BOUNDARY\\\",49:\\\"NODE\\\",50:\\\"NODE_L\\\",51:\\\"NODE_R\\\",52:\\\"RBRACE\\\",54:\\\"PERSON\\\",55:\\\"PERSON_EXT\\\",56:\\\"SYSTEM\\\",57:\\\"SYSTEM_DB\\\",58:\\\"SYSTEM_QUEUE\\\",59:\\\"SYSTEM_EXT\\\",60:\\\"SYSTEM_EXT_DB\\\",61:\\\"SYSTEM_EXT_QUEUE\\\",62:\\\"CONTAINER\\\",63:\\\"CONTAINER_DB\\\",64:\\\"CONTAINER_QUEUE\\\",65:\\\"CONTAINER_EXT\\\",66:\\\"CONTAINER_EXT_DB\\\",67:\\\"CONTAINER_EXT_QUEUE\\\",68:\\\"COMPONENT\\\",69:\\\"COMPONENT_DB\\\",70:\\\"COMPONENT_QUEUE\\\",71:\\\"COMPONENT_EXT\\\",72:\\\"COMPONENT_EXT_DB\\\",73:\\\"COMPONENT_EXT_QUEUE\\\",74:\\\"REL\\\",75:\\\"BIREL\\\",76:\\\"REL_U\\\",77:\\\"REL_D\\\",78:\\\"REL_L\\\",79:\\\"REL_R\\\",80:\\\"REL_B\\\",81:\\\"REL_INDEX\\\",82:\\\"UPDATE_EL_STYLE\\\",83:\\\"UPDATE_REL_STYLE\\\",84:\\\"UPDATE_LAYOUT_CONFIG\\\",86:\\\"STR\\\",87:\\\"STR_KEY\\\",88:\\\"STR_VALUE\\\",89:\\\"ATTRIBUTE\\\",90:\\\"ATTRIBUTE_EMPTY\\\"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(xt,ft,Lt,bt,Ut,at,ie){var dt=at.length-1;switch(Ut){case 4:bt.setDirection(\\\"TB\\\");break;case 5:bt.setDirection(\\\"BT\\\");break;case 6:bt.setDirection(\\\"RL\\\");break;case 7:bt.setDirection(\\\"LR\\\");break;case 11:bt.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 12:break;case 13:at[dt]=at[dt].trim().replace(/'/g,'\\\"'),bt.parseDirective(at[dt],\\\"arg_directive\\\");break;case 14:bt.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"c4Context\\\");break;case 15:case 16:case 17:case 18:case 19:bt.setC4Type(at[dt-3]);break;case 26:bt.setTitle(at[dt].substring(6)),this.$=at[dt].substring(6);break;case 27:bt.setAccDescription(at[dt].substring(15)),this.$=at[dt].substring(15);break;case 28:this.$=at[dt].trim(),bt.setTitle(this.$);break;case 29:case 30:this.$=at[dt].trim(),bt.setAccDescription(this.$);break;case 35:case 36:at[dt].splice(2,0,\\\"ENTERPRISE\\\"),bt.addPersonOrSystemBoundary(...at[dt]),this.$=at[dt];break;case 37:bt.addPersonOrSystemBoundary(...at[dt]),this.$=at[dt];break;case 38:at[dt].splice(2,0,\\\"CONTAINER\\\"),bt.addContainerBoundary(...at[dt]),this.$=at[dt];break;case 39:bt.addDeploymentNode(\\\"node\\\",...at[dt]),this.$=at[dt];break;case 40:bt.addDeploymentNode(\\\"nodeL\\\",...at[dt]),this.$=at[dt];break;case 41:bt.addDeploymentNode(\\\"nodeR\\\",...at[dt]),this.$=at[dt];break;case 42:bt.popBoundaryParseStack();break;case 46:bt.addPersonOrSystem(\\\"person\\\",...at[dt]),this.$=at[dt];break;case 47:bt.addPersonOrSystem(\\\"external_person\\\",...at[dt]),this.$=at[dt];break;case 48:bt.addPersonOrSystem(\\\"system\\\",...at[dt]),this.$=at[dt];break;case 49:bt.addPersonOrSystem(\\\"system_db\\\",...at[dt]),this.$=at[dt];break;case 50:bt.addPersonOrSystem(\\\"system_queue\\\",...at[dt]),this.$=at[dt];break;case 51:bt.addPersonOrSystem(\\\"external_system\\\",...at[dt]),this.$=at[dt];break;case 52:bt.addPersonOrSystem(\\\"external_system_db\\\",...at[dt]),this.$=at[dt];break;case 53:bt.addPersonOrSystem(\\\"external_system_queue\\\",...at[dt]),this.$=at[dt];break;case 54:bt.addContainer(\\\"container\\\",...at[dt]),this.$=at[dt];break;case 55:bt.addContainer(\\\"container_db\\\",...at[dt]),this.$=at[dt];break;case 56:bt.addContainer(\\\"container_queue\\\",...at[dt]),this.$=at[dt];break;case 57:bt.addContainer(\\\"external_container\\\",...at[dt]),this.$=at[dt];break;case 58:bt.addContainer(\\\"external_container_db\\\",...at[dt]),this.$=at[dt];break;case 59:bt.addContainer(\\\"external_container_queue\\\",...at[dt]),this.$=at[dt];break;case 60:bt.addComponent(\\\"component\\\",...at[dt]),this.$=at[dt];break;case 61:bt.addComponent(\\\"component_db\\\",...at[dt]),this.$=at[dt];break;case 62:bt.addComponent(\\\"component_queue\\\",...at[dt]),this.$=at[dt];break;case 63:bt.addComponent(\\\"external_component\\\",...at[dt]),this.$=at[dt];break;case 64:bt.addComponent(\\\"external_component_db\\\",...at[dt]),this.$=at[dt];break;case 65:bt.addComponent(\\\"external_component_queue\\\",...at[dt]),this.$=at[dt];break;case 67:bt.addRel(\\\"rel\\\",...at[dt]),this.$=at[dt];break;case 68:bt.addRel(\\\"birel\\\",...at[dt]),this.$=at[dt];break;case 69:bt.addRel(\\\"rel_u\\\",...at[dt]),this.$=at[dt];break;case 70:bt.addRel(\\\"rel_d\\\",...at[dt]),this.$=at[dt];break;case 71:bt.addRel(\\\"rel_l\\\",...at[dt]),this.$=at[dt];break;case 72:bt.addRel(\\\"rel_r\\\",...at[dt]),this.$=at[dt];break;case 73:bt.addRel(\\\"rel_b\\\",...at[dt]),this.$=at[dt];break;case 74:at[dt].splice(0,1),bt.addRel(\\\"rel\\\",...at[dt]),this.$=at[dt];break;case 75:bt.updateElStyle(\\\"update_el_style\\\",...at[dt]),this.$=at[dt];break;case 76:bt.updateRelStyle(\\\"update_rel_style\\\",...at[dt]),this.$=at[dt];break;case 77:bt.updateLayoutConfig(\\\"update_layout_config\\\",...at[dt]),this.$=at[dt];break;case 78:this.$=[at[dt]];break;case 79:at[dt].unshift(at[dt-1]),this.$=at[dt];break;case 80:case 82:this.$=at[dt].trim();break;case 81:let ee={};ee[at[dt-1].trim()]=at[dt].trim(),this.$=ee;break;case 83:this.$=\\\"\\\";break}},table:[{3:1,4:2,5:3,6:4,7:e,8:r,9:n,10:i,11:5,12:10,18:s,22:a,25:o,26:l,27:u,28:d},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:e,8:r,9:n,10:i,11:5,12:10,18:s,22:a,25:o,26:l,27:u,28:d},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:f},t([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:p,33:g,34:b,36:k,38:T,39:58,40:70,42:71,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,53:32,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt},{23:79,29:29,30:30,31:31,32:p,33:g,34:b,36:k,38:T,39:58,40:70,42:71,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,53:32,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt},{23:80,29:29,30:30,31:31,32:p,33:g,34:b,36:k,38:T,39:58,40:70,42:71,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,53:32,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt},{23:81,29:29,30:30,31:31,32:p,33:g,34:b,36:k,38:T,39:58,40:70,42:71,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,53:32,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt},{23:82,29:29,30:30,31:31,32:p,33:g,34:b,36:k,38:T,39:58,40:70,42:71,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,53:32,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},t(et,[2,20],{53:32,39:58,40:70,42:71,30:87,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt}),t(et,[2,21]),t(Mt,[2,23],{15:[1,88]}),t(et,[2,43],{15:[1,89]}),t(Tt,[2,26]),t(Tt,[2,27]),{35:[1,90]},{37:[1,91]},t(Tt,[2,30]),{45:92,85:93,86:gt,87:Et,89:wt,90:pt},{45:98,85:93,86:gt,87:Et,89:wt,90:pt},{45:99,85:93,86:gt,87:Et,89:wt,90:pt},{45:100,85:93,86:gt,87:Et,89:wt,90:pt},{45:101,85:93,86:gt,87:Et,89:wt,90:pt},{45:102,85:93,86:gt,87:Et,89:wt,90:pt},{45:103,85:93,86:gt,87:Et,89:wt,90:pt},{45:104,85:93,86:gt,87:Et,89:wt,90:pt},{45:105,85:93,86:gt,87:Et,89:wt,90:pt},{45:106,85:93,86:gt,87:Et,89:wt,90:pt},{45:107,85:93,86:gt,87:Et,89:wt,90:pt},{45:108,85:93,86:gt,87:Et,89:wt,90:pt},{45:109,85:93,86:gt,87:Et,89:wt,90:pt},{45:110,85:93,86:gt,87:Et,89:wt,90:pt},{45:111,85:93,86:gt,87:Et,89:wt,90:pt},{45:112,85:93,86:gt,87:Et,89:wt,90:pt},{45:113,85:93,86:gt,87:Et,89:wt,90:pt},{45:114,85:93,86:gt,87:Et,89:wt,90:pt},{45:115,85:93,86:gt,87:Et,89:wt,90:pt},{45:116,85:93,86:gt,87:Et,89:wt,90:pt},t(st,[2,66]),{45:117,85:93,86:gt,87:Et,89:wt,90:pt},{45:118,85:93,86:gt,87:Et,89:wt,90:pt},{45:119,85:93,86:gt,87:Et,89:wt,90:pt},{45:120,85:93,86:gt,87:Et,89:wt,90:pt},{45:121,85:93,86:gt,87:Et,89:wt,90:pt},{45:122,85:93,86:gt,87:Et,89:wt,90:pt},{45:123,85:93,86:gt,87:Et,89:wt,90:pt},{45:124,85:93,86:gt,87:Et,89:wt,90:pt},{45:125,85:93,86:gt,87:Et,89:wt,90:pt},{45:126,85:93,86:gt,87:Et,89:wt,90:pt},{45:127,85:93,86:gt,87:Et,89:wt,90:pt},{30:128,39:58,40:70,42:71,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,53:32,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt},{15:[1,130],43:[1,129]},{45:131,85:93,86:gt,87:Et,89:wt,90:pt},{45:132,85:93,86:gt,87:Et,89:wt,90:pt},{45:133,85:93,86:gt,87:Et,89:wt,90:pt},{45:134,85:93,86:gt,87:Et,89:wt,90:pt},{45:135,85:93,86:gt,87:Et,89:wt,90:pt},{45:136,85:93,86:gt,87:Et,89:wt,90:pt},{45:137,85:93,86:gt,87:Et,89:wt,90:pt},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},t(le,[2,9]),{14:142,21:f},{21:[2,13]},{1:[2,15]},t(et,[2,22]),t(Mt,[2,24],{31:31,29:143,32:p,33:g,34:b,36:k,38:T}),t(et,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:p,33:g,34:b,36:k,38:T,44:L,46:E,47:I,48:V,49:H,50:G,51:Y,54:W,55:N,56:D,57:w,58:v,59:M,60:m,61:Q,62:x,63:ct,64:Dt,65:kt,66:j,67:ot,68:rt,69:nt,70:ut,71:_t,72:K,73:Ot,74:P,75:z,76:X,77:F,78:O,79:A,80:J,81:C,82:ht,83:U,84:Yt}),t(Tt,[2,28]),t(Tt,[2,29]),t(st,[2,46]),t(Xt,[2,78],{85:93,45:145,86:gt,87:Et,89:wt,90:pt}),t(jt,[2,80]),{88:[1,146]},t(jt,[2,82]),t(jt,[2,83]),t(st,[2,47]),t(st,[2,48]),t(st,[2,49]),t(st,[2,50]),t(st,[2,51]),t(st,[2,52]),t(st,[2,53]),t(st,[2,54]),t(st,[2,55]),t(st,[2,56]),t(st,[2,57]),t(st,[2,58]),t(st,[2,59]),t(st,[2,60]),t(st,[2,61]),t(st,[2,62]),t(st,[2,63]),t(st,[2,64]),t(st,[2,65]),t(st,[2,67]),t(st,[2,68]),t(st,[2,69]),t(st,[2,70]),t(st,[2,71]),t(st,[2,72]),t(st,[2,73]),t(st,[2,74]),t(st,[2,75]),t(st,[2,76]),t(st,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},t(Kt,[2,35]),t(Kt,[2,36]),t(Kt,[2,37]),t(Kt,[2,38]),t(Kt,[2,39]),t(Kt,[2,40]),t(Kt,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},t(Mt,[2,25]),t(et,[2,45]),t(Xt,[2,79]),t(jt,[2,81]),t(st,[2,31]),t(st,[2,42]),t(Gt,[2,32]),t(Gt,[2,33],{15:[1,152]}),t(le,[2,10]),t(Gt,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(xt,ft){if(ft.recoverable)this.trace(xt);else{var Lt=new Error(xt);throw Lt.hash=ft,Lt}},parse:function(xt){var ft=this,Lt=[0],bt=[],Ut=[null],at=[],ie=this.table,dt=\\\"\\\",ee=0,fe=0,be=2,_e=1,ke=at.slice.call(arguments,1),$t=Object.create(this.lexer),se={yy:{}};for(var ye in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ye)&&(se.yy[ye]=this.yy[ye]);$t.setInput(xt,se.yy),se.yy.lexer=$t,se.yy.parser=this,typeof $t.yylloc>\\\"u\\\"&&($t.yylloc={});var Jt=$t.yylloc;at.push(Jt);var Nn=$t.options&&$t.options.ranges;typeof se.yy.parseError==\\\"function\\\"?this.parseError=se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Xr(){var Z;return Z=bt.pop()||$t.lex()||_e,typeof Z!=\\\"number\\\"&&(Z instanceof Array&&(bt=Z,Z=bt.pop()),Z=ft.symbols_[Z]||Z),Z}for(var De,ae,Be,Re,Pe={},Ye,Ie,$e,ar;;){if(ae=Lt[Lt.length-1],this.defaultActions[ae]?Be=this.defaultActions[ae]:((De===null||typeof De>\\\"u\\\")&&(De=Xr()),Be=ie[ae]&&ie[ae][De]),typeof Be>\\\"u\\\"||!Be.length||!Be[0]){var zt=\\\"\\\";ar=[];for(Ye in ie[ae])this.terminals_[Ye]&&Ye>be&&ar.push(\\\"'\\\"+this.terminals_[Ye]+\\\"'\\\");$t.showPosition?zt=\\\"Parse error on line \\\"+(ee+1)+`:\\n`+$t.showPosition()+`\\nExpecting `+ar.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[De]||De)+\\\"'\\\":zt=\\\"Parse error on line \\\"+(ee+1)+\\\": Unexpected \\\"+(De==_e?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[De]||De)+\\\"'\\\"),this.parseError(zt,{text:$t.match,token:this.terminals_[De]||De,line:$t.yylineno,loc:Jt,expected:ar})}if(Be[0]instanceof Array&&Be.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+ae+\\\", token: \\\"+De);switch(Be[0]){case 1:Lt.push(De),Ut.push($t.yytext),at.push($t.yylloc),Lt.push(Be[1]),De=null,fe=$t.yyleng,dt=$t.yytext,ee=$t.yylineno,Jt=$t.yylloc;break;case 2:if(Ie=this.productions_[Be[1]][1],Pe.$=Ut[Ut.length-Ie],Pe._$={first_line:at[at.length-(Ie||1)].first_line,last_line:at[at.length-1].last_line,first_column:at[at.length-(Ie||1)].first_column,last_column:at[at.length-1].last_column},Nn&&(Pe._$.range=[at[at.length-(Ie||1)].range[0],at[at.length-1].range[1]]),Re=this.performAction.apply(Pe,[dt,fe,ee,se.yy,Be[1],Ut,at].concat(ke)),typeof Re\u003C\\\"u\\\")return Re;Ie&&(Lt=Lt.slice(0,-1*Ie*2),Ut=Ut.slice(0,-1*Ie),at=at.slice(0,-1*Ie)),Lt.push(this.productions_[Be[1]][0]),Ut.push(Pe.$),at.push(Pe._$),$e=ie[Lt[Lt.length-2]][Lt[Lt.length-1]],Lt.push($e);break;case 3:return!0}}return!0}},Ht=function(){var Ft={EOF:1,parseError:function(ft,Lt){if(this.yy.parser)this.yy.parser.parseError(ft,Lt);else throw new Error(ft)},setInput:function(xt,ft){return this.yy=ft||this.yy||{},this._input=xt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var xt=this._input[0];this.yytext+=xt,this.yyleng++,this.offset++,this.match+=xt,this.matched+=xt;var ft=xt.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return ft?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xt},unput:function(xt){var ft=xt.length,Lt=xt.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=xt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ft),this.offset-=ft;var bt=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Lt.length-1&&(this.yylineno-=Lt.length-1);var Ut=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Lt?(Lt.length===bt.length?this.yylloc.first_column:0)+bt[bt.length-Lt.length].length-Lt[0].length:this.yylloc.first_column-ft},this.options.ranges&&(this.yylloc.range=[Ut[0],Ut[0]+this.yyleng-ft]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(xt){this.unput(this.match.slice(xt))},pastInput:function(){var xt=this.matched.substr(0,this.matched.length-this.match.length);return(xt.length>20?\\\"...\\\":\\\"\\\")+xt.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var xt=this.match;return xt.length\u003C20&&(xt+=this._input.substr(0,20-xt.length)),(xt.substr(0,20)+(xt.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var xt=this.pastInput(),ft=new Array(xt.length+1).join(\\\"-\\\");return xt+this.upcomingInput()+`\\n`+ft+\\\"^\\\"},test_match:function(xt,ft){var Lt,bt,Ut;if(this.options.backtrack_lexer&&(Ut={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ut.yylloc.range=this.yylloc.range.slice(0))),bt=xt[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),bt&&(this.yylineno+=bt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:bt?bt[bt.length-1].length-bt[bt.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+xt[0].length},this.yytext+=xt[0],this.match+=xt[0],this.matches=xt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(xt[0].length),this.matched+=xt[0],Lt=this.performAction.call(this,this.yy,this,ft,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Lt)return Lt;if(this._backtrack){for(var at in Ut)this[at]=Ut[at];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xt,ft,Lt,bt;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var Ut=this._currentRules(),at=0;at\u003CUt.length;at++)if(Lt=this._input.match(this.rules[Ut[at]]),Lt&&(!ft||Lt[0].length>ft[0].length)){if(ft=Lt,bt=at,this.options.backtrack_lexer){if(xt=this.test_match(Lt,Ut[at]),xt!==!1)return xt;if(this._backtrack){ft=!1;continue}else return!1}else if(!this.options.flex)break}return ft?(xt=this.test_match(ft,Ut[bt]),xt!==!1?xt:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var ft=this.next();return ft||this.lex()},begin:function(ft){this.conditionStack.push(ft)},popState:function(){var ft=this.conditionStack.length-1;return ft>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ft){return ft=this.conditionStack.length-1-Math.abs(ft||0),ft>=0?this.conditionStack[ft]:\\\"INITIAL\\\"},pushState:function(ft){this.begin(ft)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ft,Lt,bt,Ut){switch(bt){case 0:return this.begin(\\\"open_directive\\\"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin(\\\"type_directive\\\"),19;case 6:return this.popState(),this.begin(\\\"arg_directive\\\"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin(\\\"acc_title\\\"),34;case 12:return this.popState(),\\\"acc_title_value\\\";case 13:return this.begin(\\\"acc_descr\\\"),36;case 14:return this.popState(),\\\"acc_descr_value\\\";case 15:this.begin(\\\"acc_descr_multiline\\\");break;case 16:this.popState();break;case 17:return\\\"acc_descr_multiline_value\\\";case 18:break;case 19:c;break;case 20:return 15;case 21:break;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin(\\\"person_ext\\\"),55;case 28:return this.begin(\\\"person\\\"),54;case 29:return this.begin(\\\"system_ext_queue\\\"),61;case 30:return this.begin(\\\"system_ext_db\\\"),60;case 31:return this.begin(\\\"system_ext\\\"),59;case 32:return this.begin(\\\"system_queue\\\"),58;case 33:return this.begin(\\\"system_db\\\"),57;case 34:return this.begin(\\\"system\\\"),56;case 35:return this.begin(\\\"boundary\\\"),47;case 36:return this.begin(\\\"enterprise_boundary\\\"),44;case 37:return this.begin(\\\"system_boundary\\\"),46;case 38:return this.begin(\\\"container_ext_queue\\\"),67;case 39:return this.begin(\\\"container_ext_db\\\"),66;case 40:return this.begin(\\\"container_ext\\\"),65;case 41:return this.begin(\\\"container_queue\\\"),64;case 42:return this.begin(\\\"container_db\\\"),63;case 43:return this.begin(\\\"container\\\"),62;case 44:return this.begin(\\\"container_boundary\\\"),48;case 45:return this.begin(\\\"component_ext_queue\\\"),73;case 46:return this.begin(\\\"component_ext_db\\\"),72;case 47:return this.begin(\\\"component_ext\\\"),71;case 48:return this.begin(\\\"component_queue\\\"),70;case 49:return this.begin(\\\"component_db\\\"),69;case 50:return this.begin(\\\"component\\\"),68;case 51:return this.begin(\\\"node\\\"),49;case 52:return this.begin(\\\"node\\\"),49;case 53:return this.begin(\\\"node_l\\\"),50;case 54:return this.begin(\\\"node_r\\\"),51;case 55:return this.begin(\\\"rel\\\"),74;case 56:return this.begin(\\\"birel\\\"),75;case 57:return this.begin(\\\"rel_u\\\"),76;case 58:return this.begin(\\\"rel_u\\\"),76;case 59:return this.begin(\\\"rel_d\\\"),77;case 60:return this.begin(\\\"rel_d\\\"),77;case 61:return this.begin(\\\"rel_l\\\"),78;case 62:return this.begin(\\\"rel_l\\\"),78;case 63:return this.begin(\\\"rel_r\\\"),79;case 64:return this.begin(\\\"rel_r\\\"),79;case 65:return this.begin(\\\"rel_b\\\"),80;case 66:return this.begin(\\\"rel_index\\\"),81;case 67:return this.begin(\\\"update_el_style\\\"),82;case 68:return this.begin(\\\"update_rel_style\\\"),83;case 69:return this.begin(\\\"update_layout_config\\\"),84;case 70:return\\\"EOF_IN_STRUCT\\\";case 71:return this.begin(\\\"attribute\\\"),\\\"ATTRIBUTE_EMPTY\\\";case 72:this.begin(\\\"attribute\\\");break;case 73:this.popState(),this.popState();break;case 74:return 90;case 75:break;case 76:return 90;case 77:this.begin(\\\"string\\\");break;case 78:this.popState();break;case 79:return\\\"STR\\\";case 80:this.begin(\\\"string_kv\\\");break;case 81:return this.begin(\\\"string_kv_key\\\"),\\\"STR_KEY\\\";case 82:this.popState(),this.begin(\\\"string_kv_value\\\");break;case 83:return\\\"STR_VALUE\\\";case 84:this.popState(),this.popState();break;case 85:return\\\"STR\\\";case 86:return\\\"LBRACE\\\";case 87:return\\\"RBRACE\\\";case 88:return\\\"SPACE\\\";case 89:return\\\"EOL\\\";case 90:return 24}},rules:[/^(?:%%\\\\{)/,/^(?:.*direction\\\\s+TB[^\\\\n]*)/,/^(?:.*direction\\\\s+BT[^\\\\n]*)/,/^(?:.*direction\\\\s+RL[^\\\\n]*)/,/^(?:.*direction\\\\s+LR[^\\\\n]*)/,/^(?:((?:(?!\\\\}%%)[^:.])*))/,/^(?::)/,/^(?:\\\\}%%)/,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/,/^(?:title\\\\s[^#\\\\n;]+)/,/^(?:accDescription\\\\s[^#\\\\n;]+)/,/^(?:accTitle\\\\s*:\\\\s*)/,/^(?:(?!\\\\n||)*[^\\\\n]*)/,/^(?:accDescr\\\\s*:\\\\s*)/,/^(?:(?!\\\\n||)*[^\\\\n]*)/,/^(?:accDescr\\\\s*\\\\{\\\\s*)/,/^(?:[\\\\}])/,/^(?:[^\\\\}]*)/,/^(?:%%(?!\\\\{)*[^\\\\n]*(\\\\r?\\\\n?)+)/,/^(?:%%[^\\\\n]*(\\\\r?\\\\n)*)/,/^(?:\\\\s*(\\\\r?\\\\n)+)/,/^(?:\\\\s+)/,/^(?:C4Context\\\\b)/,/^(?:C4Container\\\\b)/,/^(?:C4Component\\\\b)/,/^(?:C4Dynamic\\\\b)/,/^(?:C4Deployment\\\\b)/,/^(?:Person_Ext\\\\b)/,/^(?:Person\\\\b)/,/^(?:SystemQueue_Ext\\\\b)/,/^(?:SystemDb_Ext\\\\b)/,/^(?:System_Ext\\\\b)/,/^(?:SystemQueue\\\\b)/,/^(?:SystemDb\\\\b)/,/^(?:System\\\\b)/,/^(?:Boundary\\\\b)/,/^(?:Enterprise_Boundary\\\\b)/,/^(?:System_Boundary\\\\b)/,/^(?:ContainerQueue_Ext\\\\b)/,/^(?:ContainerDb_Ext\\\\b)/,/^(?:Container_Ext\\\\b)/,/^(?:ContainerQueue\\\\b)/,/^(?:ContainerDb\\\\b)/,/^(?:Container\\\\b)/,/^(?:Container_Boundary\\\\b)/,/^(?:ComponentQueue_Ext\\\\b)/,/^(?:ComponentDb_Ext\\\\b)/,/^(?:Component_Ext\\\\b)/,/^(?:ComponentQueue\\\\b)/,/^(?:ComponentDb\\\\b)/,/^(?:Component\\\\b)/,/^(?:Deployment_Node\\\\b)/,/^(?:Node\\\\b)/,/^(?:Node_L\\\\b)/,/^(?:Node_R\\\\b)/,/^(?:Rel\\\\b)/,/^(?:BiRel\\\\b)/,/^(?:Rel_Up\\\\b)/,/^(?:Rel_U\\\\b)/,/^(?:Rel_Down\\\\b)/,/^(?:Rel_D\\\\b)/,/^(?:Rel_Left\\\\b)/,/^(?:Rel_L\\\\b)/,/^(?:Rel_Right\\\\b)/,/^(?:Rel_R\\\\b)/,/^(?:Rel_Back\\\\b)/,/^(?:RelIndex\\\\b)/,/^(?:UpdateElementStyle\\\\b)/,/^(?:UpdateRelStyle\\\\b)/,/^(?:UpdateLayoutConfig\\\\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*[\\\"][\\\"])/,/^(?:[ ]*[\\\"])/,/^(?:[\\\"])/,/^(?:[^\\\"]*)/,/^(?:[ ]*[\\\\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*[\\\"])/,/^(?:[^\\\"]+)/,/^(?:[\\\"])/,/^(?:[^,]+)/,/^(?:\\\\{)/,/^(?:\\\\})/,/^(?:[\\\\s]+)/,/^(?:[\\\\n\\\\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};return Ft}();Ee.lexer=Ht;function Vt(){this.yy={}}return Vt.prototype=Ee,Ee.Parser=Vt,new Vt}();Fc.parser=Fc;const HE=Fc,GE=t=>t.match(/^\\\\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null;let En=[],zi=[\\\"\\\"],Ir=\\\"global\\\",Cn=\\\"\\\",zn=[{alias:\\\"global\\\",label:{text:\\\"global\\\"},type:{text:\\\"global\\\"},tags:null,link:null,parentBoundary:\\\"\\\"}],xo=[],N1=\\\"\\\",B1=!1,Pc=4,Yc=2;var bg;const qE=function(){return bg},jE=function(t){bg=yn(t,$())},$E=function(t,e,r){ze.parseDirective(this,t,e,r)},XE=function(t,e,r,n,i,s,a,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const d=xo.find(f=>f.from===e&&f.to===r);if(d?u=d:xo.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:\\\"\\\"};else if(typeof i==\\\"object\\\"){let[f,p]=Object.entries(i)[0];u[f]={text:p}}else u.techn={text:i};if(s==null)u.descr={text:\\\"\\\"};else if(typeof s==\\\"object\\\"){let[f,p]=Object.entries(s)[0];u[f]={text:p}}else u.descr={text:s};if(typeof a==\\\"object\\\"){let[f,p]=Object.entries(a)[0];u[f]=p}else u.sprite=a;if(typeof o==\\\"object\\\"){let[f,p]=Object.entries(o)[0];u[f]=p}else u.tags=o;if(typeof l==\\\"object\\\"){let[f,p]=Object.entries(l)[0];u[f]=p}else u.link=l;u.wrap=Wi()},KE=function(t,e,r,n,i,s,a){if(e===null||r===null)return;let o={};const l=En.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,En.push(o)),r==null?o.label={text:\\\"\\\"}:o.label={text:r},n==null)o.descr={text:\\\"\\\"};else if(typeof n==\\\"object\\\"){let[u,d]=Object.entries(n)[0];o[u]={text:d}}else o.descr={text:n};if(typeof i==\\\"object\\\"){let[u,d]=Object.entries(i)[0];o[u]=d}else o.sprite=i;if(typeof s==\\\"object\\\"){let[u,d]=Object.entries(s)[0];o[u]=d}else o.tags=s;if(typeof a==\\\"object\\\"){let[u,d]=Object.entries(a)[0];o[u]=d}else o.link=a;o.typeC4Shape={text:t},o.parentBoundary=Ir,o.wrap=Wi()},ZE=function(t,e,r,n,i,s,a,o){if(e===null||r===null)return;let l={};const u=En.find(d=>d.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,En.push(l)),r==null?l.label={text:\\\"\\\"}:l.label={text:r},n==null)l.techn={text:\\\"\\\"};else if(typeof n==\\\"object\\\"){let[d,f]=Object.entries(n)[0];l[d]={text:f}}else l.techn={text:n};if(i==null)l.descr={text:\\\"\\\"};else if(typeof i==\\\"object\\\"){let[d,f]=Object.entries(i)[0];l[d]={text:f}}else l.descr={text:i};if(typeof s==\\\"object\\\"){let[d,f]=Object.entries(s)[0];l[d]=f}else l.sprite=s;if(typeof a==\\\"object\\\"){let[d,f]=Object.entries(a)[0];l[d]=f}else l.tags=a;if(typeof o==\\\"object\\\"){let[d,f]=Object.entries(o)[0];l[d]=f}else l.link=o;l.wrap=Wi(),l.typeC4Shape={text:t},l.parentBoundary=Ir},QE=function(t,e,r,n,i,s,a,o){if(e===null||r===null)return;let l={};const u=En.find(d=>d.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,En.push(l)),r==null?l.label={text:\\\"\\\"}:l.label={text:r},n==null)l.techn={text:\\\"\\\"};else if(typeof n==\\\"object\\\"){let[d,f]=Object.entries(n)[0];l[d]={text:f}}else l.techn={text:n};if(i==null)l.descr={text:\\\"\\\"};else if(typeof i==\\\"object\\\"){let[d,f]=Object.entries(i)[0];l[d]={text:f}}else l.descr={text:i};if(typeof s==\\\"object\\\"){let[d,f]=Object.entries(s)[0];l[d]=f}else l.sprite=s;if(typeof a==\\\"object\\\"){let[d,f]=Object.entries(a)[0];l[d]=f}else l.tags=a;if(typeof o==\\\"object\\\"){let[d,f]=Object.entries(o)[0];l[d]=f}else l.link=o;l.wrap=Wi(),l.typeC4Shape={text:t},l.parentBoundary=Ir},JE=function(t,e,r,n,i){if(t===null||e===null)return;let s={};const a=zn.find(o=>o.alias===t);if(a&&t===a.alias?s=a:(s.alias=t,zn.push(s)),e==null?s.label={text:\\\"\\\"}:s.label={text:e},r==null)s.type={text:\\\"system\\\"};else if(typeof r==\\\"object\\\"){let[o,l]=Object.entries(r)[0];s[o]={text:l}}else s.type={text:r};if(typeof n==\\\"object\\\"){let[o,l]=Object.entries(n)[0];s[o]=l}else s.tags=n;if(typeof i==\\\"object\\\"){let[o,l]=Object.entries(i)[0];s[o]=l}else s.link=i;s.parentBoundary=Ir,s.wrap=Wi(),Cn=Ir,Ir=t,zi.push(Cn)},tC=function(t,e,r,n,i){if(t===null||e===null)return;let s={};const a=zn.find(o=>o.alias===t);if(a&&t===a.alias?s=a:(s.alias=t,zn.push(s)),e==null?s.label={text:\\\"\\\"}:s.label={text:e},r==null)s.type={text:\\\"container\\\"};else if(typeof r==\\\"object\\\"){let[o,l]=Object.entries(r)[0];s[o]={text:l}}else s.type={text:r};if(typeof n==\\\"object\\\"){let[o,l]=Object.entries(n)[0];s[o]=l}else s.tags=n;if(typeof i==\\\"object\\\"){let[o,l]=Object.entries(i)[0];s[o]=l}else s.link=i;s.parentBoundary=Ir,s.wrap=Wi(),Cn=Ir,Ir=t,zi.push(Cn)},eC=function(t,e,r,n,i,s,a,o){if(e===null||r===null)return;let l={};const u=zn.find(d=>d.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,zn.push(l)),r==null?l.label={text:\\\"\\\"}:l.label={text:r},n==null)l.type={text:\\\"node\\\"};else if(typeof n==\\\"object\\\"){let[d,f]=Object.entries(n)[0];l[d]={text:f}}else l.type={text:n};if(i==null)l.descr={text:\\\"\\\"};else if(typeof i==\\\"object\\\"){let[d,f]=Object.entries(i)[0];l[d]={text:f}}else l.descr={text:i};if(typeof a==\\\"object\\\"){let[d,f]=Object.entries(a)[0];l[d]=f}else l.tags=a;if(typeof o==\\\"object\\\"){let[d,f]=Object.entries(o)[0];l[d]=f}else l.link=o;l.nodeType=t,l.parentBoundary=Ir,l.wrap=Wi(),Cn=Ir,Ir=e,zi.push(Cn)},rC=function(){Ir=Cn,zi.pop(),Cn=zi.pop(),zi.push(Cn)},nC=function(t,e,r,n,i,s,a,o,l,u,d){let f=En.find(p=>p.alias===e);if(!(f===void 0&&(f=zn.find(p=>p.alias===e),f===void 0))){if(r!=null)if(typeof r==\\\"object\\\"){let[p,g]=Object.entries(r)[0];f[p]=g}else f.bgColor=r;if(n!=null)if(typeof n==\\\"object\\\"){let[p,g]=Object.entries(n)[0];f[p]=g}else f.fontColor=n;if(i!=null)if(typeof i==\\\"object\\\"){let[p,g]=Object.entries(i)[0];f[p]=g}else f.borderColor=i;if(s!=null)if(typeof s==\\\"object\\\"){let[p,g]=Object.entries(s)[0];f[p]=g}else f.shadowing=s;if(a!=null)if(typeof a==\\\"object\\\"){let[p,g]=Object.entries(a)[0];f[p]=g}else f.shape=a;if(o!=null)if(typeof o==\\\"object\\\"){let[p,g]=Object.entries(o)[0];f[p]=g}else f.sprite=o;if(l!=null)if(typeof l==\\\"object\\\"){let[p,g]=Object.entries(l)[0];f[p]=g}else f.techn=l;if(u!=null)if(typeof u==\\\"object\\\"){let[p,g]=Object.entries(u)[0];f[p]=g}else f.legendText=u;if(d!=null)if(typeof d==\\\"object\\\"){let[p,g]=Object.entries(d)[0];f[p]=g}else f.legendSprite=d}},iC=function(t,e,r,n,i,s,a){const o=xo.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n==\\\"object\\\"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i==\\\"object\\\"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(s!=null)if(typeof s==\\\"object\\\"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(s);if(a!=null)if(typeof a==\\\"object\\\"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(a)}},sC=function(t,e,r){let n=Pc,i=Yc;if(typeof e==\\\"object\\\"){const s=Object.values(e)[0];n=parseInt(s)}else n=parseInt(e);if(typeof r==\\\"object\\\"){const s=Object.values(r)[0];i=parseInt(s)}else i=parseInt(r);n>=1&&(Pc=n),i>=1&&(Yc=i)},aC=function(){return Pc},oC=function(){return Yc},lC=function(){return Ir},cC=function(){return Cn},_g=function(t){return t==null?En:En.filter(e=>e.parentBoundary===t)},uC=function(t){return En.find(e=>e.alias===t)},hC=function(t){return Object.keys(_g(t))},dC=function(t){return t==null?zn:zn.filter(e=>e.parentBoundary===t)},fC=function(){return xo},pC=function(){return N1},gC=function(t){B1=t},Wi=function(){return B1},xg={addPersonOrSystem:KE,addPersonOrSystemBoundary:JE,addContainer:ZE,addContainerBoundary:tC,addComponent:QE,addDeploymentNode:eC,popBoundaryParseStack:rC,addRel:XE,updateElStyle:nC,updateRelStyle:iC,updateLayoutConfig:sC,autoWrap:Wi,setWrap:gC,getC4ShapeArray:_g,getC4Shape:uC,getC4ShapeKeys:hC,getBoundarys:dC,getCurrentBoundaryParse:lC,getParentBoundaryParse:cC,getRels:fC,getTitle:pC,getC4Type:qE,getC4ShapeInRow:aC,getC4BoundaryInRow:oC,setAccTitle:nn,getAccTitle:kn,getAccDescription:Tn,setAccDescription:wn,parseDirective:$E,getConfig:()=>$().c4,clear:function(){En=[],zn=[{alias:\\\"global\\\",label:{text:\\\"global\\\"},type:{text:\\\"global\\\"},tags:null,link:null,parentBoundary:\\\"\\\"}],Cn=\\\"\\\",Ir=\\\"global\\\",zi=[\\\"\\\"],xo=[],zi=[\\\"\\\"],N1=\\\"\\\",B1=!1,Pc=4,Yc=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(t){N1=yn(t,$())},setC4Type:jE},I1=function(t,e){const r=t.append(\\\"rect\\\");if(r.attr(\\\"x\\\",e.x),r.attr(\\\"y\\\",e.y),r.attr(\\\"fill\\\",e.fill),r.attr(\\\"stroke\\\",e.stroke),r.attr(\\\"width\\\",e.width),r.attr(\\\"height\\\",e.height),r.attr(\\\"rx\\\",e.rx),r.attr(\\\"ry\\\",e.ry),e.attrs!==\\\"undefined\\\"&&e.attrs!==null)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class!==\\\"undefined\\\"&&r.attr(\\\"class\\\",e.class),r},vg=function(t,e,r,n,i,s){const a=t.append(\\\"image\\\");a.attr(\\\"width\\\",e),a.attr(\\\"height\\\",r),a.attr(\\\"x\\\",n),a.attr(\\\"y\\\",i);let o=s.startsWith(\\\"data:image/png;base64\\\")?s:ti(s);a.attr(\\\"xlink:href\\\",o)},yC=(t,e,r)=>{const n=t.append(\\\"g\\\");let i=0;for(let s of e){let a=s.textColor?s.textColor:\\\"#444444\\\",o=s.lineColor?s.lineColor:\\\"#444444\\\",l=s.offsetX?parseInt(s.offsetX):0,u=s.offsetY?parseInt(s.offsetY):0,d=\\\"\\\";if(i===0){let p=n.append(\\\"line\\\");p.attr(\\\"x1\\\",s.startPoint.x),p.attr(\\\"y1\\\",s.startPoint.y),p.attr(\\\"x2\\\",s.endPoint.x),p.attr(\\\"y2\\\",s.endPoint.y),p.attr(\\\"stroke-width\\\",\\\"1\\\"),p.attr(\\\"stroke\\\",o),p.style(\\\"fill\\\",\\\"none\\\"),s.type!==\\\"rel_b\\\"&&p.attr(\\\"marker-end\\\",\\\"url(\\\"+d+\\\"#arrowhead)\\\"),(s.type===\\\"birel\\\"||s.type===\\\"rel_b\\\")&&p.attr(\\\"marker-start\\\",\\\"url(\\\"+d+\\\"#arrowend)\\\"),i=-1}else{let p=n.append(\\\"path\\\");p.attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke-width\\\",\\\"1\\\").attr(\\\"stroke\\\",o).attr(\\\"d\\\",\\\"Mstartx,starty Qcontrolx,controly stopx,stopy \\\".replaceAll(\\\"startx\\\",s.startPoint.x).replaceAll(\\\"starty\\\",s.startPoint.y).replaceAll(\\\"controlx\\\",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll(\\\"controly\\\",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll(\\\"stopx\\\",s.endPoint.x).replaceAll(\\\"stopy\\\",s.endPoint.y)),s.type!==\\\"rel_b\\\"&&p.attr(\\\"marker-end\\\",\\\"url(\\\"+d+\\\"#arrowhead)\\\"),(s.type===\\\"birel\\\"||s.type===\\\"rel_b\\\")&&p.attr(\\\"marker-start\\\",\\\"url(\\\"+d+\\\"#arrowend)\\\")}let f=r.messageFont();fi(r)(s.label.text,n,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+l,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+u,s.label.width,s.label.height,{fill:a},f),s.techn&&s.techn.text!==\\\"\\\"&&(f=r.messageFont(),fi(r)(\\\"[\\\"+s.techn.text+\\\"]\\\",n,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+l,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+u,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:a,\\\"font-style\\\":\\\"italic\\\"},f))}},mC=function(t,e,r){const n=t.append(\\\"g\\\");let i=e.bgColor?e.bgColor:\\\"none\\\",s=e.borderColor?e.borderColor:\\\"#444444\\\",a=e.fontColor?e.fontColor:\\\"black\\\",o={\\\"stroke-width\\\":1,\\\"stroke-dasharray\\\":\\\"7.0,7.0\\\"};e.nodeType&&(o={\\\"stroke-width\\\":1});let l={x:e.x,y:e.y,fill:i,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};I1(n,l);let u=r.boundaryFont();u.fontWeight=\\\"bold\\\",u.fontSize=u.fontSize+2,u.fontColor=a,fi(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:\\\"#444444\\\"},u),e.type&&e.type.text!==\\\"\\\"&&(u=r.boundaryFont(),u.fontColor=a,fi(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:\\\"#444444\\\"},u)),e.descr&&e.descr.text!==\\\"\\\"&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=a,fi(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:\\\"#444444\\\"},u))},bC=function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+\\\"_bg_color\\\"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+\\\"_border_color\\\"],s=e.fontColor?e.fontColor:\\\"#FFFFFF\\\",a=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\\\";switch(e.typeC4Shape.text){case\\\"person\\\":a=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\\\";break;case\\\"external_person\\\":a=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=\\\";break}const o=t.append(\\\"g\\\");o.attr(\\\"class\\\",\\\"person-man\\\");const l=kg();switch(e.typeC4Shape.text){case\\\"person\\\":case\\\"external_person\\\":case\\\"system\\\":case\\\"external_system\\\":case\\\"container\\\":case\\\"external_container\\\":case\\\"component\\\":case\\\"external_component\\\":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.style=\\\"stroke:\\\"+i+\\\";stroke-width:0.5;\\\",l.rx=2.5,l.ry=2.5,I1(o,l);break;case\\\"system_db\\\":case\\\"external_system_db\\\":case\\\"container_db\\\":case\\\"external_container_db\\\":case\\\"component_db\\\":case\\\"external_component_db\\\":o.append(\\\"path\\\").attr(\\\"fill\\\",n).attr(\\\"stroke-width\\\",\\\"0.5\\\").attr(\\\"stroke\\\",i).attr(\\\"d\\\",\\\"Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height\\\".replaceAll(\\\"startx\\\",e.x).replaceAll(\\\"starty\\\",e.y).replaceAll(\\\"half\\\",e.width/2).replaceAll(\\\"height\\\",e.height)),o.append(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke-width\\\",\\\"0.5\\\").attr(\\\"stroke\\\",i).attr(\\\"d\\\",\\\"Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10\\\".replaceAll(\\\"startx\\\",e.x).replaceAll(\\\"starty\\\",e.y).replaceAll(\\\"half\\\",e.width/2));break;case\\\"system_queue\\\":case\\\"external_system_queue\\\":case\\\"container_queue\\\":case\\\"external_container_queue\\\":case\\\"component_queue\\\":case\\\"external_component_queue\\\":o.append(\\\"path\\\").attr(\\\"fill\\\",n).attr(\\\"stroke-width\\\",\\\"0.5\\\").attr(\\\"stroke\\\",i).attr(\\\"d\\\",\\\"Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half\\\".replaceAll(\\\"startx\\\",e.x).replaceAll(\\\"starty\\\",e.y).replaceAll(\\\"width\\\",e.width).replaceAll(\\\"half\\\",e.height/2)),o.append(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke-width\\\",\\\"0.5\\\").attr(\\\"stroke\\\",i).attr(\\\"d\\\",\\\"Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half\\\".replaceAll(\\\"startx\\\",e.x+e.width).replaceAll(\\\"starty\\\",e.y).replaceAll(\\\"half\\\",e.height/2));break}let u=SC(r,e.typeC4Shape.text);switch(o.append(\\\"text\\\").attr(\\\"fill\\\",s).attr(\\\"font-family\\\",u.fontFamily).attr(\\\"font-size\\\",u.fontSize-2).attr(\\\"font-style\\\",\\\"italic\\\").attr(\\\"lengthAdjust\\\",\\\"spacing\\\").attr(\\\"textLength\\\",e.typeC4Shape.width).attr(\\\"x\\\",e.x+e.width/2-e.typeC4Shape.width/2).attr(\\\"y\\\",e.y+e.typeC4Shape.Y).text(\\\"\u003C\u003C\\\"+e.typeC4Shape.text+\\\">>\\\"),e.typeC4Shape.text){case\\\"person\\\":case\\\"external_person\\\":vg(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,a);break}let d=r[e.typeC4Shape.text+\\\"Font\\\"]();return d.fontWeight=\\\"bold\\\",d.fontSize=d.fontSize+2,d.fontColor=s,fi(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:s},d),d=r[e.typeC4Shape.text+\\\"Font\\\"](),d.fontColor=s,e.thchn&&e.thchn.text!==\\\"\\\"?fi(r)(e.thchn.text,o,e.x,e.y+e.thchn.Y,e.width,e.height,{fill:s,\\\"font-style\\\":\\\"italic\\\"},d):e.type&&e.type.text!==\\\"\\\"&&fi(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:s,\\\"font-style\\\":\\\"italic\\\"},d),e.descr&&e.descr.text!==\\\"\\\"&&(d=r.personFont(),d.fontColor=s,fi(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:s},d)),e.height},_C=function(t){t.append(\\\"defs\\\").append(\\\"symbol\\\").attr(\\\"id\\\",\\\"database\\\").attr(\\\"fill-rule\\\",\\\"evenodd\\\").attr(\\\"clip-rule\\\",\\\"evenodd\\\").append(\\\"path\\\").attr(\\\"transform\\\",\\\"scale(.5)\\\").attr(\\\"d\\\",\\\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\\\")},xC=function(t){t.append(\\\"defs\\\").append(\\\"symbol\\\").attr(\\\"id\\\",\\\"computer\\\").attr(\\\"width\\\",\\\"24\\\").attr(\\\"height\\\",\\\"24\\\").append(\\\"path\\\").attr(\\\"transform\\\",\\\"scale(.5)\\\").attr(\\\"d\\\",\\\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\\\")},vC=function(t){t.append(\\\"defs\\\").append(\\\"symbol\\\").attr(\\\"id\\\",\\\"clock\\\").attr(\\\"width\\\",\\\"24\\\").attr(\\\"height\\\",\\\"24\\\").append(\\\"path\\\").attr(\\\"transform\\\",\\\"scale(.5)\\\").attr(\\\"d\\\",\\\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\\\")},kC=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"arrowhead\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",12).attr(\\\"markerHeight\\\",12).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 10 5 L 0 10 z\\\")},wC=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"arrowend\\\").attr(\\\"refX\\\",1).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",12).attr(\\\"markerHeight\\\",12).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 10 0 L 0 5 L 10 10 z\\\")},TC=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"filled-head\\\").attr(\\\"refX\\\",18).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L14,7 L9,1 Z\\\")},EC=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"sequencenumber\\\").attr(\\\"refX\\\",15).attr(\\\"refY\\\",15).attr(\\\"markerWidth\\\",60).attr(\\\"markerHeight\\\",40).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"circle\\\").attr(\\\"cx\\\",15).attr(\\\"cy\\\",15).attr(\\\"r\\\",6)},CC=function(t){const r=t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"crosshead\\\").attr(\\\"markerWidth\\\",15).attr(\\\"markerHeight\\\",8).attr(\\\"orient\\\",\\\"auto\\\").attr(\\\"refX\\\",16).attr(\\\"refY\\\",4);r.append(\\\"path\\\").attr(\\\"fill\\\",\\\"black\\\").attr(\\\"stroke\\\",\\\"#000000\\\").style(\\\"stroke-dasharray\\\",\\\"0, 0\\\").attr(\\\"stroke-width\\\",\\\"1px\\\").attr(\\\"d\\\",\\\"M 9,2 V 6 L16,4 Z\\\"),r.append(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"#000000\\\").style(\\\"stroke-dasharray\\\",\\\"0, 0\\\").attr(\\\"stroke-width\\\",\\\"1px\\\").attr(\\\"d\\\",\\\"M 0,1 L 6,7 M 6,1 L 0,7\\\")},kg=function(){return{x:0,y:0,fill:\\\"#EDF2AE\\\",stroke:\\\"#666\\\",width:100,anchor:\\\"start\\\",height:100,rx:0,ry:0}},SC=(t,e)=>({fontFamily:t[e+\\\"FontFamily\\\"],fontSize:t[e+\\\"FontSize\\\"],fontWeight:t[e+\\\"FontWeight\\\"]}),fi=function(){function t(i,s,a,o,l,u,d){const f=s.append(\\\"text\\\").attr(\\\"x\\\",a+l/2).attr(\\\"y\\\",o+u/2+5).style(\\\"text-anchor\\\",\\\"middle\\\").text(i);n(f,d)}function e(i,s,a,o,l,u,d,f){const{fontSize:p,fontFamily:g,fontWeight:b}=f,k=i.split(he.lineBreakRegex);for(let T=0;T\u003Ck.length;T++){const L=T*p-p*(k.length-1)/2,E=s.append(\\\"text\\\").attr(\\\"x\\\",a+l/2).attr(\\\"y\\\",o).style(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"font-size\\\",p).style(\\\"font-weight\\\",b).style(\\\"font-family\\\",g);E.append(\\\"tspan\\\").attr(\\\"dy\\\",L).text(k[T]).attr(\\\"alignment-baseline\\\",\\\"mathematical\\\"),n(E,d)}}function r(i,s,a,o,l,u,d,f){const p=s.append(\\\"switch\\\"),b=p.append(\\\"foreignObject\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",o).attr(\\\"width\\\",l).attr(\\\"height\\\",u).append(\\\"xhtml:div\\\").style(\\\"display\\\",\\\"table\\\").style(\\\"height\\\",\\\"100%\\\").style(\\\"width\\\",\\\"100%\\\");b.append(\\\"div\\\").style(\\\"display\\\",\\\"table-cell\\\").style(\\\"text-align\\\",\\\"center\\\").style(\\\"vertical-align\\\",\\\"middle\\\").text(i),e(i,p,a,o,l,u,d,f),n(b,d)}function n(i,s){for(const a in s)s.hasOwnProperty(a)&&i.attr(a,s[a])}return function(i){return i.textPlacement===\\\"fo\\\"?r:i.textPlacement===\\\"old\\\"?t:e}}(),Wn={drawRect:I1,drawBoundary:mC,drawC4Shape:bC,drawRels:yC,drawImage:vg,insertArrowHead:kC,insertArrowEnd:wC,insertArrowFilledHead:TC,insertDynamicNumber:EC,insertArrowCrossHead:CC,insertDatabaseIcon:_C,insertComputerIcon:xC,insertClockIcon:vC,getNoteRect:kg,sanitizeUrl:ti};let Vc=0,Uc=0,wg=4,O1=2;Fc.yy=xg;let Zt={};class Tg{constructor(e){this.name=\\\"\\\",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,R1(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,s=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>wg)&&(r=this.nextData.startx+e.margin+Zt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=s=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,\\\"startx\\\",r,Math.min),this.updateVal(this.data,\\\"starty\\\",i,Math.min),this.updateVal(this.data,\\\"stopx\\\",n,Math.max),this.updateVal(this.data,\\\"stopy\\\",s,Math.max),this.updateVal(this.nextData,\\\"startx\\\",r,Math.min),this.updateVal(this.nextData,\\\"starty\\\",i,Math.min),this.updateVal(this.nextData,\\\"stopx\\\",n,Math.max),this.updateVal(this.nextData,\\\"stopy\\\",s,Math.max)}init(e){this.name=\\\"\\\",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},R1(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}}const R1=function(t){gr(Zt,t),t.fontFamily&&(Zt.personFontFamily=Zt.systemFontFamily=Zt.messageFontFamily=t.fontFamily),t.fontSize&&(Zt.personFontSize=Zt.systemFontSize=Zt.messageFontSize=t.fontSize),t.fontWeight&&(Zt.personFontWeight=Zt.systemFontWeight=Zt.messageFontWeight=t.fontWeight)},vo=(t,e)=>({fontFamily:t[e+\\\"FontFamily\\\"],fontSize:t[e+\\\"FontSize\\\"],fontWeight:t[e+\\\"FontWeight\\\"]}),zc=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),AC=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight});function Sn(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=Pp(e[t].text,i,n),e[t].textLines=e[t].text.split(he.lineBreakRegex).length,e[t].width=i,e[t].height=g1(e[t].text,n);else{let s=e[t].text.split(he.lineBreakRegex);e[t].textLines=s.length;let a=0;e[t].height=0,e[t].width=0;for(const o of s)e[t].width=Math.max(Un(o,n),e[t].width),a=g1(o,n),e[t].height=e[t].height+a}}const Eg=function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Zt.c4ShapeMargin-35;let n=e.wrap&&Zt.wrap,i=zc(Zt);i.fontSize=i.fontSize+2,i.fontWeight=\\\"bold\\\";let s=Un(e.label.text,i);Sn(\\\"label\\\",e,n,i,s),Wn.drawBoundary(t,e,Zt)},Cg=function(t,e,r,n){let i=0;for(const s of n){i=0;const a=r[s];let o=vo(Zt,a.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,a.typeC4Shape.width=Un(\\\"\u003C\u003C\\\"+a.typeC4Shape.text+\\\">>\\\",o),a.typeC4Shape.height=o.fontSize+2,a.typeC4Shape.Y=Zt.c4ShapePadding,i=a.typeC4Shape.Y+a.typeC4Shape.height-4,a.image={width:0,height:0,Y:0},a.typeC4Shape.text){case\\\"person\\\":case\\\"external_person\\\":a.image.width=48,a.image.height=48,a.image.Y=i,i=a.image.Y+a.image.height;break}a.sprite&&(a.image.width=48,a.image.height=48,a.image.Y=i,i=a.image.Y+a.image.height);let l=a.wrap&&Zt.wrap,u=Zt.width-Zt.c4ShapePadding*2,d=vo(Zt,a.typeC4Shape.text);if(d.fontSize=d.fontSize+2,d.fontWeight=\\\"bold\\\",Sn(\\\"label\\\",a,l,d,u),a.label.Y=i+8,i=a.label.Y+a.label.height,a.type&&a.type.text!==\\\"\\\"){a.type.text=\\\"[\\\"+a.type.text+\\\"]\\\";let g=vo(Zt,a.typeC4Shape.text);Sn(\\\"type\\\",a,l,g,u),a.type.Y=i+5,i=a.type.Y+a.type.height}else if(a.techn&&a.techn.text!==\\\"\\\"){a.techn.text=\\\"[\\\"+a.techn.text+\\\"]\\\";let g=vo(Zt,a.techn.text);Sn(\\\"techn\\\",a,l,g,u),a.techn.Y=i+5,i=a.techn.Y+a.techn.height}let f=i,p=a.label.width;if(a.descr&&a.descr.text!==\\\"\\\"){let g=vo(Zt,a.typeC4Shape.text);Sn(\\\"descr\\\",a,l,g,u),a.descr.Y=i+20,i=a.descr.Y+a.descr.height,p=Math.max(a.label.width,a.descr.width),f=i-a.descr.textLines*5}p=p+Zt.c4ShapePadding,a.width=Math.max(a.width||Zt.width,p,Zt.width),a.height=Math.max(a.height||Zt.height,f,Zt.height),a.margin=a.margin||Zt.c4ShapeMargin,t.insert(a),Wn.drawC4Shape(e,a,Zt)}t.bumpLastMargin(Zt.c4ShapeMargin)};class sn{constructor(e,r){this.x=e,this.y=r}}let Sg=function(t,e){let r=t.x,n=t.y,i=e.x,s=e.y,a=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-s),d=u/l,f=t.height/t.width,p=null;return n==s&&r\u003Ci?p=new sn(r+t.width,o):n==s&&r>i?p=new sn(r,o):r==i&&n\u003Cs?p=new sn(a,n+t.height):r==i&&n>s&&(p=new sn(a,n)),r>i&&n\u003Cs?f>=d?p=new sn(r,o+d*t.width/2):p=new sn(a-l/u*t.height/2,n+t.height):r\u003Ci&&n\u003Cs?f>=d?p=new sn(r+t.width,o+d*t.width/2):p=new sn(a+l/u*t.height/2,n+t.height):r\u003Ci&&n>s?f>=d?p=new sn(r+t.width,o-d*t.width/2):p=new sn(a+t.height/2*l/u,n):r>i&&n>s&&(f>=d?p=new sn(r,o-t.width/2*d):p=new sn(a-t.height/2*l/u,n)),p},LC=function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=Sg(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=Sg(e,r);return{startPoint:n,endPoint:i}};const DC=function(t,e,r,n){let i=0;for(let s of e){i=i+1;let a=s.wrap&&Zt.wrap,o=AC(Zt);n.db.getC4Type()===\\\"C4Dynamic\\\"&&(s.label.text=i+\\\": \\\"+s.label.text);let u=Un(s.label.text,o);Sn(\\\"label\\\",s,a,o,u),s.techn&&s.techn.text!==\\\"\\\"&&(u=Un(s.techn.text,o),Sn(\\\"techn\\\",s,a,o,u)),s.descr&&s.descr.text!==\\\"\\\"&&(u=Un(s.descr.text,o),Sn(\\\"descr\\\",s,a,o,u));let d=r(s.from),f=r(s.to),p=LC(d,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}Wn.drawRels(t,e,Zt)};function Ag(t,e,r,n,i){let s=new Tg(i);s.data.widthLimit=r.data.widthLimit/Math.min(O1,n.length);for(let[a,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&Zt.wrap,d=zc(Zt);if(d.fontSize=d.fontSize+2,d.fontWeight=\\\"bold\\\",Sn(\\\"label\\\",o,u,d,s.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==\\\"\\\"){o.type.text=\\\"[\\\"+o.type.text+\\\"]\\\";let b=zc(Zt);Sn(\\\"type\\\",o,u,b,s.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==\\\"\\\"){let b=zc(Zt);b.fontSize=b.fontSize-2,Sn(\\\"descr\\\",o,u,b,s.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(a==0||a%O1===0){let b=r.data.startx+Zt.diagramMarginX,k=r.data.stopy+Zt.diagramMarginY+l;s.setData(b,b,k,k)}else{let b=s.data.stopx!==s.data.startx?s.data.stopx+Zt.diagramMarginX:s.data.startx,k=s.data.starty;s.setData(b,b,k,k)}s.name=o.alias;let f=i.db.getC4ShapeArray(o.alias),p=i.db.getC4ShapeKeys(o.alias);p.length>0&&Cg(s,t,f,p),e=o.alias;let g=i.db.getBoundarys(e);g.length>0&&Ag(t,e,s,g,i),o.alias!==\\\"global\\\"&&Eg(t,o,s),r.data.stopy=Math.max(s.data.stopy+Zt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(s.data.stopx+Zt.c4ShapeMargin,r.data.stopx),Vc=Math.max(Vc,r.data.stopx),Uc=Math.max(Uc,r.data.stopy)}}const Lg={drawPersonOrSystemArray:Cg,drawBoundary:Eg,setConf:R1,draw:function(t,e,r,n){Zt=$().c4;const i=$().securityLevel;let s;i===\\\"sandbox\\\"&&(s=St(\\\"#i\\\"+e));const a=St(i===\\\"sandbox\\\"?s.nodes()[0].contentDocument.body:\\\"body\\\");let o=n.db;n.db.setWrap(Zt.wrap),wg=o.getC4ShapeInRow(),O1=o.getC4BoundaryInRow(),B.debug(`C:${JSON.stringify(Zt,null,2)}`);const l=i===\\\"sandbox\\\"?a.select(`[id=\\\"${e}\\\"]`):St(`[id=\\\"${e}\\\"]`);Wn.insertComputerIcon(l),Wn.insertDatabaseIcon(l),Wn.insertClockIcon(l);let u=new Tg(n);u.setData(Zt.diagramMarginX,Zt.diagramMarginX,Zt.diagramMarginY,Zt.diagramMarginY),u.data.widthLimit=screen.availWidth,Vc=Zt.diagramMarginX,Uc=Zt.diagramMarginY;const d=n.db.getTitle();let f=n.db.getBoundarys(\\\"\\\");Ag(l,\\\"\\\",u,f,n),Wn.insertArrowHead(l),Wn.insertArrowEnd(l),Wn.insertArrowCrossHead(l),Wn.insertArrowFilledHead(l),DC(l,n.db.getRels(),n.db.getC4Shape,n),u.data.stopx=Vc,u.data.stopy=Uc;const p=u.data;let b=p.stopy-p.starty+2*Zt.diagramMarginY;const T=p.stopx-p.startx+2*Zt.diagramMarginX;d&&l.append(\\\"text\\\").text(d).attr(\\\"x\\\",(p.stopx-p.startx)/2-4*Zt.diagramMarginX).attr(\\\"y\\\",p.starty+Zt.diagramMarginY),xn(l,b,T,Zt.useMaxWidth);const L=d?60:0;l.attr(\\\"viewBox\\\",p.startx-Zt.diagramMarginX+\\\" -\\\"+(Zt.diagramMarginY+L)+\\\" \\\"+T+\\\" \\\"+(b+L)),B.debug(\\\"models:\\\",p)}};var F1=function(){var t=function(F,O,A,J){for(A=A||{},J=F.length;J--;A[F[J]]=O);return A},e=[1,3],r=[1,7],n=[1,8],i=[1,9],s=[1,10],a=[1,13],o=[1,12],l=[1,16,25],u=[1,20],d=[1,32],f=[1,33],p=[1,34],g=[1,36],b=[1,39],k=[1,37],T=[1,38],L=[1,44],E=[1,45],I=[1,40],V=[1,41],H=[1,42],G=[1,43],Y=[1,48],W=[1,49],N=[1,50],D=[1,51],w=[16,25],v=[1,65],M=[1,66],m=[1,67],Q=[1,68],x=[1,69],ct=[1,70],Dt=[1,71],kt=[1,80],j=[16,25,32,45,46,54,60,61,62,63,64,65,66,71,73],ot=[16,25,30,32,45,46,50,54,60,61,62,63,64,65,66,71,73,88,89,90,91],rt=[5,8,9,10,11,16,19,23,25],nt=[54,88,89,90,91],ut=[54,65,66,88,89,90,91],_t=[54,60,61,62,63,64,88,89,90,91],K=[16,25,32],Ot=[1,107],P={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,\\\":\\\":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,className:27,alphaNumToken:28,classLiteralName:29,GENERICTYPE:30,relationStatement:31,LABEL:32,classStatement:33,methodStatement:34,annotationStatement:35,clickStatement:36,cssClassStatement:37,noteStatement:38,acc_title:39,acc_title_value:40,acc_descr:41,acc_descr_value:42,acc_descr_multiline_value:43,CLASS:44,STYLE_SEPARATOR:45,STRUCT_START:46,members:47,STRUCT_STOP:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,STR:54,NOTE_FOR:55,noteText:56,NOTE:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,CSSCLASS:74,commentToken:75,textToken:76,graphCodeTokens:77,textNoTagsToken:78,TAGSTART:79,TAGEND:80,\\\"==\\\":81,\\\"--\\\":82,PCT:83,DEFAULT:84,SPACE:85,MINUS:86,keywords:87,UNICODE_TEXT:88,NUM:89,ALPHA:90,BQUOTE_STR:91,$accept:0,$end:1},terminals_:{2:\\\"error\\\",5:\\\"statments\\\",8:\\\"direction_tb\\\",9:\\\"direction_bt\\\",10:\\\"direction_rl\\\",11:\\\"direction_lr\\\",16:\\\"NEWLINE\\\",17:\\\":\\\",19:\\\"open_directive\\\",20:\\\"type_directive\\\",21:\\\"arg_directive\\\",22:\\\"close_directive\\\",23:\\\"CLASS_DIAGRAM\\\",25:\\\"EOF\\\",30:\\\"GENERICTYPE\\\",32:\\\"LABEL\\\",39:\\\"acc_title\\\",40:\\\"acc_title_value\\\",41:\\\"acc_descr\\\",42:\\\"acc_descr_value\\\",43:\\\"acc_descr_multiline_value\\\",44:\\\"CLASS\\\",45:\\\"STYLE_SEPARATOR\\\",46:\\\"STRUCT_START\\\",48:\\\"STRUCT_STOP\\\",49:\\\"ANNOTATION_START\\\",50:\\\"ANNOTATION_END\\\",51:\\\"MEMBER\\\",52:\\\"SEPARATOR\\\",54:\\\"STR\\\",55:\\\"NOTE_FOR\\\",57:\\\"NOTE\\\",60:\\\"AGGREGATION\\\",61:\\\"EXTENSION\\\",62:\\\"COMPOSITION\\\",63:\\\"DEPENDENCY\\\",64:\\\"LOLLIPOP\\\",65:\\\"LINE\\\",66:\\\"DOTTED_LINE\\\",67:\\\"CALLBACK\\\",68:\\\"LINK\\\",69:\\\"LINK_TARGET\\\",70:\\\"CLICK\\\",71:\\\"CALLBACK_NAME\\\",72:\\\"CALLBACK_ARGS\\\",73:\\\"HREF\\\",74:\\\"CSSCLASS\\\",77:\\\"graphCodeTokens\\\",79:\\\"TAGSTART\\\",80:\\\"TAGEND\\\",81:\\\"==\\\",82:\\\"--\\\",83:\\\"PCT\\\",84:\\\"DEFAULT\\\",85:\\\"SPACE\\\",86:\\\"MINUS\\\",87:\\\"keywords\\\",88:\\\"UNICODE_TEXT\\\",89:\\\"NUM\\\",90:\\\"ALPHA\\\",91:\\\"BQUOTE_STR\\\"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,1],[27,1],[27,2],[27,2],[27,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[33,2],[33,4],[33,5],[33,7],[35,4],[47,1],[47,2],[34,1],[34,2],[34,1],[34,1],[31,3],[31,4],[31,4],[31,5],[38,3],[38,2],[53,3],[53,2],[53,2],[53,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[36,3],[36,4],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[37,3],[75,1],[75,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[78,1],[78,1],[78,1],[78,1],[28,1],[28,1],[28,1],[29,1],[56,1]],performAction:function(O,A,J,C,ht,U,Yt){var et=U.length-1;switch(ht){case 5:C.setDirection(\\\"TB\\\");break;case 6:C.setDirection(\\\"BT\\\");break;case 7:C.setDirection(\\\"RL\\\");break;case 8:C.setDirection(\\\"LR\\\");break;case 12:C.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 13:C.parseDirective(U[et],\\\"type_directive\\\");break;case 14:U[et]=U[et].trim().replace(/'/g,'\\\"'),C.parseDirective(U[et],\\\"arg_directive\\\");break;case 15:C.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"class\\\");break;case 20:case 21:this.$=U[et];break;case 22:this.$=U[et-1]+U[et];break;case 23:case 24:this.$=U[et-1]+\\\"~\\\"+U[et];break;case 25:C.addRelation(U[et]);break;case 26:U[et-1].title=C.cleanupLabel(U[et]),C.addRelation(U[et-1]);break;case 35:this.$=U[et].trim(),C.setAccTitle(this.$);break;case 36:case 37:this.$=U[et].trim(),C.setAccDescription(this.$);break;case 38:C.addClass(U[et]);break;case 39:C.addClass(U[et-2]),C.setCssClass(U[et-2],U[et]);break;case 40:C.addClass(U[et-3]),C.addMembers(U[et-3],U[et-1]);break;case 41:C.addClass(U[et-5]),C.setCssClass(U[et-5],U[et-3]),C.addMembers(U[et-5],U[et-1]);break;case 42:C.addAnnotation(U[et],U[et-2]);break;case 43:this.$=[U[et]];break;case 44:U[et].push(U[et-1]),this.$=U[et];break;case 45:break;case 46:C.addMember(U[et-1],C.cleanupLabel(U[et]));break;case 47:break;case 48:break;case 49:this.$={id1:U[et-2],id2:U[et],relation:U[et-1],relationTitle1:\\\"none\\\",relationTitle2:\\\"none\\\"};break;case 50:this.$={id1:U[et-3],id2:U[et],relation:U[et-1],relationTitle1:U[et-2],relationTitle2:\\\"none\\\"};break;case 51:this.$={id1:U[et-3],id2:U[et],relation:U[et-2],relationTitle1:\\\"none\\\",relationTitle2:U[et-1]};break;case 52:this.$={id1:U[et-4],id2:U[et],relation:U[et-2],relationTitle1:U[et-3],relationTitle2:U[et-1]};break;case 53:C.addNote(U[et],U[et-1]);break;case 54:C.addNote(U[et]);break;case 55:this.$={type1:U[et-2],type2:U[et],lineType:U[et-1]};break;case 56:this.$={type1:\\\"none\\\",type2:U[et],lineType:U[et-1]};break;case 57:this.$={type1:U[et-1],type2:\\\"none\\\",lineType:U[et]};break;case 58:this.$={type1:\\\"none\\\",type2:\\\"none\\\",lineType:U[et]};break;case 59:this.$=C.relationType.AGGREGATION;break;case 60:this.$=C.relationType.EXTENSION;break;case 61:this.$=C.relationType.COMPOSITION;break;case 62:this.$=C.relationType.DEPENDENCY;break;case 63:this.$=C.relationType.LOLLIPOP;break;case 64:this.$=C.lineType.LINE;break;case 65:this.$=C.lineType.DOTTED_LINE;break;case 66:case 72:this.$=U[et-2],C.setClickEvent(U[et-1],U[et]);break;case 67:case 73:this.$=U[et-3],C.setClickEvent(U[et-2],U[et-1]),C.setTooltip(U[et-2],U[et]);break;case 68:case 76:this.$=U[et-2],C.setLink(U[et-1],U[et]);break;case 69:this.$=U[et-3],C.setLink(U[et-2],U[et-1],U[et]);break;case 70:case 78:this.$=U[et-3],C.setLink(U[et-2],U[et-1]),C.setTooltip(U[et-2],U[et]);break;case 71:case 79:this.$=U[et-4],C.setLink(U[et-3],U[et-2],U[et]),C.setTooltip(U[et-3],U[et-1]);break;case 74:this.$=U[et-3],C.setClickEvent(U[et-2],U[et-1],U[et]);break;case 75:this.$=U[et-4],C.setClickEvent(U[et-3],U[et-2],U[et-1]),C.setTooltip(U[et-3],U[et]);break;case 77:this.$=U[et-3],C.setLink(U[et-2],U[et-1],U[et]);break;case 80:C.setCssClass(U[et-1],U[et]);break}},table:[{3:1,4:2,5:e,6:4,7:5,8:r,9:n,10:i,11:s,12:6,13:11,19:a,23:o},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:e,6:4,7:5,8:r,9:n,10:i,11:s,12:6,13:11,19:a,23:o},{1:[2,9]},t(l,[2,5]),t(l,[2,6]),t(l,[2,7]),t(l,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:u},t([17,22],[2,13]),{6:31,7:30,8:r,9:n,10:i,11:s,13:11,19:a,24:21,26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:d,41:f,43:p,44:g,49:b,51:k,52:T,55:L,57:E,67:I,68:V,70:H,74:G,88:Y,89:W,90:N,91:D},{16:[1,52]},{18:53,21:[1,54]},{16:[2,15]},{25:[1,55]},{16:[1,56],25:[2,17]},t(w,[2,25],{32:[1,57]}),t(w,[2,27]),t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),t(w,[2,31]),t(w,[2,32]),t(w,[2,33]),t(w,[2,34]),{40:[1,58]},{42:[1,59]},t(w,[2,37]),t(w,[2,45],{53:60,58:63,59:64,32:[1,62],54:[1,61],60:v,61:M,62:m,63:Q,64:x,65:ct,66:Dt}),{27:72,28:46,29:47,88:Y,89:W,90:N,91:D},t(w,[2,47]),t(w,[2,48]),{28:73,88:Y,89:W,90:N},{27:74,28:46,29:47,88:Y,89:W,90:N,91:D},{27:75,28:46,29:47,88:Y,89:W,90:N,91:D},{27:76,28:46,29:47,88:Y,89:W,90:N,91:D},{54:[1,77]},{27:78,28:46,29:47,88:Y,89:W,90:N,91:D},{54:kt,56:79},t(j,[2,20],{28:46,29:47,27:81,30:[1,82],88:Y,89:W,90:N,91:D}),t(j,[2,21],{30:[1,83]}),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t([16,25,30,32,45,46,54,60,61,62,63,64,65,66,71,73],[2,97]),t(rt,[2,10]),{15:84,22:u},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:r,9:n,10:i,11:s,13:11,19:a,24:85,25:[2,18],26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:d,41:f,43:p,44:g,49:b,51:k,52:T,55:L,57:E,67:I,68:V,70:H,74:G,88:Y,89:W,90:N,91:D},t(w,[2,26]),t(w,[2,35]),t(w,[2,36]),{27:86,28:46,29:47,54:[1,87],88:Y,89:W,90:N,91:D},{53:88,58:63,59:64,60:v,61:M,62:m,63:Q,64:x,65:ct,66:Dt},t(w,[2,46]),{59:89,65:ct,66:Dt},t(nt,[2,58],{58:90,60:v,61:M,62:m,63:Q,64:x}),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(_t,[2,64]),t(_t,[2,65]),t(w,[2,38],{45:[1,91],46:[1,92]}),{50:[1,93]},{54:[1,94]},{54:[1,95]},{71:[1,96],73:[1,97]},{28:98,88:Y,89:W,90:N},{54:kt,56:99},t(w,[2,54]),t(w,[2,98]),t(j,[2,22]),t(j,[2,23]),t(j,[2,24]),{16:[1,100]},{25:[2,19]},t(K,[2,49]),{27:101,28:46,29:47,88:Y,89:W,90:N,91:D},{27:102,28:46,29:47,54:[1,103],88:Y,89:W,90:N,91:D},t(nt,[2,57],{58:104,60:v,61:M,62:m,63:Q,64:x}),t(nt,[2,56]),{28:105,88:Y,89:W,90:N},{47:106,51:Ot},{27:108,28:46,29:47,88:Y,89:W,90:N,91:D},t(w,[2,66],{54:[1,109]}),t(w,[2,68],{54:[1,111],69:[1,110]}),t(w,[2,72],{54:[1,112],72:[1,113]}),t(w,[2,76],{54:[1,115],69:[1,114]}),t(w,[2,80]),t(w,[2,53]),t(rt,[2,11]),t(K,[2,51]),t(K,[2,50]),{27:116,28:46,29:47,88:Y,89:W,90:N,91:D},t(nt,[2,55]),t(w,[2,39],{46:[1,117]}),{48:[1,118]},{47:119,48:[2,43],51:Ot},t(w,[2,42]),t(w,[2,67]),t(w,[2,69]),t(w,[2,70],{69:[1,120]}),t(w,[2,73]),t(w,[2,74],{54:[1,121]}),t(w,[2,77]),t(w,[2,78],{69:[1,122]}),t(K,[2,52]),{47:123,51:Ot},t(w,[2,40]),{48:[2,44]},t(w,[2,71]),t(w,[2,75]),t(w,[2,79]),{48:[1,124]},t(w,[2,41])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],54:[2,14],55:[2,16],85:[2,19],119:[2,44]},parseError:function(O,A){if(A.recoverable)this.trace(O);else{var J=new Error(O);throw J.hash=A,J}},parse:function(O){var A=this,J=[0],C=[],ht=[null],U=[],Yt=this.table,et=\\\"\\\",Mt=0,Tt=0,gt=2,Et=1,wt=U.slice.call(arguments,1),pt=Object.create(this.lexer),st={yy:{}};for(var le in this.yy)Object.prototype.hasOwnProperty.call(this.yy,le)&&(st.yy[le]=this.yy[le]);pt.setInput(O,st.yy),st.yy.lexer=pt,st.yy.parser=this,typeof pt.yylloc>\\\"u\\\"&&(pt.yylloc={});var Xt=pt.yylloc;U.push(Xt);var jt=pt.options&&pt.options.ranges;typeof st.yy.parseError==\\\"function\\\"?this.parseError=st.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Kt(){var at;return at=C.pop()||pt.lex()||Et,typeof at!=\\\"number\\\"&&(at instanceof Array&&(C=at,at=C.pop()),at=A.symbols_[at]||at),at}for(var Gt,Ee,Ht,Vt,Ft={},xt,ft,Lt,bt;;){if(Ee=J[J.length-1],this.defaultActions[Ee]?Ht=this.defaultActions[Ee]:((Gt===null||typeof Gt>\\\"u\\\")&&(Gt=Kt()),Ht=Yt[Ee]&&Yt[Ee][Gt]),typeof Ht>\\\"u\\\"||!Ht.length||!Ht[0]){var Ut=\\\"\\\";bt=[];for(xt in Yt[Ee])this.terminals_[xt]&&xt>gt&&bt.push(\\\"'\\\"+this.terminals_[xt]+\\\"'\\\");pt.showPosition?Ut=\\\"Parse error on line \\\"+(Mt+1)+`:\\n`+pt.showPosition()+`\\nExpecting `+bt.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[Gt]||Gt)+\\\"'\\\":Ut=\\\"Parse error on line \\\"+(Mt+1)+\\\": Unexpected \\\"+(Gt==Et?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[Gt]||Gt)+\\\"'\\\"),this.parseError(Ut,{text:pt.match,token:this.terminals_[Gt]||Gt,line:pt.yylineno,loc:Xt,expected:bt})}if(Ht[0]instanceof Array&&Ht.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+Ee+\\\", token: \\\"+Gt);switch(Ht[0]){case 1:J.push(Gt),ht.push(pt.yytext),U.push(pt.yylloc),J.push(Ht[1]),Gt=null,Tt=pt.yyleng,et=pt.yytext,Mt=pt.yylineno,Xt=pt.yylloc;break;case 2:if(ft=this.productions_[Ht[1]][1],Ft.$=ht[ht.length-ft],Ft._$={first_line:U[U.length-(ft||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(ft||1)].first_column,last_column:U[U.length-1].last_column},jt&&(Ft._$.range=[U[U.length-(ft||1)].range[0],U[U.length-1].range[1]]),Vt=this.performAction.apply(Ft,[et,Tt,Mt,st.yy,Ht[1],ht,U].concat(wt)),typeof Vt\u003C\\\"u\\\")return Vt;ft&&(J=J.slice(0,-1*ft*2),ht=ht.slice(0,-1*ft),U=U.slice(0,-1*ft)),J.push(this.productions_[Ht[1]][0]),ht.push(Ft.$),U.push(Ft._$),Lt=Yt[J[J.length-2]][J[J.length-1]],J.push(Lt);break;case 3:return!0}}return!0}},z=function(){var F={EOF:1,parseError:function(A,J){if(this.yy.parser)this.yy.parser.parseError(A,J);else throw new Error(A)},setInput:function(O,A){return this.yy=A||this.yy||{},this._input=O,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var O=this._input[0];this.yytext+=O,this.yyleng++,this.offset++,this.match+=O,this.matched+=O;var A=O.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),O},unput:function(O){var A=O.length,J=O.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=O+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var C=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),J.length-1&&(this.yylineno-=J.length-1);var ht=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:J?(J.length===C.length?this.yylloc.first_column:0)+C[C.length-J.length].length-J[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[ht[0],ht[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(O){this.unput(this.match.slice(O))},pastInput:function(){var O=this.matched.substr(0,this.matched.length-this.match.length);return(O.length>20?\\\"...\\\":\\\"\\\")+O.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var O=this.match;return O.length\u003C20&&(O+=this._input.substr(0,20-O.length)),(O.substr(0,20)+(O.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var O=this.pastInput(),A=new Array(O.length+1).join(\\\"-\\\");return O+this.upcomingInput()+`\\n`+A+\\\"^\\\"},test_match:function(O,A){var J,C,ht;if(this.options.backtrack_lexer&&(ht={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ht.yylloc.range=this.yylloc.range.slice(0))),C=O[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+O[0].length},this.yytext+=O[0],this.match+=O[0],this.matches=O,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(O[0].length),this.matched+=O[0],J=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),J)return J;if(this._backtrack){for(var U in ht)this[U]=ht[U];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var O,A,J,C;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var ht=this._currentRules(),U=0;U\u003Cht.length;U++)if(J=this._input.match(this.rules[ht[U]]),J&&(!A||J[0].length>A[0].length)){if(A=J,C=U,this.options.backtrack_lexer){if(O=this.test_match(J,ht[U]),O!==!1)return O;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(O=this.test_match(A,ht[C]),O!==!1?O:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var A=this.next();return A||this.lex()},begin:function(A){this.conditionStack.push(A)},popState:function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:\\\"INITIAL\\\"},pushState:function(A){this.begin(A)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(A,J,C,ht){switch(C){case 0:return this.begin(\\\"open_directive\\\"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin(\\\"type_directive\\\"),20;case 6:return this.popState(),this.begin(\\\"arg_directive\\\"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:break;case 10:break;case 11:return this.begin(\\\"acc_title\\\"),39;case 12:return this.popState(),\\\"acc_title_value\\\";case 13:return this.begin(\\\"acc_descr\\\"),41;case 14:return this.popState(),\\\"acc_descr_value\\\";case 15:this.begin(\\\"acc_descr_multiline\\\");break;case 16:this.popState();break;case 17:return\\\"acc_descr_multiline_value\\\";case 18:return 16;case 19:break;case 20:return 23;case 21:return 23;case 22:return this.begin(\\\"struct\\\"),46;case 23:return\\\"EDGE_STATE\\\";case 24:return\\\"EOF_IN_STRUCT\\\";case 25:return\\\"OPEN_IN_STRUCT\\\";case 26:return this.popState(),48;case 27:break;case 28:return\\\"MEMBER\\\";case 29:return 44;case 30:return 74;case 31:return 67;case 32:return 68;case 33:return 70;case 34:return 55;case 35:return 57;case 36:return 49;case 37:return 50;case 38:this.begin(\\\"generic\\\");break;case 39:this.popState();break;case 40:return\\\"GENERICTYPE\\\";case 41:this.begin(\\\"string\\\");break;case 42:this.popState();break;case 43:return\\\"STR\\\";case 44:this.begin(\\\"bqstring\\\");break;case 45:this.popState();break;case 46:return\\\"BQUOTE_STR\\\";case 47:this.begin(\\\"href\\\");break;case 48:this.popState();break;case 49:return 73;case 50:this.begin(\\\"callback_name\\\");break;case 51:this.popState();break;case 52:this.popState(),this.begin(\\\"callback_args\\\");break;case 53:return 71;case 54:this.popState();break;case 55:return 72;case 56:return 69;case 57:return 69;case 58:return 69;case 59:return 69;case 60:return 61;case 61:return 61;case 62:return 63;case 63:return 63;case 64:return 62;case 65:return 60;case 66:return 64;case 67:return 65;case 68:return 66;case 69:return 32;case 70:return 45;case 71:return 86;case 72:return\\\"DOT\\\";case 73:return\\\"PLUS\\\";case 74:return 83;case 75:return\\\"EQUALS\\\";case 76:return\\\"EQUALS\\\";case 77:return 90;case 78:return\\\"PUNCTUATION\\\";case 79:return 89;case 80:return 88;case 81:return 85;case 82:return 25}},rules:[/^(?:%%\\\\{)/,/^(?:.*direction\\\\s+TB[^\\\\n]*)/,/^(?:.*direction\\\\s+BT[^\\\\n]*)/,/^(?:.*direction\\\\s+RL[^\\\\n]*)/,/^(?:.*direction\\\\s+LR[^\\\\n]*)/,/^(?:((?:(?!\\\\}%%)[^:.])*))/,/^(?::)/,/^(?:\\\\}%%)/,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/,/^(?:%%(?!\\\\{)*[^\\\\n]*(\\\\r?\\\\n?)+)/,/^(?:%%[^\\\\n]*(\\\\r?\\\\n)*)/,/^(?:accTitle\\\\s*:\\\\s*)/,/^(?:(?!\\\\n||)*[^\\\\n]*)/,/^(?:accDescr\\\\s*:\\\\s*)/,/^(?:(?!\\\\n||)*[^\\\\n]*)/,/^(?:accDescr\\\\s*\\\\{\\\\s*)/,/^(?:[\\\\}])/,/^(?:[^\\\\}]*)/,/^(?:\\\\s*(\\\\r?\\\\n)+)/,/^(?:\\\\s+)/,/^(?:classDiagram-v2\\\\b)/,/^(?:classDiagram\\\\b)/,/^(?:[{])/,/^(?:\\\\[\\\\*\\\\])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\\\\n])/,/^(?:[^{}\\\\n]*)/,/^(?:class\\\\b)/,/^(?:cssClass\\\\b)/,/^(?:callback\\\\b)/,/^(?:link\\\\b)/,/^(?:click\\\\b)/,/^(?:note for\\\\b)/,/^(?:note\\\\b)/,/^(?:\u003C\u003C)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:[\\\"])/,/^(?:[\\\"])/,/^(?:[^\\\"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\\\\s]+[\\\"])/,/^(?:[\\\"])/,/^(?:[^\\\"]*)/,/^(?:call[\\\\s]+)/,/^(?:\\\\([\\\\s]*\\\\))/,/^(?:\\\\()/,/^(?:[^(]*)/,/^(?:\\\\))/,/^(?:[^)]*)/,/^(?:_self\\\\b)/,/^(?:_blank\\\\b)/,/^(?:_parent\\\\b)/,/^(?:_top\\\\b)/,/^(?:\\\\s*\u003C\\\\|)/,/^(?:\\\\s*\\\\|>)/,/^(?:\\\\s*>)/,/^(?:\\\\s*\u003C)/,/^(?:\\\\s*\\\\*)/,/^(?:\\\\s*o\\\\b)/,/^(?:\\\\s*\\\\(\\\\))/,/^(?:--)/,/^(?:\\\\.\\\\.)/,/^(?::{1}[^:\\\\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\\\\.)/,/^(?:\\\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\\\\w+)/,/^(?:[!\\\"#$%&'*+,-.`?\\\\\\\\/])/,/^(?:[0-9]+)/,/^(?:[\\\\u00AA\\\\u00B5\\\\u00BA\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6]|[\\\\u00F8-\\\\u02C1\\\\u02C6-\\\\u02D1\\\\u02E0-\\\\u02E4\\\\u02EC\\\\u02EE\\\\u0370-\\\\u0374\\\\u0376\\\\u0377]|[\\\\u037A-\\\\u037D\\\\u0386\\\\u0388-\\\\u038A\\\\u038C\\\\u038E-\\\\u03A1\\\\u03A3-\\\\u03F5]|[\\\\u03F7-\\\\u0481\\\\u048A-\\\\u0527\\\\u0531-\\\\u0556\\\\u0559\\\\u0561-\\\\u0587\\\\u05D0-\\\\u05EA]|[\\\\u05F0-\\\\u05F2\\\\u0620-\\\\u064A\\\\u066E\\\\u066F\\\\u0671-\\\\u06D3\\\\u06D5\\\\u06E5\\\\u06E6\\\\u06EE]|[\\\\u06EF\\\\u06FA-\\\\u06FC\\\\u06FF\\\\u0710\\\\u0712-\\\\u072F\\\\u074D-\\\\u07A5\\\\u07B1\\\\u07CA-\\\\u07EA]|[\\\\u07F4\\\\u07F5\\\\u07FA\\\\u0800-\\\\u0815\\\\u081A\\\\u0824\\\\u0828\\\\u0840-\\\\u0858\\\\u08A0]|[\\\\u08A2-\\\\u08AC\\\\u0904-\\\\u0939\\\\u093D\\\\u0950\\\\u0958-\\\\u0961\\\\u0971-\\\\u0977]|[\\\\u0979-\\\\u097F\\\\u0985-\\\\u098C\\\\u098F\\\\u0990\\\\u0993-\\\\u09A8\\\\u09AA-\\\\u09B0\\\\u09B2]|[\\\\u09B6-\\\\u09B9\\\\u09BD\\\\u09CE\\\\u09DC\\\\u09DD\\\\u09DF-\\\\u09E1\\\\u09F0\\\\u09F1\\\\u0A05-\\\\u0A0A]|[\\\\u0A0F\\\\u0A10\\\\u0A13-\\\\u0A28\\\\u0A2A-\\\\u0A30\\\\u0A32\\\\u0A33\\\\u0A35\\\\u0A36\\\\u0A38\\\\u0A39]|[\\\\u0A59-\\\\u0A5C\\\\u0A5E\\\\u0A72-\\\\u0A74\\\\u0A85-\\\\u0A8D\\\\u0A8F-\\\\u0A91\\\\u0A93-\\\\u0AA8]|[\\\\u0AAA-\\\\u0AB0\\\\u0AB2\\\\u0AB3\\\\u0AB5-\\\\u0AB9\\\\u0ABD\\\\u0AD0\\\\u0AE0\\\\u0AE1\\\\u0B05-\\\\u0B0C]|[\\\\u0B0F\\\\u0B10\\\\u0B13-\\\\u0B28\\\\u0B2A-\\\\u0B30\\\\u0B32\\\\u0B33\\\\u0B35-\\\\u0B39\\\\u0B3D\\\\u0B5C]|[\\\\u0B5D\\\\u0B5F-\\\\u0B61\\\\u0B71\\\\u0B83\\\\u0B85-\\\\u0B8A\\\\u0B8E-\\\\u0B90\\\\u0B92-\\\\u0B95\\\\u0B99]|[\\\\u0B9A\\\\u0B9C\\\\u0B9E\\\\u0B9F\\\\u0BA3\\\\u0BA4\\\\u0BA8-\\\\u0BAA\\\\u0BAE-\\\\u0BB9\\\\u0BD0]|[\\\\u0C05-\\\\u0C0C\\\\u0C0E-\\\\u0C10\\\\u0C12-\\\\u0C28\\\\u0C2A-\\\\u0C33\\\\u0C35-\\\\u0C39\\\\u0C3D]|[\\\\u0C58\\\\u0C59\\\\u0C60\\\\u0C61\\\\u0C85-\\\\u0C8C\\\\u0C8E-\\\\u0C90\\\\u0C92-\\\\u0CA8\\\\u0CAA-\\\\u0CB3]|[\\\\u0CB5-\\\\u0CB9\\\\u0CBD\\\\u0CDE\\\\u0CE0\\\\u0CE1\\\\u0CF1\\\\u0CF2\\\\u0D05-\\\\u0D0C\\\\u0D0E-\\\\u0D10]|[\\\\u0D12-\\\\u0D3A\\\\u0D3D\\\\u0D4E\\\\u0D60\\\\u0D61\\\\u0D7A-\\\\u0D7F\\\\u0D85-\\\\u0D96\\\\u0D9A-\\\\u0DB1]|[\\\\u0DB3-\\\\u0DBB\\\\u0DBD\\\\u0DC0-\\\\u0DC6\\\\u0E01-\\\\u0E30\\\\u0E32\\\\u0E33\\\\u0E40-\\\\u0E46\\\\u0E81]|[\\\\u0E82\\\\u0E84\\\\u0E87\\\\u0E88\\\\u0E8A\\\\u0E8D\\\\u0E94-\\\\u0E97\\\\u0E99-\\\\u0E9F\\\\u0EA1-\\\\u0EA3]|[\\\\u0EA5\\\\u0EA7\\\\u0EAA\\\\u0EAB\\\\u0EAD-\\\\u0EB0\\\\u0EB2\\\\u0EB3\\\\u0EBD\\\\u0EC0-\\\\u0EC4\\\\u0EC6]|[\\\\u0EDC-\\\\u0EDF\\\\u0F00\\\\u0F40-\\\\u0F47\\\\u0F49-\\\\u0F6C\\\\u0F88-\\\\u0F8C\\\\u1000-\\\\u102A]|[\\\\u103F\\\\u1050-\\\\u1055\\\\u105A-\\\\u105D\\\\u1061\\\\u1065\\\\u1066\\\\u106E-\\\\u1070\\\\u1075-\\\\u1081]|[\\\\u108E\\\\u10A0-\\\\u10C5\\\\u10C7\\\\u10CD\\\\u10D0-\\\\u10FA\\\\u10FC-\\\\u1248\\\\u124A-\\\\u124D]|[\\\\u1250-\\\\u1256\\\\u1258\\\\u125A-\\\\u125D\\\\u1260-\\\\u1288\\\\u128A-\\\\u128D\\\\u1290-\\\\u12B0]|[\\\\u12B2-\\\\u12B5\\\\u12B8-\\\\u12BE\\\\u12C0\\\\u12C2-\\\\u12C5\\\\u12C8-\\\\u12D6\\\\u12D8-\\\\u1310]|[\\\\u1312-\\\\u1315\\\\u1318-\\\\u135A\\\\u1380-\\\\u138F\\\\u13A0-\\\\u13F4\\\\u1401-\\\\u166C]|[\\\\u166F-\\\\u167F\\\\u1681-\\\\u169A\\\\u16A0-\\\\u16EA\\\\u1700-\\\\u170C\\\\u170E-\\\\u1711]|[\\\\u1720-\\\\u1731\\\\u1740-\\\\u1751\\\\u1760-\\\\u176C\\\\u176E-\\\\u1770\\\\u1780-\\\\u17B3\\\\u17D7]|[\\\\u17DC\\\\u1820-\\\\u1877\\\\u1880-\\\\u18A8\\\\u18AA\\\\u18B0-\\\\u18F5\\\\u1900-\\\\u191C]|[\\\\u1950-\\\\u196D\\\\u1970-\\\\u1974\\\\u1980-\\\\u19AB\\\\u19C1-\\\\u19C7\\\\u1A00-\\\\u1A16]|[\\\\u1A20-\\\\u1A54\\\\u1AA7\\\\u1B05-\\\\u1B33\\\\u1B45-\\\\u1B4B\\\\u1B83-\\\\u1BA0\\\\u1BAE\\\\u1BAF]|[\\\\u1BBA-\\\\u1BE5\\\\u1C00-\\\\u1C23\\\\u1C4D-\\\\u1C4F\\\\u1C5A-\\\\u1C7D\\\\u1CE9-\\\\u1CEC]|[\\\\u1CEE-\\\\u1CF1\\\\u1CF5\\\\u1CF6\\\\u1D00-\\\\u1DBF\\\\u1E00-\\\\u1F15\\\\u1F18-\\\\u1F1D]|[\\\\u1F20-\\\\u1F45\\\\u1F48-\\\\u1F4D\\\\u1F50-\\\\u1F57\\\\u1F59\\\\u1F5B\\\\u1F5D\\\\u1F5F-\\\\u1F7D]|[\\\\u1F80-\\\\u1FB4\\\\u1FB6-\\\\u1FBC\\\\u1FBE\\\\u1FC2-\\\\u1FC4\\\\u1FC6-\\\\u1FCC\\\\u1FD0-\\\\u1FD3]|[\\\\u1FD6-\\\\u1FDB\\\\u1FE0-\\\\u1FEC\\\\u1FF2-\\\\u1FF4\\\\u1FF6-\\\\u1FFC\\\\u2071\\\\u207F]|[\\\\u2090-\\\\u209C\\\\u2102\\\\u2107\\\\u210A-\\\\u2113\\\\u2115\\\\u2119-\\\\u211D\\\\u2124\\\\u2126\\\\u2128]|[\\\\u212A-\\\\u212D\\\\u212F-\\\\u2139\\\\u213C-\\\\u213F\\\\u2145-\\\\u2149\\\\u214E\\\\u2183\\\\u2184]|[\\\\u2C00-\\\\u2C2E\\\\u2C30-\\\\u2C5E\\\\u2C60-\\\\u2CE4\\\\u2CEB-\\\\u2CEE\\\\u2CF2\\\\u2CF3]|[\\\\u2D00-\\\\u2D25\\\\u2D27\\\\u2D2D\\\\u2D30-\\\\u2D67\\\\u2D6F\\\\u2D80-\\\\u2D96\\\\u2DA0-\\\\u2DA6]|[\\\\u2DA8-\\\\u2DAE\\\\u2DB0-\\\\u2DB6\\\\u2DB8-\\\\u2DBE\\\\u2DC0-\\\\u2DC6\\\\u2DC8-\\\\u2DCE]|[\\\\u2DD0-\\\\u2DD6\\\\u2DD8-\\\\u2DDE\\\\u2E2F\\\\u3005\\\\u3006\\\\u3031-\\\\u3035\\\\u303B\\\\u303C]|[\\\\u3041-\\\\u3096\\\\u309D-\\\\u309F\\\\u30A1-\\\\u30FA\\\\u30FC-\\\\u30FF\\\\u3105-\\\\u312D]|[\\\\u3131-\\\\u318E\\\\u31A0-\\\\u31BA\\\\u31F0-\\\\u31FF\\\\u3400-\\\\u4DB5\\\\u4E00-\\\\u9FCC]|[\\\\uA000-\\\\uA48C\\\\uA4D0-\\\\uA4FD\\\\uA500-\\\\uA60C\\\\uA610-\\\\uA61F\\\\uA62A\\\\uA62B]|[\\\\uA640-\\\\uA66E\\\\uA67F-\\\\uA697\\\\uA6A0-\\\\uA6E5\\\\uA717-\\\\uA71F\\\\uA722-\\\\uA788]|[\\\\uA78B-\\\\uA78E\\\\uA790-\\\\uA793\\\\uA7A0-\\\\uA7AA\\\\uA7F8-\\\\uA801\\\\uA803-\\\\uA805]|[\\\\uA807-\\\\uA80A\\\\uA80C-\\\\uA822\\\\uA840-\\\\uA873\\\\uA882-\\\\uA8B3\\\\uA8F2-\\\\uA8F7\\\\uA8FB]|[\\\\uA90A-\\\\uA925\\\\uA930-\\\\uA946\\\\uA960-\\\\uA97C\\\\uA984-\\\\uA9B2\\\\uA9CF\\\\uAA00-\\\\uAA28]|[\\\\uAA40-\\\\uAA42\\\\uAA44-\\\\uAA4B\\\\uAA60-\\\\uAA76\\\\uAA7A\\\\uAA80-\\\\uAAAF\\\\uAAB1\\\\uAAB5]|[\\\\uAAB6\\\\uAAB9-\\\\uAABD\\\\uAAC0\\\\uAAC2\\\\uAADB-\\\\uAADD\\\\uAAE0-\\\\uAAEA\\\\uAAF2-\\\\uAAF4]|[\\\\uAB01-\\\\uAB06\\\\uAB09-\\\\uAB0E\\\\uAB11-\\\\uAB16\\\\uAB20-\\\\uAB26\\\\uAB28-\\\\uAB2E]|[\\\\uABC0-\\\\uABE2\\\\uAC00-\\\\uD7A3\\\\uD7B0-\\\\uD7C6\\\\uD7CB-\\\\uD7FB\\\\uF900-\\\\uFA6D]|[\\\\uFA70-\\\\uFAD9\\\\uFB00-\\\\uFB06\\\\uFB13-\\\\uFB17\\\\uFB1D\\\\uFB1F-\\\\uFB28\\\\uFB2A-\\\\uFB36]|[\\\\uFB38-\\\\uFB3C\\\\uFB3E\\\\uFB40\\\\uFB41\\\\uFB43\\\\uFB44\\\\uFB46-\\\\uFBB1\\\\uFBD3-\\\\uFD3D]|[\\\\uFD50-\\\\uFD8F\\\\uFD92-\\\\uFDC7\\\\uFDF0-\\\\uFDFB\\\\uFE70-\\\\uFE74\\\\uFE76-\\\\uFEFC]|[\\\\uFF21-\\\\uFF3A\\\\uFF41-\\\\uFF5A\\\\uFF66-\\\\uFFBE\\\\uFFC2-\\\\uFFC7\\\\uFFCA-\\\\uFFCF]|[\\\\uFFD2-\\\\uFFD7\\\\uFFDA-\\\\uFFDC])/,/^(?:\\\\s)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},callback_args:{rules:[54,55],inclusive:!1},callback_name:{rules:[51,52,53],inclusive:!1},href:{rules:[48,49],inclusive:!1},struct:{rules:[23,24,25,26,27,28],inclusive:!1},generic:{rules:[39,40],inclusive:!1},bqstring:{rules:[45,46],inclusive:!1},string:{rules:[42,43],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,29,30,31,32,33,34,35,36,37,38,41,44,47,50,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],inclusive:!0}}};return F}();P.lexer=z;function X(){this.yy={}}return X.prototype=P,P.Parser=X,new X}();F1.parser=F1;const Dg=F1,MC=(t,e)=>{var r;return((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)===\\\"dagre-wrapper\\\"?!1:t.match(/^\\\\s*classDiagram/)!==null},NC=(t,e)=>{var r;return t.match(/^\\\\s*classDiagram/)!==null&&((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)===\\\"dagre-wrapper\\\"?!0:t.match(/^\\\\s*classDiagram-v2/)!==null},P1=\\\"classid-\\\";let Y1=[],Ke={},Wc=[],Mg=0,ko=[];const wo=t=>he.sanitizeText(t,$()),BC=function(t,e,r){ze.parseDirective(this,t,e,r)},To=function(t){let e=\\\"\\\",r=t;if(t.indexOf(\\\"~\\\")>0){let n=t.split(\\\"~\\\");r=n[0],e=he.sanitizeText(n[1],$())}return{className:r,type:e}},V1=function(t){let e=To(t);Ke[e.className]===void 0&&(Ke[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:P1+e.className+\\\"-\\\"+Mg},Mg++)},Ng=function(t){const e=Object.keys(Ke);for(const r of e)if(Ke[r].id===t)return Ke[r].domId},IC=function(){Y1=[],Ke={},Wc=[],ko=[],ko.push(Ig),vn()},OC=function(t){return Ke[t]},RC=function(){return Ke},FC=function(){return Y1},PC=function(){return Wc},YC=function(t){B.debug(\\\"Adding relation: \\\"+JSON.stringify(t)),V1(t.id1),V1(t.id2),t.id1=To(t.id1).className,t.id2=To(t.id2).className,t.relationTitle1=he.sanitizeText(t.relationTitle1.trim(),$()),t.relationTitle2=he.sanitizeText(t.relationTitle2.trim(),$()),Y1.push(t)},VC=function(t,e){const r=To(t).className;Ke[r].annotations.push(e)},Bg=function(t,e){const r=To(t).className,n=Ke[r];if(typeof e==\\\"string\\\"){const i=e.trim();i.startsWith(\\\"\u003C\u003C\\\")&&i.endsWith(\\\">>\\\")?n.annotations.push(wo(i.substring(2,i.length-2))):i.indexOf(\\\")\\\")>0?n.methods.push(wo(i)):i&&n.members.push(wo(i))}},UC=function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(r=>Bg(t,r)))},zC=function(t,e){const r={id:`note${Wc.length}`,class:e,text:t};Wc.push(r)},WC=function(t){return t.substring(0,1)===\\\":\\\"?he.sanitizeText(t.substr(1).trim(),$()):wo(t.trim())},U1=function(t,e){t.split(\\\",\\\").forEach(function(r){let n=r;r[0].match(/\\\\d/)&&(n=P1+n),Ke[n]!==void 0&&Ke[n].cssClasses.push(e)})},HC=function(t,e){const r=$();t.split(\\\",\\\").forEach(function(n){e!==void 0&&(Ke[n].tooltip=he.sanitizeText(e,r))})},GC=function(t){return Ke[t].tooltip},qC=function(t,e,r){const n=$();t.split(\\\",\\\").forEach(function(i){let s=i;i[0].match(/\\\\d/)&&(s=P1+s),Ke[s]!==void 0&&(Ke[s].link=ge.formatUrl(e,n),n.securityLevel===\\\"sandbox\\\"?Ke[s].linkTarget=\\\"_top\\\":typeof r==\\\"string\\\"?Ke[s].linkTarget=wo(r):Ke[s].linkTarget=\\\"_blank\\\")}),U1(t,\\\"clickable\\\")},jC=function(t,e,r){t.split(\\\",\\\").forEach(function(n){$C(n,e,r),Ke[n].haveCallback=!0}),U1(t,\\\"clickable\\\")},$C=function(t,e,r){const n=$();let i=t,s=Ng(i);if(n.securityLevel===\\\"loose\\\"&&e!==void 0&&Ke[i]!==void 0){let a=[];if(typeof r==\\\"string\\\"){a=r.split(/,(?=(?:(?:[^\\\"]*\\\"){2})*[^\\\"]*$)/);for(let o=0;o\u003Ca.length;o++){let l=a[o].trim();l.charAt(0)==='\\\"'&&l.charAt(l.length-1)==='\\\"'&&(l=l.substr(1,l.length-2)),a[o]=l}}a.length===0&&a.push(s),ko.push(function(){const o=document.querySelector(`[id=\\\"${s}\\\"]`);o!==null&&o.addEventListener(\\\"click\\\",function(){ge.runFunc(e,...a)},!1)})}},XC=function(t){ko.forEach(function(e){e(t)})},KC={LINE:0,DOTTED_LINE:1},ZC={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},Ig=function(t){let e=St(\\\".mermaidTooltip\\\");(e._groups||e)[0][0]===null&&(e=St(\\\"body\\\").append(\\\"div\\\").attr(\\\"class\\\",\\\"mermaidTooltip\\\").style(\\\"opacity\\\",0)),St(t).select(\\\"svg\\\").selectAll(\\\"g.node\\\").on(\\\"mouseover\\\",function(){const i=St(this);if(i.attr(\\\"title\\\")===null)return;const a=this.getBoundingClientRect();e.transition().duration(200).style(\\\"opacity\\\",\\\".9\\\"),e.text(i.attr(\\\"title\\\")).style(\\\"left\\\",window.scrollX+a.left+(a.right-a.left)/2+\\\"px\\\").style(\\\"top\\\",window.scrollY+a.top-14+document.body.scrollTop+\\\"px\\\"),e.html(e.html().replace(/<br\\\\/>/g,\\\"\u003Cbr/>\\\")),i.classed(\\\"hover\\\",!0)}).on(\\\"mouseout\\\",function(){e.transition().duration(500).style(\\\"opacity\\\",0),St(this).classed(\\\"hover\\\",!1)})};ko.push(Ig);let Og=\\\"TB\\\";const fa={parseDirective:BC,setAccTitle:nn,getAccTitle:kn,getAccDescription:Tn,setAccDescription:wn,getConfig:()=>$().class,addClass:V1,bindFunctions:XC,clear:IC,getClass:OC,getClasses:RC,getNotes:PC,addAnnotation:VC,addNote:zC,getRelations:FC,addRelation:YC,getDirection:()=>Og,setDirection:t=>{Og=t},addMember:Bg,addMembers:UC,cleanupLabel:WC,lineType:KC,relationType:ZC,setClickEvent:jC,setCssClass:U1,setLink:qC,getTooltip:GC,setTooltip:HC,lookUpDomId:Ng,setDiagramTitle:hi,getDiagramTitle:di};function Hn(t){return t!=null&&typeof t==\\\"object\\\"}var QC=\\\"[object Symbol]\\\";function ks(t){return typeof t==\\\"symbol\\\"||Hn(t)&&ps(t)==QC}function pa(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r\u003Cn;)i[r]=e(t[r],r,t);return i}var JC=Array.isArray;const nr=JC;var t9=1/0,Rg=en?en.prototype:void 0,Fg=Rg?Rg.toString:void 0;function Pg(t){if(typeof t==\\\"string\\\")return t;if(nr(t))return pa(t,Pg)+\\\"\\\";if(ks(t))return Fg?Fg.call(t):\\\"\\\";var e=t+\\\"\\\";return e==\\\"0\\\"&&1/t==-t9?\\\"-0\\\":e}var e9=/\\\\s/;function r9(t){for(var e=t.length;e--&&e9.test(t.charAt(e)););return e}var n9=/^\\\\s+/;function i9(t){return t&&t.slice(0,r9(t)+1).replace(n9,\\\"\\\")}var Yg=0/0,s9=/^[-+]0x[0-9a-f]+$/i,a9=/^0b[01]+$/i,o9=/^0o[0-7]+$/i,l9=parseInt;function c9(t){if(typeof t==\\\"number\\\")return t;if(ks(t))return Yg;if(Gr(t)){var e=typeof t.valueOf==\\\"function\\\"?t.valueOf():t;t=Gr(e)?e+\\\"\\\":e}if(typeof t!=\\\"string\\\")return t===0?t:+t;t=i9(t);var r=a9.test(t);return r||o9.test(t)?l9(t.slice(2),r?2:8):s9.test(t)?Yg:+t}var Vg=1/0,u9=17976931348623157e292;function Hc(t){if(!t)return t===0?t:0;if(t=c9(t),t===Vg||t===-Vg){var e=t\u003C0?-1:1;return e*u9}return t===t?t:0}function h9(t){var e=Hc(t),r=e%1;return e===e?r?e-r:e:0}function ws(t){return t}var d9=ys(mn,\\\"WeakMap\\\");const z1=d9;var Ug=Object.create,f9=function(){function t(){}return function(e){if(!Gr(e))return{};if(Ug)return Ug(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();const p9=f9;function g9(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function y9(){}function zg(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r\u003Cn;)e[r]=t[r];return e}var m9=800,b9=16,_9=Date.now;function x9(t){var e=0,r=0;return function(){var n=_9(),i=b9-(n-r);if(r=n,i>0){if(++e>=m9)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function ga(t){return function(){return t}}var v9=function(){try{var t=ys(Object,\\\"defineProperty\\\");return t({},\\\"\\\",{}),t}catch{}}();const Gc=v9;var k9=Gc?function(t,e){return Gc(t,\\\"toString\\\",{configurable:!0,enumerable:!1,value:ga(e),writable:!0})}:ws,w9=x9(k9);const Wg=w9;function Hg(t,e){for(var r=-1,n=t==null?0:t.length;++r\u003Cn&&e(t[r],r,t)!==!1;);return t}function Gg(t,e,r,n){for(var i=t.length,s=r+(n?1:-1);n?s--:++s\u003Ci;)if(e(t[s],s,t))return s;return-1}function T9(t){return t!==t}function E9(t,e,r){for(var n=r-1,i=t.length;++n\u003Ci;)if(t[n]===e)return n;return-1}function C9(t,e,r){return e===e?E9(t,e,r):Gg(t,T9,r)}function S9(t,e){var r=t==null?0:t.length;return!!r&&C9(t,e,0)>-1}var A9=9007199254740991,L9=/^(?:0|[1-9]\\\\d*)$/;function qc(t,e){var r=typeof t;return e=e==null?A9:e,!!e&&(r==\\\"number\\\"||r!=\\\"symbol\\\"&&L9.test(t))&&t>-1&&t%1==0&&t\u003Ce}function jc(t,e,r){e==\\\"__proto__\\\"&&Gc?Gc(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var D9=Object.prototype,M9=D9.hasOwnProperty;function $c(t,e,r){var n=t[e];(!(M9.call(t,e)&&oa(n,r))||r===void 0&&!(e in t))&&jc(t,e,r)}function Eo(t,e,r,n){var i=!r;r||(r={});for(var s=-1,a=e.length;++s\u003Ca;){var o=e[s],l=n?n(r[o],t[o],o,r,t):void 0;l===void 0&&(l=t[o]),i?jc(r,o,l):$c(r,o,l)}return r}var qg=Math.max;function jg(t,e,r){return e=qg(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,s=qg(n.length-e,0),a=Array(s);++i\u003Cs;)a[i]=n[e+i];i=-1;for(var o=Array(e+1);++i\u003Ce;)o[i]=n[i];return o[e]=r(a),g9(t,this,o)}}function Xc(t,e){return Wg(jg(t,e,ws),t+\\\"\\\")}var N9=9007199254740991;function W1(t){return typeof t==\\\"number\\\"&&t>-1&&t%1==0&&t\u003C=N9}function Hi(t){return t!=null&&W1(t.length)&&!aa(t)}function Co(t,e,r){if(!Gr(r))return!1;var n=typeof e;return(n==\\\"number\\\"?Hi(r)&&qc(e,r.length):n==\\\"string\\\"&&e in r)?oa(r[e],t):!1}function B9(t){return Xc(function(e,r){var n=-1,i=r.length,s=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(s=t.length>3&&typeof s==\\\"function\\\"?(i--,s):void 0,a&&Co(r[0],r[1],a)&&(s=i\u003C3?void 0:s,i=1),e=Object(e);++n\u003Ci;){var o=r[n];o&&t(e,o,n,s)}return e})}var I9=Object.prototype;function Kc(t){var e=t&&t.constructor,r=typeof e==\\\"function\\\"&&e.prototype||I9;return t===r}function O9(t,e){for(var r=-1,n=Array(t);++r\u003Ct;)n[r]=e(r);return n}var R9=\\\"[object Arguments]\\\";function $g(t){return Hn(t)&&ps(t)==R9}var Xg=Object.prototype,F9=Xg.hasOwnProperty,P9=Xg.propertyIsEnumerable,Y9=$g(function(){return arguments}())?$g:function(t){return Hn(t)&&F9.call(t,\\\"callee\\\")&&!P9.call(t,\\\"callee\\\")};const ya=Y9;function V9(){return!1}var Kg=typeof exports==\\\"object\\\"&&exports&&!exports.nodeType&&exports,Zg=Kg&&typeof module==\\\"object\\\"&&module&&!module.nodeType&&module,U9=Zg&&Zg.exports===Kg,Qg=U9?mn.Buffer:void 0,z9=Qg?Qg.isBuffer:void 0,W9=z9||V9;const ma=W9;var H9=\\\"[object Arguments]\\\",G9=\\\"[object Array]\\\",q9=\\\"[object Boolean]\\\",j9=\\\"[object Date]\\\",$9=\\\"[object Error]\\\",X9=\\\"[object Function]\\\",K9=\\\"[object Map]\\\",Z9=\\\"[object Number]\\\",Q9=\\\"[object Object]\\\",J9=\\\"[object RegExp]\\\",tS=\\\"[object Set]\\\",eS=\\\"[object String]\\\",rS=\\\"[object WeakMap]\\\",nS=\\\"[object ArrayBuffer]\\\",iS=\\\"[object DataView]\\\",sS=\\\"[object Float32Array]\\\",aS=\\\"[object Float64Array]\\\",oS=\\\"[object Int8Array]\\\",lS=\\\"[object Int16Array]\\\",cS=\\\"[object Int32Array]\\\",uS=\\\"[object Uint8Array]\\\",hS=\\\"[object Uint8ClampedArray]\\\",dS=\\\"[object Uint16Array]\\\",fS=\\\"[object Uint32Array]\\\",Fe={};Fe[sS]=Fe[aS]=Fe[oS]=Fe[lS]=Fe[cS]=Fe[uS]=Fe[hS]=Fe[dS]=Fe[fS]=!0,Fe[H9]=Fe[G9]=Fe[nS]=Fe[q9]=Fe[iS]=Fe[j9]=Fe[$9]=Fe[X9]=Fe[K9]=Fe[Z9]=Fe[Q9]=Fe[J9]=Fe[tS]=Fe[eS]=Fe[rS]=!1;function pS(t){return Hn(t)&&W1(t.length)&&!!Fe[ps(t)]}function Zc(t){return function(e){return t(e)}}var Jg=typeof exports==\\\"object\\\"&&exports&&!exports.nodeType&&exports,So=Jg&&typeof module==\\\"object\\\"&&module&&!module.nodeType&&module,gS=So&&So.exports===Jg,H1=gS&&Dp.process,yS=function(){try{var t=So&&So.require&&So.require(\\\"util\\\").types;return t||H1&&H1.binding&&H1.binding(\\\"util\\\")}catch{}}();const ba=yS;var ty=ba&&ba.isTypedArray,mS=ty?Zc(ty):pS;const Qc=mS;var bS=Object.prototype,_S=bS.hasOwnProperty;function ey(t,e){var r=nr(t),n=!r&&ya(t),i=!r&&!n&&ma(t),s=!r&&!n&&!i&&Qc(t),a=r||n||i||s,o=a?O9(t.length,String):[],l=o.length;for(var u in t)(e||_S.call(t,u))&&!(a&&(u==\\\"length\\\"||i&&(u==\\\"offset\\\"||u==\\\"parent\\\")||s&&(u==\\\"buffer\\\"||u==\\\"byteLength\\\"||u==\\\"byteOffset\\\")||qc(u,l)))&&o.push(u);return o}function ry(t,e){return function(r){return t(e(r))}}var xS=ry(Object.keys,Object);const vS=xS;var kS=Object.prototype,wS=kS.hasOwnProperty;function ny(t){if(!Kc(t))return vS(t);var e=[];for(var r in Object(t))wS.call(t,r)&&r!=\\\"constructor\\\"&&e.push(r);return e}function jr(t){return Hi(t)?ey(t):ny(t)}function TS(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var ES=Object.prototype,CS=ES.hasOwnProperty;function SS(t){if(!Gr(t))return TS(t);var e=Kc(t),r=[];for(var n in t)n==\\\"constructor\\\"&&(e||!CS.call(t,n))||r.push(n);return r}function Ts(t){return Hi(t)?ey(t,!0):SS(t)}var AS=/\\\\.|\\\\[(?:[^[\\\\]]*|([\\\"'])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\.)*?\\\\1)\\\\]/,LS=/^\\\\w*$/;function G1(t,e){if(nr(t))return!1;var r=typeof t;return r==\\\"number\\\"||r==\\\"symbol\\\"||r==\\\"boolean\\\"||t==null||ks(t)?!0:LS.test(t)||!AS.test(t)||e!=null&&t in Object(e)}var DS=500;function MS(t){var e=la(t,function(n){return r.size===DS&&r.clear(),n}),r=e.cache;return e}var NS=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))/g,BS=/\\\\\\\\(\\\\\\\\)?/g,IS=MS(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(\\\"\\\"),t.replace(NS,function(r,n,i,s){e.push(i?s.replace(BS,\\\"$1\\\"):n||r)}),e});const OS=IS;function iy(t){return t==null?\\\"\\\":Pg(t)}function Jc(t,e){return nr(t)?t:G1(t,e)?[t]:OS(iy(t))}var RS=1/0;function Ao(t){if(typeof t==\\\"string\\\"||ks(t))return t;var e=t+\\\"\\\";return e==\\\"0\\\"&&1/t==-RS?\\\"-0\\\":e}function tu(t,e){e=Jc(e,t);for(var r=0,n=e.length;t!=null&&r\u003Cn;)t=t[Ao(e[r++])];return r&&r==n?t:void 0}function FS(t,e,r){var n=t==null?void 0:tu(t,e);return n===void 0?r:n}function q1(t,e){for(var r=-1,n=e.length,i=t.length;++r\u003Cn;)t[i+r]=e[r];return t}var sy=en?en.isConcatSpreadable:void 0;function PS(t){return nr(t)||ya(t)||!!(sy&&t&&t[sy])}function eu(t,e,r,n,i){var s=-1,a=t.length;for(r||(r=PS),i||(i=[]);++s\u003Ca;){var o=t[s];e>0&&r(o)?e>1?eu(o,e-1,r,n,i):q1(i,o):n||(i[i.length]=o)}return i}function _a(t){var e=t==null?0:t.length;return e?eu(t,1):[]}function YS(t){return Wg(jg(t,void 0,_a),t+\\\"\\\")}var VS=ry(Object.getPrototypeOf,Object);const j1=VS;var US=\\\"[object Object]\\\",zS=Function.prototype,WS=Object.prototype,ay=zS.toString,HS=WS.hasOwnProperty,GS=ay.call(Object);function oy(t){if(!Hn(t)||ps(t)!=US)return!1;var e=j1(t);if(e===null)return!0;var r=HS.call(e,\\\"constructor\\\")&&e.constructor;return typeof r==\\\"function\\\"&&r instanceof r&&ay.call(r)==GS}function qS(t,e,r,n){var i=-1,s=t==null?0:t.length;for(n&&s&&(r=t[++i]);++i\u003Cs;)r=e(r,t[i],i,t);return r}function jS(){this.__data__=new ci,this.size=0}function $S(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}function XS(t){return this.__data__.get(t)}function KS(t){return this.__data__.has(t)}var ZS=200;function QS(t,e){var r=this.__data__;if(r instanceof ci){var n=r.__data__;if(!uo||n.length\u003CZS-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new ui(n)}return r.set(t,e),this.size=r.size,this}function An(t){var e=this.__data__=new ci(t);this.size=e.size}An.prototype.clear=jS,An.prototype.delete=$S,An.prototype.get=XS,An.prototype.has=KS,An.prototype.set=QS;function JS(t,e){return t&&Eo(e,jr(e),t)}function tA(t,e){return t&&Eo(e,Ts(e),t)}var ly=typeof exports==\\\"object\\\"&&exports&&!exports.nodeType&&exports,cy=ly&&typeof module==\\\"object\\\"&&module&&!module.nodeType&&module,eA=cy&&cy.exports===ly,uy=eA?mn.Buffer:void 0,hy=uy?uy.allocUnsafe:void 0;function dy(t,e){if(e)return t.slice();var r=t.length,n=hy?hy(r):new t.constructor(r);return t.copy(n),n}function fy(t,e){for(var r=-1,n=t==null?0:t.length,i=0,s=[];++r\u003Cn;){var a=t[r];e(a,r,t)&&(s[i++]=a)}return s}function py(){return[]}var rA=Object.prototype,nA=rA.propertyIsEnumerable,gy=Object.getOwnPropertySymbols,iA=gy?function(t){return t==null?[]:(t=Object(t),fy(gy(t),function(e){return nA.call(t,e)}))}:py;const $1=iA;function sA(t,e){return Eo(t,$1(t),e)}var aA=Object.getOwnPropertySymbols,oA=aA?function(t){for(var e=[];t;)q1(e,$1(t)),t=j1(t);return e}:py;const yy=oA;function lA(t,e){return Eo(t,yy(t),e)}function my(t,e,r){var n=e(t);return nr(t)?n:q1(n,r(t))}function X1(t){return my(t,jr,$1)}function cA(t){return my(t,Ts,yy)}var uA=ys(mn,\\\"DataView\\\");const K1=uA;var hA=ys(mn,\\\"Promise\\\");const Z1=hA;var dA=ys(mn,\\\"Set\\\");const xa=dA;var by=\\\"[object Map]\\\",fA=\\\"[object Object]\\\",_y=\\\"[object Promise]\\\",xy=\\\"[object Set]\\\",vy=\\\"[object WeakMap]\\\",ky=\\\"[object DataView]\\\",pA=gs(K1),gA=gs(uo),yA=gs(Z1),mA=gs(xa),bA=gs(z1),Es=ps;(K1&&Es(new K1(new ArrayBuffer(1)))!=ky||uo&&Es(new uo)!=by||Z1&&Es(Z1.resolve())!=_y||xa&&Es(new xa)!=xy||z1&&Es(new z1)!=vy)&&(Es=function(t){var e=ps(t),r=e==fA?t.constructor:void 0,n=r?gs(r):\\\"\\\";if(n)switch(n){case pA:return ky;case gA:return by;case yA:return _y;case mA:return xy;case bA:return vy}return e});const va=Es;var _A=Object.prototype,xA=_A.hasOwnProperty;function vA(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]==\\\"string\\\"&&xA.call(t,\\\"index\\\")&&(r.index=t.index,r.input=t.input),r}var kA=mn.Uint8Array;const ru=kA;function Q1(t){var e=new t.constructor(t.byteLength);return new ru(e).set(new ru(t)),e}function wA(t,e){var r=e?Q1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var TA=/\\\\w*$/;function EA(t){var e=new t.constructor(t.source,TA.exec(t));return e.lastIndex=t.lastIndex,e}var wy=en?en.prototype:void 0,Ty=wy?wy.valueOf:void 0;function CA(t){return Ty?Object(Ty.call(t)):{}}function Ey(t,e){var r=e?Q1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var SA=\\\"[object Boolean]\\\",AA=\\\"[object Date]\\\",LA=\\\"[object Map]\\\",DA=\\\"[object Number]\\\",MA=\\\"[object RegExp]\\\",NA=\\\"[object Set]\\\",BA=\\\"[object String]\\\",IA=\\\"[object Symbol]\\\",OA=\\\"[object ArrayBuffer]\\\",RA=\\\"[object DataView]\\\",FA=\\\"[object Float32Array]\\\",PA=\\\"[object Float64Array]\\\",YA=\\\"[object Int8Array]\\\",VA=\\\"[object Int16Array]\\\",UA=\\\"[object Int32Array]\\\",zA=\\\"[object Uint8Array]\\\",WA=\\\"[object Uint8ClampedArray]\\\",HA=\\\"[object Uint16Array]\\\",GA=\\\"[object Uint32Array]\\\";function qA(t,e,r){var n=t.constructor;switch(e){case OA:return Q1(t);case SA:case AA:return new n(+t);case RA:return wA(t,r);case FA:case PA:case YA:case VA:case UA:case zA:case WA:case HA:case GA:return Ey(t,r);case LA:return new n;case DA:case BA:return new n(t);case MA:return EA(t);case NA:return new n;case IA:return CA(t)}}function Cy(t){return typeof t.constructor==\\\"function\\\"&&!Kc(t)?p9(j1(t)):{}}var jA=\\\"[object Map]\\\";function $A(t){return Hn(t)&&va(t)==jA}var Sy=ba&&ba.isMap,XA=Sy?Zc(Sy):$A;const KA=XA;var ZA=\\\"[object Set]\\\";function QA(t){return Hn(t)&&va(t)==ZA}var Ay=ba&&ba.isSet,JA=Ay?Zc(Ay):QA;const tL=JA;var eL=1,rL=2,nL=4,Ly=\\\"[object Arguments]\\\",iL=\\\"[object Array]\\\",sL=\\\"[object Boolean]\\\",aL=\\\"[object Date]\\\",oL=\\\"[object Error]\\\",Dy=\\\"[object Function]\\\",lL=\\\"[object GeneratorFunction]\\\",cL=\\\"[object Map]\\\",uL=\\\"[object Number]\\\",My=\\\"[object Object]\\\",hL=\\\"[object RegExp]\\\",dL=\\\"[object Set]\\\",fL=\\\"[object String]\\\",pL=\\\"[object Symbol]\\\",gL=\\\"[object WeakMap]\\\",yL=\\\"[object ArrayBuffer]\\\",mL=\\\"[object DataView]\\\",bL=\\\"[object Float32Array]\\\",_L=\\\"[object Float64Array]\\\",xL=\\\"[object Int8Array]\\\",vL=\\\"[object Int16Array]\\\",kL=\\\"[object Int32Array]\\\",wL=\\\"[object Uint8Array]\\\",TL=\\\"[object Uint8ClampedArray]\\\",EL=\\\"[object Uint16Array]\\\",CL=\\\"[object Uint32Array]\\\",Oe={};Oe[Ly]=Oe[iL]=Oe[yL]=Oe[mL]=Oe[sL]=Oe[aL]=Oe[bL]=Oe[_L]=Oe[xL]=Oe[vL]=Oe[kL]=Oe[cL]=Oe[uL]=Oe[My]=Oe[hL]=Oe[dL]=Oe[fL]=Oe[pL]=Oe[wL]=Oe[TL]=Oe[EL]=Oe[CL]=!0,Oe[oL]=Oe[Dy]=Oe[gL]=!1;function Lo(t,e,r,n,i,s){var a,o=e&eL,l=e&rL,u=e&nL;if(r&&(a=i?r(t,n,i,s):r(t)),a!==void 0)return a;if(!Gr(t))return t;var d=nr(t);if(d){if(a=vA(t),!o)return zg(t,a)}else{var f=va(t),p=f==Dy||f==lL;if(ma(t))return dy(t,o);if(f==My||f==Ly||p&&!i){if(a=l||p?{}:Cy(t),!o)return l?lA(t,tA(a,t)):sA(t,JS(a,t))}else{if(!Oe[f])return i?t:{};a=qA(t,f,o)}}s||(s=new An);var g=s.get(t);if(g)return g;s.set(t,a),tL(t)?t.forEach(function(T){a.add(Lo(T,e,r,T,t,s))}):KA(t)&&t.forEach(function(T,L){a.set(L,Lo(T,e,r,L,t,s))});var b=u?l?cA:X1:l?Ts:jr,k=d?void 0:b(t);return Hg(k||t,function(T,L){k&&(L=T,T=t[L]),$c(a,L,Lo(T,e,r,L,t,s))}),a}var SL=4;function AL(t){return Lo(t,SL)}var LL=1,DL=4;function ML(t){return Lo(t,LL|DL)}var NL=\\\"__lodash_hash_undefined__\\\";function BL(t){return this.__data__.set(t,NL),this}function IL(t){return this.__data__.has(t)}function Do(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new ui;++e\u003Cr;)this.add(t[e])}Do.prototype.add=Do.prototype.push=BL,Do.prototype.has=IL;function OL(t,e){for(var r=-1,n=t==null?0:t.length;++r\u003Cn;)if(e(t[r],r,t))return!0;return!1}function Ny(t,e){return t.has(e)}var RL=1,FL=2;function By(t,e,r,n,i,s){var a=r&RL,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),d=s.get(e);if(u&&d)return u==e&&d==t;var f=-1,p=!0,g=r&FL?new Do:void 0;for(s.set(t,e),s.set(e,t);++f\u003Co;){var b=t[f],k=e[f];if(n)var T=a?n(k,b,f,e,t,s):n(b,k,f,t,e,s);if(T!==void 0){if(T)continue;p=!1;break}if(g){if(!OL(e,function(L,E){if(!Ny(g,E)&&(b===L||i(b,L,r,n,s)))return g.push(E)})){p=!1;break}}else if(!(b===k||i(b,k,r,n,s))){p=!1;break}}return s.delete(t),s.delete(e),p}function PL(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}function J1(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var YL=1,VL=2,UL=\\\"[object Boolean]\\\",zL=\\\"[object Date]\\\",WL=\\\"[object Error]\\\",HL=\\\"[object Map]\\\",GL=\\\"[object Number]\\\",qL=\\\"[object RegExp]\\\",jL=\\\"[object Set]\\\",$L=\\\"[object String]\\\",XL=\\\"[object Symbol]\\\",KL=\\\"[object ArrayBuffer]\\\",ZL=\\\"[object DataView]\\\",Iy=en?en.prototype:void 0,t0=Iy?Iy.valueOf:void 0;function QL(t,e,r,n,i,s,a){switch(r){case ZL:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case KL:return!(t.byteLength!=e.byteLength||!s(new ru(t),new ru(e)));case UL:case zL:case GL:return oa(+t,+e);case WL:return t.name==e.name&&t.message==e.message;case qL:case $L:return t==e+\\\"\\\";case HL:var o=PL;case jL:var l=n&YL;if(o||(o=J1),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;n|=VL,a.set(t,e);var d=By(o(t),o(e),n,i,s,a);return a.delete(t),d;case XL:if(t0)return t0.call(t)==t0.call(e)}return!1}var JL=1,tD=Object.prototype,eD=tD.hasOwnProperty;function rD(t,e,r,n,i,s){var a=r&JL,o=X1(t),l=o.length,u=X1(e),d=u.length;if(l!=d&&!a)return!1;for(var f=l;f--;){var p=o[f];if(!(a?p in e:eD.call(e,p)))return!1}var g=s.get(t),b=s.get(e);if(g&&b)return g==e&&b==t;var k=!0;s.set(t,e),s.set(e,t);for(var T=a;++f\u003Cl;){p=o[f];var L=t[p],E=e[p];if(n)var I=a?n(E,L,p,e,t,s):n(L,E,p,t,e,s);if(!(I===void 0?L===E||i(L,E,r,n,s):I)){k=!1;break}T||(T=p==\\\"constructor\\\")}if(k&&!T){var V=t.constructor,H=e.constructor;V!=H&&\\\"constructor\\\"in t&&\\\"constructor\\\"in e&&!(typeof V==\\\"function\\\"&&V instanceof V&&typeof H==\\\"function\\\"&&H instanceof H)&&(k=!1)}return s.delete(t),s.delete(e),k}var nD=1,Oy=\\\"[object Arguments]\\\",Ry=\\\"[object Array]\\\",nu=\\\"[object Object]\\\",iD=Object.prototype,Fy=iD.hasOwnProperty;function sD(t,e,r,n,i,s){var a=nr(t),o=nr(e),l=a?Ry:va(t),u=o?Ry:va(e);l=l==Oy?nu:l,u=u==Oy?nu:u;var d=l==nu,f=u==nu,p=l==u;if(p&&ma(t)){if(!ma(e))return!1;a=!0,d=!1}if(p&&!d)return s||(s=new An),a||Qc(t)?By(t,e,r,n,i,s):QL(t,e,l,r,n,i,s);if(!(r&nD)){var g=d&&Fy.call(t,\\\"__wrapped__\\\"),b=f&&Fy.call(e,\\\"__wrapped__\\\");if(g||b){var k=g?t.value():t,T=b?e.value():e;return s||(s=new An),i(k,T,r,n,s)}}return p?(s||(s=new An),rD(t,e,r,n,i,s)):!1}function e0(t,e,r,n,i){return t===e?!0:t==null||e==null||!Hn(t)&&!Hn(e)?t!==t&&e!==e:sD(t,e,r,n,e0,i)}var aD=1,oD=2;function lD(t,e,r,n){var i=r.length,s=i,a=!n;if(t==null)return!s;for(t=Object(t);i--;){var o=r[i];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i\u003Cs;){o=r[i];var l=o[0],u=t[l],d=o[1];if(a&&o[2]){if(u===void 0&&!(l in t))return!1}else{var f=new An;if(n)var p=n(u,d,l,t,e,f);if(!(p===void 0?e0(d,u,aD|oD,n,f):p))return!1}}return!0}function Py(t){return t===t&&!Gr(t)}function cD(t){for(var e=jr(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Py(i)]}return e}function Yy(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}function uD(t){var e=cD(t);return e.length==1&&e[0][2]?Yy(e[0][0],e[0][1]):function(r){return r===t||lD(r,t,e)}}function hD(t,e){return t!=null&&e in Object(t)}function Vy(t,e,r){e=Jc(e,t);for(var n=-1,i=e.length,s=!1;++n\u003Ci;){var a=Ao(e[n]);if(!(s=t!=null&&r(t,a)))break;t=t[a]}return s||++n!=i?s:(i=t==null?0:t.length,!!i&&W1(i)&&qc(a,i)&&(nr(t)||ya(t)))}function Uy(t,e){return t!=null&&Vy(t,e,hD)}var dD=1,fD=2;function pD(t,e){return G1(t)&&Py(e)?Yy(Ao(t),e):function(r){var n=FS(r,t);return n===void 0&&n===e?Uy(r,t):e0(e,n,dD|fD)}}function gD(t){return function(e){return e==null?void 0:e[t]}}function yD(t){return function(e){return tu(e,t)}}function mD(t){return G1(t)?gD(Ao(t)):yD(t)}function Gi(t){return typeof t==\\\"function\\\"?t:t==null?ws:typeof t==\\\"object\\\"?nr(t)?pD(t[0],t[1]):uD(t):mD(t)}function bD(t){return function(e,r,n){for(var i=-1,s=Object(e),a=n(e),o=a.length;o--;){var l=a[t?o:++i];if(r(s[l],l,s)===!1)break}return e}}var _D=bD();const r0=_D;function zy(t,e){return t&&r0(t,e,jr)}function xD(t,e){return function(r,n){if(r==null)return r;if(!Hi(r))return t(r,n);for(var i=r.length,s=e?i:-1,a=Object(r);(e?s--:++s\u003Ci)&&n(a[s],s,a)!==!1;);return r}}var vD=xD(zy);const iu=vD;var kD=function(){return mn.Date.now()};const Wy=kD;var Hy=Object.prototype,wD=Hy.hasOwnProperty,TD=Xc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Co(e[0],e[1],i)&&(n=1);++r\u003Cn;)for(var s=e[r],a=Ts(s),o=-1,l=a.length;++o\u003Cl;){var u=a[o],d=t[u];(d===void 0||oa(d,Hy[u])&&!wD.call(t,u))&&(t[u]=s[u])}return t});const ka=TD;function n0(t,e,r){(r!==void 0&&!oa(t[e],r)||r===void 0&&!(e in t))&&jc(t,e,r)}function Gy(t){return Hn(t)&&Hi(t)}function i0(t,e){if(!(e===\\\"constructor\\\"&&typeof t[e]==\\\"function\\\")&&e!=\\\"__proto__\\\")return t[e]}function ED(t){return Eo(t,Ts(t))}function CD(t,e,r,n,i,s,a){var o=i0(t,r),l=i0(e,r),u=a.get(l);if(u){n0(t,r,u);return}var d=s?s(o,l,r+\\\"\\\",t,e,a):void 0,f=d===void 0;if(f){var p=nr(l),g=!p&&ma(l),b=!p&&!g&&Qc(l);d=l,p||g||b?nr(o)?d=o:Gy(o)?d=zg(o):g?(f=!1,d=dy(l,!0)):b?(f=!1,d=Ey(l,!0)):d=[]:oy(l)||ya(l)?(d=o,ya(o)?d=ED(o):(!Gr(o)||aa(o))&&(d=Cy(l))):f=!1}f&&(a.set(l,d),i(d,l,n,s,a),a.delete(l)),n0(t,r,d)}function qy(t,e,r,n,i){t!==e&&r0(e,function(s,a){if(i||(i=new An),Gr(s))CD(t,e,a,r,qy,n,i);else{var o=n?n(i0(t,a),s,a+\\\"\\\",t,e,i):void 0;o===void 0&&(o=s),n0(t,a,o)}},Ts)}function SD(t,e,r){for(var n=-1,i=t==null?0:t.length;++n\u003Ci;)if(r(e,t[n]))return!0;return!1}function su(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function jy(t){return typeof t==\\\"function\\\"?t:ws}function vt(t,e){var r=nr(t)?Hg:iu;return r(t,jy(e))}function AD(t,e){var r=[];return iu(t,function(n,i,s){e(n,i,s)&&r.push(n)}),r}function pi(t,e){var r=nr(t)?fy:AD;return r(t,Gi(e))}function LD(t){return function(e,r,n){var i=Object(e);if(!Hi(e)){var s=Gi(r);e=jr(e),r=function(o){return s(i[o],o,i)}}var a=t(e,r,n);return a>-1?i[s?e[a]:a]:void 0}}var DD=Math.max;function MD(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:h9(r);return i\u003C0&&(i=DD(n+i,0)),Gg(t,Gi(e),i)}var ND=LD(MD);const s0=ND;function $y(t,e){var r=-1,n=Hi(t)?Array(t.length):[];return iu(t,function(i,s,a){n[++r]=e(i,s,a)}),n}function ir(t,e){var r=nr(t)?pa:$y;return r(t,Gi(e))}function BD(t,e){return t==null?t:r0(t,jy(e),Ts)}function ID(t,e){return t>e}var OD=Object.prototype,RD=OD.hasOwnProperty;function FD(t,e){return t!=null&&RD.call(t,e)}function me(t,e){return t!=null&&Vy(t,e,FD)}function PD(t,e){return pa(e,function(r){return t[r]})}function gi(t){return t==null?[]:PD(t,jr(t))}var YD=\\\"[object Map]\\\",VD=\\\"[object Set]\\\",UD=Object.prototype,zD=UD.hasOwnProperty;function wa(t){if(t==null)return!0;if(Hi(t)&&(nr(t)||typeof t==\\\"string\\\"||typeof t.splice==\\\"function\\\"||ma(t)||Qc(t)||ya(t)))return!t.length;var e=va(t);if(e==YD||e==VD)return!t.size;if(Kc(t))return!ny(t).length;for(var r in t)if(zD.call(t,r))return!1;return!0}function Ze(t){return t===void 0}function Xy(t,e){return t\u003Ce}function au(t,e){var r={};return e=Gi(e),zy(t,function(n,i,s){jc(r,i,e(n,i,s))}),r}function a0(t,e,r){for(var n=-1,i=t.length;++n\u003Ci;){var s=t[n],a=e(s);if(a!=null&&(o===void 0?a===a&&!ks(a):r(a,o)))var o=a,l=s}return l}function Cs(t){return t&&t.length?a0(t,ws,ID):void 0}var WD=B9(function(t,e,r){qy(t,e,r)});const o0=WD;function Mo(t){return t&&t.length?a0(t,ws,Xy):void 0}function l0(t,e){return t&&t.length?a0(t,Gi(e),Xy):void 0}function HD(t,e,r,n){if(!Gr(t))return t;e=Jc(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i\u003Cs;){var l=Ao(e[i]),u=r;if(l===\\\"__proto__\\\"||l===\\\"constructor\\\"||l===\\\"prototype\\\")return t;if(i!=a){var d=o[l];u=n?n(d,l,o):void 0,u===void 0&&(u=Gr(d)?d:qc(e[i+1])?[]:{})}$c(o,l,u),o=o[l]}return t}function GD(t,e,r){for(var n=-1,i=e.length,s={};++n\u003Ci;){var a=e[n],o=tu(t,a);r(o,a)&&HD(s,Jc(a,t),o)}return s}function qD(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}function jD(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,s=ks(t),a=e!==void 0,o=e===null,l=e===e,u=ks(e);if(!o&&!u&&!s&&t>e||s&&a&&l&&!o&&!u||n&&a&&l||!r&&l||!i)return 1;if(!n&&!s&&!u&&t\u003Ce||u&&r&&i&&!n&&!s||o&&r&&i||!a&&i||!l)return-1}return 0}function $D(t,e,r){for(var n=-1,i=t.criteria,s=e.criteria,a=i.length,o=r.length;++n\u003Ca;){var l=jD(i[n],s[n]);if(l){if(n>=o)return l;var u=r[n];return l*(u==\\\"desc\\\"?-1:1)}}return t.index-e.index}function XD(t,e,r){e.length?e=pa(e,function(s){return nr(s)?function(a){return tu(a,s.length===1?s[0]:s)}:s}):e=[ws];var n=-1;e=pa(e,Zc(Gi));var i=$y(t,function(s,a,o){var l=pa(e,function(u){return u(s)});return{criteria:l,index:++n,value:s}});return qD(i,function(s,a){return $D(s,a,r)})}function KD(t,e){return GD(t,e,function(r,n){return Uy(t,n)})}var ZD=YS(function(t,e){return t==null?{}:KD(t,e)});const No=ZD;var QD=Math.ceil,JD=Math.max;function tM(t,e,r,n){for(var i=-1,s=JD(QD((e-t)/(r||1)),0),a=Array(s);s--;)a[n?s:++i]=t,t+=r;return a}function eM(t){return function(e,r,n){return n&&typeof n!=\\\"number\\\"&&Co(e,r,n)&&(r=n=void 0),e=Hc(e),r===void 0?(r=e,e=0):r=Hc(r),n=n===void 0?e\u003Cr?1:-1:Hc(n),tM(e,r,n,t)}}var rM=eM();const Ss=rM;function nM(t,e,r,n,i){return i(t,function(s,a,o){r=n?(n=!1,s):e(r,s,a,o)}),r}function Bo(t,e,r){var n=nr(t)?qS:nM,i=arguments.length\u003C3;return n(t,Gi(e),r,i,iu)}var iM=Xc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Co(t,e[0],e[1])?e=[]:r>2&&Co(e[0],e[1],e[2])&&(e=[e[0]]),XD(t,eu(e,1),[])});const Io=iM;var sM=1/0,aM=xa&&1/J1(new xa([,-0]))[1]==sM?function(t){return new xa(t)}:y9;const oM=aM;var lM=200;function cM(t,e,r){var n=-1,i=S9,s=t.length,a=!0,o=[],l=o;if(r)a=!1,i=SD;else if(s>=lM){var u=e?null:oM(t);if(u)return J1(u);a=!1,i=Ny,l=new Do}else l=e?[]:o;t:for(;++n\u003Cs;){var d=t[n],f=e?e(d):d;if(d=r||d!==0?d:0,a&&f===f){for(var p=l.length;p--;)if(l[p]===f)continue t;e&&l.push(f),o.push(d)}else i(l,f,r)||(l!==o&&l.push(f),o.push(d))}return o}var uM=Xc(function(t){return cM(eu(t,1,Gy,!0))});const hM=uM;var dM=0;function ou(t){var e=++dM;return iy(t)+e}function fM(t,e,r){for(var n=-1,i=t.length,s=e.length,a={};++n\u003Ci;){var o=n\u003Cs?e[n]:void 0;r(a,t[n],o)}return a}function pM(t,e){return fM(t||[],e||[],$c)}var gM=\\\"\\\\0\\\",As=\\\"\\\\0\\\",Ky=\\\"\\u0001\\\";class sr{constructor(e={}){this._isDirected=me(e,\\\"directed\\\")?e.directed:!0,this._isMultigraph=me(e,\\\"multigraph\\\")?e.multigraph:!1,this._isCompound=me(e,\\\"compound\\\")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=ga(void 0),this._defaultEdgeLabelFn=ga(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[As]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return aa(e)||(e=ga(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return jr(this._nodes)}sources(){var e=this;return pi(this.nodes(),function(r){return wa(e._in[r])})}sinks(){var e=this;return pi(this.nodes(),function(r){return wa(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return vt(e,function(s){n.length>1?i.setNode(s,r):i.setNode(s)}),this}setNode(e,r){return me(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=As,this._children[e]={},this._children[As][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return me(this._nodes,e)}removeNode(e){var r=this;if(me(this._nodes,e)){var n=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],vt(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),vt(jr(this._in[e]),n),delete this._in[e],delete this._preds[e],vt(jr(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error(\\\"Cannot set parent in a non-compound graph\\\");if(Ze(r))r=As;else{r+=\\\"\\\";for(var n=r;!Ze(n);n=this.parent(n))if(n===e)throw new Error(\\\"Setting \\\"+r+\\\" as parent of \\\"+e+\\\" would create a cycle\\\");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==As)return r}}children(e){if(Ze(e)&&(e=As),this._isCompound){var r=this._children[e];if(r)return jr(r)}else{if(e===As)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return jr(r)}successors(e){var r=this._sucs[e];if(r)return jr(r)}neighbors(e){var r=this.predecessors(e);if(r)return hM(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;vt(this._nodes,function(a,o){e(o)&&r.setNode(o,a)}),vt(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,n.edge(a))});var i={};function s(a){var o=n.parent(a);return o===void 0||r.hasNode(o)?(i[a]=o,o):o in i?i[o]:s(o)}return this._isCompound&&vt(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(e){return aa(e)||(e=ga(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return gi(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return Bo(e,function(s,a){return i.length>1?n.setEdge(s,a,r):n.setEdge(s,a),a}),this}setEdge(){var e,r,n,i,s=!1,a=arguments[0];typeof a==\\\"object\\\"&&a!==null&&\\\"v\\\"in a?(e=a.v,r=a.w,n=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(e=a,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),e=\\\"\\\"+e,r=\\\"\\\"+r,Ze(n)||(n=\\\"\\\"+n);var o=Oo(this._isDirected,e,r,n);if(me(this._edgeLabels,o))return s&&(this._edgeLabels[o]=i),this;if(!Ze(n)&&!this._isMultigraph)throw new Error(\\\"Cannot set a named edge when isMultigraph = false\\\");this.setNode(e),this.setNode(r),this._edgeLabels[o]=s?i:this._defaultEdgeLabelFn(e,r,n);var l=yM(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,Zy(this._preds[r],e),Zy(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?c0(this._isDirected,arguments[0]):Oo(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?c0(this._isDirected,arguments[0]):Oo(this._isDirected,e,r,n);return me(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?c0(this._isDirected,arguments[0]):Oo(this._isDirected,e,r,n),s=this._edgeObjs[i];return s&&(e=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Qy(this._preds[r],e),Qy(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=gi(n);return r?pi(i,function(s){return s.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=gi(n);return r?pi(i,function(s){return s.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}sr.prototype._nodeCount=0,sr.prototype._edgeCount=0;function Zy(t,e){t[e]?t[e]++:t[e]=1}function Qy(t,e){--t[e]||delete t[e]}function Oo(t,e,r,n){var i=\\\"\\\"+e,s=\\\"\\\"+r;if(!t&&i>s){var a=i;i=s,s=a}return i+Ky+s+Ky+(Ze(n)?gM:n)}function yM(t,e,r,n){var i=\\\"\\\"+e,s=\\\"\\\"+r;if(!t&&i>s){var a=i;i=s,s=a}var o={v:i,w:s};return n&&(o.name=n),o}function c0(t,e){return Oo(t,e.v,e.w,e.name)}class mM{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Jy(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Jy(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,bM)),n=n._prev;return\\\"[\\\"+e.join(\\\", \\\")+\\\"]\\\"}}function Jy(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function bM(t,e){if(t!==\\\"_next\\\"&&t!==\\\"_prev\\\")return e}var _M=ga(1);function xM(t,e){if(t.nodeCount()\u003C=1)return[];var r=kM(t,e||_M),n=vM(r.graph,r.buckets,r.zeroIdx);return _a(ir(n,function(i){return t.outEdges(i.v,i.w)}))}function vM(t,e,r){for(var n=[],i=e[e.length-1],s=e[0],a;t.nodeCount();){for(;a=s.dequeue();)u0(t,e,r,a);for(;a=i.dequeue();)u0(t,e,r,a);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(a=e[o].dequeue(),a){n=n.concat(u0(t,e,r,a,!0));break}}}return n}function u0(t,e,r,n,i){var s=i?[]:void 0;return vt(t.inEdges(n.v),function(a){var o=t.edge(a),l=t.node(a.v);i&&s.push({v:a.v,w:a.w}),l.out-=o,h0(e,r,l)}),vt(t.outEdges(n.v),function(a){var o=t.edge(a),l=a.w,u=t.node(l);u.in-=o,h0(e,r,u)}),t.removeNode(n.v),s}function kM(t,e){var r=new sr,n=0,i=0;vt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),vt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),d=l+u;r.setEdge(o.v,o.w,d),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var s=Ss(i+n+3).map(function(){return new mM}),a=n+1;return vt(r.nodes(),function(o){h0(s,a,r.node(o))}),{graph:r,buckets:s,zeroIdx:a}}function h0(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function wM(t){var e=t.graph().acyclicer===\\\"greedy\\\"?xM(t,r(t)):TM(t);vt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,ou(\\\"rev\\\"))});function r(n){return function(i){return n.edge(i).weight}}}function TM(t){var e=[],r={},n={};function i(s){me(n,s)||(n[s]=!0,r[s]=!0,vt(t.outEdges(s),function(a){me(r,a.w)?e.push(a):i(a.w)}),delete r[s])}return vt(t.nodes(),i),e}function EM(t){vt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function Ta(t,e,r,n){var i;do i=ou(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function CM(t){var e=new sr().setGraph(t.graph());return vt(t.nodes(),function(r){e.setNode(r,t.node(r))}),vt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function tm(t){var e=new sr({multigraph:t.isMultigraph()}).setGraph(t.graph());return vt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),vt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function em(t,e){var r=t.x,n=t.y,i=e.x-r,s=e.y-n,a=t.width/2,o=t.height/2;if(!i&&!s)throw new Error(\\\"Not possible to find intersection inside of the rectangle\\\");var l,u;return Math.abs(s)*a>Math.abs(i)*o?(s\u003C0&&(o=-o),l=o*i/s,u=o):(i\u003C0&&(a=-a),l=a,u=a*s/i),{x:r+l,y:n+u}}function lu(t){var e=ir(Ss(nm(t)+1),function(){return[]});return vt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Ze(i)||(e[i][n.order]=r)}),e}function SM(t){var e=Mo(ir(t.nodes(),function(r){return t.node(r).rank}));vt(t.nodes(),function(r){var n=t.node(r);me(n,\\\"rank\\\")&&(n.rank-=e)})}function AM(t){var e=Mo(ir(t.nodes(),function(s){return t.node(s).rank})),r=[];vt(t.nodes(),function(s){var a=t.node(s).rank-e;r[a]||(r[a]=[]),r[a].push(s)});var n=0,i=t.graph().nodeRankFactor;vt(r,function(s,a){Ze(s)&&a%i!==0?--n:n&&vt(s,function(o){t.node(o).rank+=n})})}function rm(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Ta(t,\\\"border\\\",i,e)}function nm(t){return Cs(ir(t.nodes(),function(e){var r=t.node(e).rank;if(!Ze(r))return r}))}function LM(t,e){var r={lhs:[],rhs:[]};return vt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function DM(t,e){var r=Wy();try{return e()}finally{console.log(t+\\\" time: \\\"+(Wy()-r)+\\\"ms\\\")}}function MM(t,e){return e()}function NM(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&vt(n,e),me(i,\\\"minRank\\\")){i.borderLeft=[],i.borderRight=[];for(var s=i.minRank,a=i.maxRank+1;s\u003Ca;++s)im(t,\\\"borderLeft\\\",\\\"_bl\\\",r,i,s),im(t,\\\"borderRight\\\",\\\"_br\\\",r,i,s)}}vt(t.children(),e)}function im(t,e,r,n,i,s){var a={width:0,height:0,rank:s,borderType:e},o=i[e][s-1],l=Ta(t,\\\"border\\\",a,r);i[e][s]=l,t.setParent(l,n),o&&t.setEdge(o,l,{weight:1})}function BM(t){var e=t.graph().rankdir.toLowerCase();(e===\\\"lr\\\"||e===\\\"rl\\\")&&sm(t)}function IM(t){var e=t.graph().rankdir.toLowerCase();(e===\\\"bt\\\"||e===\\\"rl\\\")&&OM(t),(e===\\\"lr\\\"||e===\\\"rl\\\")&&(RM(t),sm(t))}function sm(t){vt(t.nodes(),function(e){am(t.node(e))}),vt(t.edges(),function(e){am(t.edge(e))})}function am(t){var e=t.width;t.width=t.height,t.height=e}function OM(t){vt(t.nodes(),function(e){d0(t.node(e))}),vt(t.edges(),function(e){var r=t.edge(e);vt(r.points,d0),me(r,\\\"y\\\")&&d0(r)})}function d0(t){t.y=-t.y}function RM(t){vt(t.nodes(),function(e){f0(t.node(e))}),vt(t.edges(),function(e){var r=t.edge(e);vt(r.points,f0),me(r,\\\"x\\\")&&f0(r)})}function f0(t){var e=t.x;t.x=t.y,t.y=e}function FM(t){var e=Ta(t,\\\"root\\\",{},\\\"_root\\\"),r=PM(t),n=Cs(gi(r))-1,i=2*n+1;t.graph().nestingRoot=e,vt(t.edges(),function(a){t.edge(a).minlen*=i});var s=YM(t)+1;vt(t.children(),function(a){om(t,e,i,s,n,r,a)}),t.graph().nodeRankFactor=i}function om(t,e,r,n,i,s,a){var o=t.children(a);if(!o.length){a!==e&&t.setEdge(e,a,{weight:0,minlen:r});return}var l=rm(t,\\\"_bt\\\"),u=rm(t,\\\"_bb\\\"),d=t.node(a);t.setParent(l,a),d.borderTop=l,t.setParent(u,a),d.borderBottom=u,vt(o,function(f){om(t,e,r,n,i,s,f);var p=t.node(f),g=p.borderTop?p.borderTop:f,b=p.borderBottom?p.borderBottom:f,k=p.borderTop?n:2*n,T=g!==b?1:i-s[a]+1;t.setEdge(l,g,{weight:k,minlen:T,nestingEdge:!0}),t.setEdge(b,u,{weight:k,minlen:T,nestingEdge:!0})}),t.parent(a)||t.setEdge(e,l,{weight:0,minlen:i+s[a]})}function PM(t){var e={};function r(n,i){var s=t.children(n);s&&s.length&&vt(s,function(a){r(a,i+1)}),e[n]=i}return vt(t.children(),function(n){r(n,1)}),e}function YM(t){return Bo(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function VM(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,vt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function UM(t,e,r){var n={},i;vt(r,function(s){for(var a=t.parent(s),o,l;a;){if(o=t.parent(a),o?(l=n[o],n[o]=a):(l=i,i=a),l&&l!==a){e.setEdge(l,a);return}a=o}})}function zM(t,e,r){var n=WM(t),i=new sr({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(s){return t.node(s)});return vt(t.nodes(),function(s){var a=t.node(s),o=t.parent(s);(a.rank===e||a.minRank\u003C=e&&e\u003C=a.maxRank)&&(i.setNode(s),i.setParent(s,o||n),vt(t[r](s),function(l){var u=l.v===s?l.w:l.v,d=i.edge(u,s),f=Ze(d)?0:d.weight;i.setEdge(u,s,{weight:t.edge(l).weight+f})}),me(a,\\\"minRank\\\")&&i.setNode(s,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),i}function WM(t){for(var e;t.hasNode(e=ou(\\\"_root\\\")););return e}function HM(t,e){for(var r=0,n=1;n\u003Ce.length;++n)r+=GM(t,e[n-1],e[n]);return r}function GM(t,e,r){for(var n=pM(r,ir(r,function(u,d){return d})),i=_a(ir(e,function(u){return Io(ir(t.outEdges(u),function(d){return{pos:n[d.w],weight:t.edge(d).weight}}),\\\"pos\\\")})),s=1;s\u003Cr.length;)s\u003C\u003C=1;var a=2*s-1;s-=1;var o=ir(new Array(a),function(){return 0}),l=0;return vt(i.forEach(function(u){var d=u.pos+s;o[d]+=u.weight;for(var f=0;d>0;)d%2&&(f+=o[d+1]),d=d-1>>1,o[d]+=u.weight;l+=u.weight*f})),l}function qM(t){var e={},r=pi(t.nodes(),function(o){return!t.children(o).length}),n=Cs(ir(r,function(o){return t.node(o).rank})),i=ir(Ss(n+1),function(){return[]});function s(o){if(!me(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),vt(t.successors(o),s)}}var a=Io(r,function(o){return t.node(o).rank});return vt(a,s),i}function jM(t,e){return ir(e,function(r){var n=t.inEdges(r);if(n.length){var i=Bo(n,function(s,a){var o=t.edge(a),l=t.node(a.v);return{sum:s.sum+o.weight*l.order,weight:s.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function $M(t,e){var r={};vt(t,function(i,s){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:s};Ze(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),vt(e.edges(),function(i){var s=r[i.v],a=r[i.w];!Ze(s)&&!Ze(a)&&(a.indegree++,s.out.push(r[i.w]))});var n=pi(r,function(i){return!i.indegree});return XM(n)}function XM(t){var e=[];function r(s){return function(a){a.merged||(Ze(a.barycenter)||Ze(s.barycenter)||a.barycenter>=s.barycenter)&&KM(s,a)}}function n(s){return function(a){a.in.push(s),--a.indegree===0&&t.push(a)}}for(;t.length;){var i=t.pop();e.push(i),vt(i.in.reverse(),r(i)),vt(i.out,n(i))}return ir(pi(e,function(s){return!s.merged}),function(s){return No(s,[\\\"vs\\\",\\\"i\\\",\\\"barycenter\\\",\\\"weight\\\"])})}function KM(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function ZM(t,e){var r=LM(t,function(d){return me(d,\\\"barycenter\\\")}),n=r.lhs,i=Io(r.rhs,function(d){return-d.i}),s=[],a=0,o=0,l=0;n.sort(QM(!!e)),l=lm(s,i,l),vt(n,function(d){l+=d.vs.length,s.push(d.vs),a+=d.barycenter*d.weight,o+=d.weight,l=lm(s,i,l)});var u={vs:_a(s)};return o&&(u.barycenter=a/o,u.weight=o),u}function lm(t,e,r){for(var n;e.length&&(n=su(e)).i\u003C=r;)e.pop(),t.push(n.vs),r++;return r}function QM(t){return function(e,r){return e.barycenter\u003Cr.barycenter?-1:e.barycenter>r.barycenter?1:t?r.i-e.i:e.i-r.i}}function cm(t,e,r,n){var i=t.children(e),s=t.node(e),a=s?s.borderLeft:void 0,o=s?s.borderRight:void 0,l={};a&&(i=pi(i,function(b){return b!==a&&b!==o}));var u=jM(t,i);vt(u,function(b){if(t.children(b.v).length){var k=cm(t,b.v,r,n);l[b.v]=k,me(k,\\\"barycenter\\\")&&tN(b,k)}});var d=$M(u,r);JM(d,l);var f=ZM(d,n);if(a&&(f.vs=_a([a,f.vs,o]),t.predecessors(a).length)){var p=t.node(t.predecessors(a)[0]),g=t.node(t.predecessors(o)[0]);me(f,\\\"barycenter\\\")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+g.order)/(f.weight+2),f.weight+=2}return f}function JM(t,e){vt(t,function(r){r.vs=_a(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function tN(t,e){Ze(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function eN(t){var e=nm(t),r=um(t,Ss(1,e+1),\\\"inEdges\\\"),n=um(t,Ss(e-1,-1,-1),\\\"outEdges\\\"),i=qM(t);hm(t,i);for(var s=Number.POSITIVE_INFINITY,a,o=0,l=0;l\u003C4;++o,++l){rN(o%2?r:n,o%4>=2),i=lu(t);var u=HM(t,i);u\u003Cs&&(l=0,a=ML(i),s=u)}hm(t,a)}function um(t,e,r){return ir(e,function(n){return zM(t,n,r)})}function rN(t,e){var r=new sr;vt(t,function(n){var i=n.graph().root,s=cm(n,i,r,e);vt(s.vs,function(a,o){n.node(a).order=o}),UM(n,r,s.vs)})}function hm(t,e){vt(e,function(r){vt(r,function(n,i){t.node(n).order=i})})}function nN(t){var e=sN(t);vt(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,s=iN(t,e,i.v,i.w),a=s.path,o=s.lca,l=0,u=a[l],d=!0;r!==i.w;){if(n=t.node(r),d){for(;(u=a[l])!==o&&t.node(u).maxRank\u003Cn.rank;)l++;u===o&&(d=!1)}if(!d){for(;l\u003Ca.length-1&&t.node(u=a[l+1]).minRank\u003C=n.rank;)l++;u=a[l]}t.setParent(r,u),r=t.successors(r)[0]}})}function iN(t,e,r,n){var i=[],s=[],a=Math.min(e[r].low,e[n].low),o=Math.max(e[r].lim,e[n].lim),l,u;l=r;do l=t.parent(l),i.push(l);while(l&&(e[l].low>a||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)s.push(l);return{path:i.concat(s.reverse()),lca:u}}function sN(t){var e={},r=0;function n(i){var s=r;vt(t.children(i),n),e[i]={low:s,lim:r++}}return vt(t.children(),n),e}function aN(t,e){var r={};function n(i,s){var a=0,o=0,l=i.length,u=su(s);return vt(s,function(d,f){var p=lN(t,d),g=p?t.node(p).order:l;(p||d===u)&&(vt(s.slice(o,f+1),function(b){vt(t.predecessors(b),function(k){var T=t.node(k),L=T.order;(L\u003Ca||g\u003CL)&&!(T.dummy&&t.node(b).dummy)&&dm(r,k,b)})}),o=f+1,a=g)}),s}return Bo(e,n),r}function oN(t,e){var r={};function n(s,a,o,l,u){var d;vt(Ss(a,o),function(f){d=s[f],t.node(d).dummy&&vt(t.predecessors(d),function(p){var g=t.node(p);g.dummy&&(g.order\u003Cl||g.order>u)&&dm(r,p,d)})})}function i(s,a){var o=-1,l,u=0;return vt(a,function(d,f){if(t.node(d).dummy===\\\"border\\\"){var p=t.predecessors(d);p.length&&(l=t.node(p[0]).order,n(a,u,f,o,l),u=f,o=l)}n(a,u,a.length,l,s.length)}),a}return Bo(e,i),r}function lN(t,e){if(t.node(e).dummy)return s0(t.predecessors(e),function(r){return t.node(r).dummy})}function dm(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function cN(t,e,r){if(e>r){var n=e;e=r,r=n}return me(t[e],r)}function uN(t,e,r,n){var i={},s={},a={};return vt(e,function(o){vt(o,function(l,u){i[l]=l,s[l]=l,a[l]=u})}),vt(e,function(o){var l=-1;vt(o,function(u){var d=n(u);if(d.length){d=Io(d,function(k){return a[k]});for(var f=(d.length-1)/2,p=Math.floor(f),g=Math.ceil(f);p\u003C=g;++p){var b=d[p];s[u]===u&&l\u003Ca[b]&&!cN(r,u,b)&&(s[b]=u,s[u]=i[u]=i[b],l=a[b])}}})}),{root:i,align:s}}function hN(t,e,r,n,i){var s={},a=dN(t,e,r,i),o=i?\\\"borderLeft\\\":\\\"borderRight\\\";function l(f,p){for(var g=a.nodes(),b=g.pop(),k={};b;)k[b]?f(b):(k[b]=!0,g.push(b),g=g.concat(p(b))),b=g.pop()}function u(f){s[f]=a.inEdges(f).reduce(function(p,g){return Math.max(p,s[g.v]+a.edge(g))},0)}function d(f){var p=a.outEdges(f).reduce(function(b,k){return Math.min(b,s[k.w]-a.edge(k))},Number.POSITIVE_INFINITY),g=t.node(f);p!==Number.POSITIVE_INFINITY&&g.borderType!==o&&(s[f]=Math.max(s[f],p))}return l(u,a.predecessors.bind(a)),l(d,a.successors.bind(a)),vt(n,function(f){s[f]=s[r[f]]}),s}function dN(t,e,r,n){var i=new sr,s=t.graph(),a=mN(s.nodesep,s.edgesep,n);return vt(e,function(o){var l;vt(o,function(u){var d=r[u];if(i.setNode(d),l){var f=r[l],p=i.edge(f,d);i.setEdge(f,d,Math.max(a(t,u,l),p||0))}l=u})}),i}function fN(t,e){return l0(gi(e),function(r){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return BD(r,function(s,a){var o=bN(t,a)/2;n=Math.max(s+o,n),i=Math.min(s-o,i)}),n-i})}function pN(t,e){var r=gi(e),n=Mo(r),i=Cs(r);vt([\\\"u\\\",\\\"d\\\"],function(s){vt([\\\"l\\\",\\\"r\\\"],function(a){var o=s+a,l=t[o],u;if(l!==e){var d=gi(l);u=a===\\\"l\\\"?n-Mo(d):i-Cs(d),u&&(t[o]=au(l,function(f){return f+u}))}})})}function gN(t,e){return au(t.ul,function(r,n){if(e)return t[e.toLowerCase()][n];var i=Io(ir(t,n));return(i[1]+i[2])/2})}function yN(t){var e=lu(t),r=o0(aN(t,e),oN(t,e)),n={},i;vt([\\\"u\\\",\\\"d\\\"],function(a){i=a===\\\"u\\\"?e:gi(e).reverse(),vt([\\\"l\\\",\\\"r\\\"],function(o){o===\\\"r\\\"&&(i=ir(i,function(f){return gi(f).reverse()}));var l=(a===\\\"u\\\"?t.predecessors:t.successors).bind(t),u=uN(t,i,r,l),d=hN(t,i,u.root,u.align,o===\\\"r\\\");o===\\\"r\\\"&&(d=au(d,function(f){return-f})),n[a+o]=d})});var s=fN(t,n);return pN(n,s),gN(n,t.graph().align)}function mN(t,e,r){return function(n,i,s){var a=n.node(i),o=n.node(s),l=0,u;if(l+=a.width/2,me(a,\\\"labelpos\\\"))switch(a.labelpos.toLowerCase()){case\\\"l\\\":u=-a.width/2;break;case\\\"r\\\":u=a.width/2;break}if(u&&(l+=r?u:-u),u=0,l+=(a.dummy?e:t)/2,l+=(o.dummy?e:t)/2,l+=o.width/2,me(o,\\\"labelpos\\\"))switch(o.labelpos.toLowerCase()){case\\\"l\\\":u=o.width/2;break;case\\\"r\\\":u=-o.width/2;break}return u&&(l+=r?u:-u),u=0,l}}function bN(t,e){return t.node(e).width}function _N(t){t=tm(t),xN(t),vt(yN(t),function(e,r){t.node(r).x=e})}function xN(t){var e=lu(t),r=t.graph().ranksep,n=0;vt(e,function(i){var s=Cs(ir(i,function(a){return t.node(a).height}));vt(i,function(a){t.node(a).y=n+s/2}),n+=s+r})}function Ea(t,e){var r=e&&e.debugTiming?DM:MM;r(\\\"layout\\\",function(){var n=r(\\\" buildLayoutGraph\\\",function(){return MN(t)});r(\\\" runLayout\\\",function(){vN(n,r)}),r(\\\" updateInputGraph\\\",function(){kN(t,n)})})}function vN(t,e){e(\\\" makeSpaceForEdgeLabels\\\",function(){NN(t)}),e(\\\" removeSelfEdges\\\",function(){UN(t)}),e(\\\" acyclic\\\",function(){wM(t)}),e(\\\" nestingGraph.run\\\",function(){FM(t)}),e(\\\" rank\\\",function(){rB(tm(t))}),e(\\\" injectEdgeLabelProxies\\\",function(){BN(t)}),e(\\\" removeEmptyRanks\\\",function(){AM(t)}),e(\\\" nestingGraph.cleanup\\\",function(){VM(t)}),e(\\\" normalizeRanks\\\",function(){SM(t)}),e(\\\" assignRankMinMax\\\",function(){IN(t)}),e(\\\" removeEdgeLabelProxies\\\",function(){ON(t)}),e(\\\" normalize.run\\\",function(){HN(t)}),e(\\\" parentDummyChains\\\",function(){nN(t)}),e(\\\" addBorderSegments\\\",function(){NM(t)}),e(\\\" order\\\",function(){eN(t)}),e(\\\" insertSelfEdges\\\",function(){zN(t)}),e(\\\" adjustCoordinateSystem\\\",function(){BM(t)}),e(\\\" position\\\",function(){_N(t)}),e(\\\" positionSelfEdges\\\",function(){WN(t)}),e(\\\" removeBorderNodes\\\",function(){VN(t)}),e(\\\" normalize.undo\\\",function(){qN(t)}),e(\\\" fixupEdgeLabelCoords\\\",function(){PN(t)}),e(\\\" undoCoordinateSystem\\\",function(){IM(t)}),e(\\\" translateGraph\\\",function(){RN(t)}),e(\\\" assignNodeIntersects\\\",function(){FN(t)}),e(\\\" reversePoints\\\",function(){YN(t)}),e(\\\" acyclic.undo\\\",function(){EM(t)})}function kN(t,e){vt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),vt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,me(i,\\\"x\\\")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var wN=[\\\"nodesep\\\",\\\"edgesep\\\",\\\"ranksep\\\",\\\"marginx\\\",\\\"marginy\\\"],TN={ranksep:50,edgesep:20,nodesep:50,rankdir:\\\"tb\\\"},EN=[\\\"acyclicer\\\",\\\"ranker\\\",\\\"rankdir\\\",\\\"align\\\"],CN=[\\\"width\\\",\\\"height\\\"],SN={width:0,height:0},AN=[\\\"minlen\\\",\\\"weight\\\",\\\"width\\\",\\\"height\\\",\\\"labeloffset\\\"],LN={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:\\\"r\\\"},DN=[\\\"labelpos\\\"];function MN(t){var e=new sr({multigraph:!0,compound:!0}),r=g0(t.graph());return e.setGraph(o0({},TN,p0(r,wN),No(r,EN))),vt(t.nodes(),function(n){var i=g0(t.node(n));e.setNode(n,ka(p0(i,CN),SN)),e.setParent(n,t.parent(n))}),vt(t.edges(),function(n){var i=g0(t.edge(n));e.setEdge(n,o0({},LN,p0(i,AN),No(i,DN)))}),e}function NN(t){var e=t.graph();e.ranksep/=2,vt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!==\\\"c\\\"&&(e.rankdir===\\\"TB\\\"||e.rankdir===\\\"BT\\\"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function BN(t){vt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),s={rank:(i.rank-n.rank)/2+n.rank,e};Ta(t,\\\"edge-proxy\\\",s,\\\"_ep\\\")}})}function IN(t){var e=0;vt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=Cs(e,n.maxRank))}),t.graph().maxRank=e}function ON(t){vt(t.nodes(),function(e){var r=t.node(e);r.dummy===\\\"edge-proxy\\\"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function RN(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,s=t.graph(),a=s.marginx||0,o=s.marginy||0;function l(u){var d=u.x,f=u.y,p=u.width,g=u.height;e=Math.min(e,d-p/2),r=Math.max(r,d+p/2),n=Math.min(n,f-g/2),i=Math.max(i,f+g/2)}vt(t.nodes(),function(u){l(t.node(u))}),vt(t.edges(),function(u){var d=t.edge(u);me(d,\\\"x\\\")&&l(d)}),e-=a,n-=o,vt(t.nodes(),function(u){var d=t.node(u);d.x-=e,d.y-=n}),vt(t.edges(),function(u){var d=t.edge(u);vt(d.points,function(f){f.x-=e,f.y-=n}),me(d,\\\"x\\\")&&(d.x-=e),me(d,\\\"y\\\")&&(d.y-=n)}),s.width=r-e+a,s.height=i-n+o}function FN(t){vt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),s,a;r.points?(s=r.points[0],a=r.points[r.points.length-1]):(r.points=[],s=i,a=n),r.points.unshift(em(n,s)),r.points.push(em(i,a))})}function PN(t){vt(t.edges(),function(e){var r=t.edge(e);if(me(r,\\\"x\\\"))switch((r.labelpos===\\\"l\\\"||r.labelpos===\\\"r\\\")&&(r.width-=r.labeloffset),r.labelpos){case\\\"l\\\":r.x-=r.width/2+r.labeloffset;break;case\\\"r\\\":r.x+=r.width/2+r.labeloffset;break}})}function YN(t){vt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function VN(t){vt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),s=t.node(su(r.borderLeft)),a=t.node(su(r.borderRight));r.width=Math.abs(a.x-s.x),r.height=Math.abs(i.y-n.y),r.x=s.x+r.width/2,r.y=n.y+r.height/2}}),vt(t.nodes(),function(e){t.node(e).dummy===\\\"border\\\"&&t.removeNode(e)})}function UN(t){vt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function zN(t){var e=lu(t);vt(e,function(r){var n=0;vt(r,function(i,s){var a=t.node(i);a.order=s+n,vt(a.selfEdges,function(o){Ta(t,\\\"selfedge\\\",{width:o.label.width,height:o.label.height,rank:a.rank,order:s+ ++n,e:o.e,label:o.label},\\\"_se\\\")}),delete a.selfEdges})})}function WN(t){vt(t.nodes(),function(e){var r=t.node(e);if(r.dummy===\\\"selfedge\\\"){var n=t.node(r.e.v),i=n.x+n.width/2,s=n.y,a=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*a/3,y:s-o},{x:i+5*a/6,y:s-o},{x:i+a,y:s},{x:i+5*a/6,y:s+o},{x:i+2*a/3,y:s+o}],r.label.x=r.x,r.label.y=r.y}})}function p0(t,e){return au(No(t,e),Number)}function g0(t){var e={};return vt(t,function(r,n){e[n.toLowerCase()]=r}),e}function HN(t){t.graph().dummyChains=[],vt(t.edges(),function(e){GN(t,e)})}function GN(t,e){var r=e.v,n=t.node(r).rank,i=e.w,s=t.node(i).rank,a=e.name,o=t.edge(e),l=o.labelRank;if(s!==n+1){t.removeEdge(e);var u,d,f;for(f=0,++n;n\u003Cs;++f,++n)o.points=[],d={width:0,height:0,edgeLabel:o,edgeObj:e,rank:n},u=Ta(t,\\\"edge\\\",d,\\\"_d\\\"),n===l&&(d.width=o.width,d.height=o.height,d.dummy=\\\"edge-label\\\",d.labelpos=o.labelpos),t.setEdge(r,u,{weight:o.weight},a),f===0&&t.graph().dummyChains.push(u),r=u;t.setEdge(r,i,{weight:o.weight},a)}}function qN(t){vt(t.graph().dummyChains,function(e){var r=t.node(e),n=r.edgeLabel,i;for(t.setEdge(r.edgeObj,n);r.dummy;)i=t.successors(e)[0],t.removeNode(e),n.points.push({x:r.x,y:r.y}),r.dummy===\\\"edge-label\\\"&&(n.x=r.x,n.y=r.y,n.width=r.width,n.height=r.height),e=i,r=t.node(e)})}function y0(t){var e={};function r(n){var i=t.node(n);if(me(e,n))return i.rank;e[n]=!0;var s=Mo(ir(t.outEdges(n),function(a){return r(a.w)-t.edge(a).minlen}));return(s===Number.POSITIVE_INFINITY||s===void 0||s===null)&&(s=0),i.rank=s}vt(t.sources(),r)}function Ro(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}function fm(t){var e=new sr({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,s;jN(e,t)\u003Cn;)i=$N(e,t),s=e.hasNode(i.v)?Ro(t,i):-Ro(t,i),XN(e,t,s);return e}function jN(t,e){function r(n){vt(e.nodeEdges(n),function(i){var s=i.v,a=n===s?i.w:s;!t.hasNode(a)&&!Ro(e,i)&&(t.setNode(a,{}),t.setEdge(n,a,{}),r(a))})}return vt(t.nodes(),r),t.nodeCount()}function $N(t,e){return l0(e.edges(),function(r){if(t.hasNode(r.v)!==t.hasNode(r.w))return Ro(e,r)})}function XN(t,e,r){vt(t.nodes(),function(n){e.node(n).rank+=r})}function KN(){}KN.prototype=new Error;function pm(t,e,r){nr(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],s={};return vt(e,function(a){if(!t.hasNode(a))throw new Error(\\\"Graph does not have node: \\\"+a);gm(t,a,r===\\\"post\\\",s,n,i)}),i}function gm(t,e,r,n,i,s){me(n,e)||(n[e]=!0,r||s.push(e),vt(i(e),function(a){gm(t,a,r,n,i,s)}),r&&s.push(e))}function ZN(t,e){return pm(t,e,\\\"post\\\")}function QN(t,e){return pm(t,e,\\\"pre\\\")}Ls.initLowLimValues=b0,Ls.initCutValues=m0,Ls.calcCutValue=ym,Ls.leaveEdge=bm,Ls.enterEdge=_m,Ls.exchangeEdges=xm;function Ls(t){t=CM(t),y0(t);var e=fm(t);b0(e),m0(e,t);for(var r,n;r=bm(e);)n=_m(e,t,r),xm(e,t,r,n)}function m0(t,e){var r=ZN(t,t.nodes());r=r.slice(0,r.length-1),vt(r,function(n){JN(t,e,n)})}function JN(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=ym(t,e,r)}function ym(t,e,r){var n=t.node(r),i=n.parent,s=!0,a=e.edge(r,i),o=0;return a||(s=!1,a=e.edge(i,r)),o=a.weight,vt(e.nodeEdges(r),function(l){var u=l.v===r,d=u?l.w:l.v;if(d!==i){var f=u===s,p=e.edge(l).weight;if(o+=f?p:-p,eB(t,r,d)){var g=t.edge(r,d).cutvalue;o+=f?-g:g}}}),o}function b0(t,e){arguments.length\u003C2&&(e=t.nodes()[0]),mm(t,{},1,e)}function mm(t,e,r,n,i){var s=r,a=t.node(n);return e[n]=!0,vt(t.neighbors(n),function(o){me(e,o)||(r=mm(t,e,r,o,n))}),a.low=s,a.lim=r++,i?a.parent=i:delete a.parent,r}function bm(t){return s0(t.edges(),function(e){return t.edge(e).cutvalue\u003C0})}function _m(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var s=t.node(n),a=t.node(i),o=s,l=!1;s.lim>a.lim&&(o=a,l=!0);var u=pi(e.edges(),function(d){return l===vm(t,t.node(d.v),o)&&l!==vm(t,t.node(d.w),o)});return l0(u,function(d){return Ro(e,d)})}function xm(t,e,r,n){var i=r.v,s=r.w;t.removeEdge(i,s),t.setEdge(n.v,n.w,{}),b0(t),m0(t,e),tB(t,e)}function tB(t,e){var r=s0(t.nodes(),function(i){return!e.node(i).parent}),n=QN(t,r);n=n.slice(1),vt(n,function(i){var s=t.node(i).parent,a=e.edge(i,s),o=!1;a||(a=e.edge(s,i),o=!0),e.node(i).rank=e.node(s).rank+(o?a.minlen:-a.minlen)})}function eB(t,e,r){return t.hasEdge(e,r)}function vm(t,e,r){return r.low\u003C=e.lim&&e.lim\u003C=r.lim}function rB(t){switch(t.graph().ranker){case\\\"network-simplex\\\":km(t);break;case\\\"tight-tree\\\":iB(t);break;case\\\"longest-path\\\":nB(t);break;default:km(t)}}var nB=y0;function iB(t){y0(t),fm(t)}function km(t){Ls(t)}let wm=0;const sB=function(t,e,r,n,i){const s=function(E){switch(E){case i.db.relationType.AGGREGATION:return\\\"aggregation\\\";case i.db.relationType.EXTENSION:return\\\"extension\\\";case i.db.relationType.COMPOSITION:return\\\"composition\\\";case i.db.relationType.DEPENDENCY:return\\\"dependency\\\";case i.db.relationType.LOLLIPOP:return\\\"lollipop\\\"}};e.points=e.points.filter(E=>!Number.isNaN(E.y));const a=e.points,o=Js().x(function(E){return E.x}).y(function(E){return E.y}).curve(ta),l=t.append(\\\"path\\\").attr(\\\"d\\\",o(a)).attr(\\\"id\\\",\\\"edge\\\"+wm).attr(\\\"class\\\",\\\"relation\\\");let u=\\\"\\\";n.arrowMarkerAbsolute&&(u=window.location.protocol+\\\"//\\\"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\\\\(/g,\\\"\\\\\\\\(\\\"),u=u.replace(/\\\\)/g,\\\"\\\\\\\\)\\\")),r.relation.lineType==1&&l.attr(\\\"class\\\",\\\"relation dashed-line\\\"),r.relation.lineType==10&&l.attr(\\\"class\\\",\\\"relation dotted-line\\\"),r.relation.type1!==\\\"none\\\"&&l.attr(\\\"marker-start\\\",\\\"url(\\\"+u+\\\"#\\\"+s(r.relation.type1)+\\\"Start)\\\"),r.relation.type2!==\\\"none\\\"&&l.attr(\\\"marker-end\\\",\\\"url(\\\"+u+\\\"#\\\"+s(r.relation.type2)+\\\"End)\\\");let d,f;const p=e.points.length;let g=ge.calcLabelPosition(e.points);d=g.x,f=g.y;let b,k,T,L;if(p%2!==0&&p>1){let E=ge.calcCardinalityPosition(r.relation.type1!==\\\"none\\\",e.points,e.points[0]),I=ge.calcCardinalityPosition(r.relation.type2!==\\\"none\\\",e.points,e.points[p-1]);B.debug(\\\"cardinality_1_point \\\"+JSON.stringify(E)),B.debug(\\\"cardinality_2_point \\\"+JSON.stringify(I)),b=E.x,k=E.y,T=I.x,L=I.y}if(r.title!==void 0){const E=t.append(\\\"g\\\").attr(\\\"class\\\",\\\"classLabel\\\"),I=E.append(\\\"text\\\").attr(\\\"class\\\",\\\"label\\\").attr(\\\"x\\\",d).attr(\\\"y\\\",f).attr(\\\"fill\\\",\\\"red\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").text(r.title);window.label=I;const V=I.node().getBBox();E.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"box\\\").attr(\\\"x\\\",V.x-n.padding/2).attr(\\\"y\\\",V.y-n.padding/2).attr(\\\"width\\\",V.width+n.padding).attr(\\\"height\\\",V.height+n.padding)}B.info(\\\"Rendering relation \\\"+JSON.stringify(r)),r.relationTitle1!==void 0&&r.relationTitle1!==\\\"none\\\"&&t.append(\\\"g\\\").attr(\\\"class\\\",\\\"cardinality\\\").append(\\\"text\\\").attr(\\\"class\\\",\\\"type1\\\").attr(\\\"x\\\",b).attr(\\\"y\\\",k).attr(\\\"fill\\\",\\\"black\\\").attr(\\\"font-size\\\",\\\"6\\\").text(r.relationTitle1),r.relationTitle2!==void 0&&r.relationTitle2!==\\\"none\\\"&&t.append(\\\"g\\\").attr(\\\"class\\\",\\\"cardinality\\\").append(\\\"text\\\").attr(\\\"class\\\",\\\"type2\\\").attr(\\\"x\\\",T).attr(\\\"y\\\",L).attr(\\\"fill\\\",\\\"black\\\").attr(\\\"font-size\\\",\\\"6\\\").text(r.relationTitle2),wm++},aB=function(t,e,r,n){B.debug(\\\"Rendering class \\\",e,r);const i=e.id,s={id:i,label:e.id,width:0,height:0},a=t.append(\\\"g\\\").attr(\\\"id\\\",n.db.lookUpDomId(i)).attr(\\\"class\\\",\\\"classGroup\\\");let o;e.link?o=a.append(\\\"svg:a\\\").attr(\\\"xlink:href\\\",e.link).attr(\\\"target\\\",e.linkTarget).append(\\\"text\\\").attr(\\\"y\\\",r.textHeight+r.padding).attr(\\\"x\\\",0):o=a.append(\\\"text\\\").attr(\\\"y\\\",r.textHeight+r.padding).attr(\\\"x\\\",0);let l=!0;e.annotations.forEach(function(H){const G=o.append(\\\"tspan\\\").text(\\\"\\\\xAB\\\"+H+\\\"\\\\xBB\\\");l||G.attr(\\\"dy\\\",r.textHeight),l=!1});let u=e.id;e.type!==void 0&&e.type!==\\\"\\\"&&(u+=\\\"\u003C\\\"+e.type+\\\">\\\");const d=o.append(\\\"tspan\\\").text(u).attr(\\\"class\\\",\\\"title\\\");l||d.attr(\\\"dy\\\",r.textHeight);const f=o.node().getBBox().height,p=a.append(\\\"line\\\").attr(\\\"x1\\\",0).attr(\\\"y1\\\",r.padding+f+r.dividerMargin/2).attr(\\\"y2\\\",r.padding+f+r.dividerMargin/2),g=a.append(\\\"text\\\").attr(\\\"x\\\",r.padding).attr(\\\"y\\\",f+r.dividerMargin+r.textHeight).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"class\\\",\\\"classText\\\");l=!0,e.members.forEach(function(H){Tm(g,H,l,r),l=!1});const b=g.node().getBBox(),k=a.append(\\\"line\\\").attr(\\\"x1\\\",0).attr(\\\"y1\\\",r.padding+f+r.dividerMargin+b.height).attr(\\\"y2\\\",r.padding+f+r.dividerMargin+b.height),T=a.append(\\\"text\\\").attr(\\\"x\\\",r.padding).attr(\\\"y\\\",f+2*r.dividerMargin+b.height+r.textHeight).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"class\\\",\\\"classText\\\");l=!0,e.methods.forEach(function(H){Tm(T,H,l,r),l=!1});const L=a.node().getBBox();var E=\\\" \\\";e.cssClasses.length>0&&(E=E+e.cssClasses.join(\\\" \\\"));const V=a.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",0).attr(\\\"y\\\",0).attr(\\\"width\\\",L.width+2*r.padding).attr(\\\"height\\\",L.height+r.padding+.5*r.dividerMargin).attr(\\\"class\\\",E).node().getBBox().width;return o.node().childNodes.forEach(function(H){H.setAttribute(\\\"x\\\",(V-H.getBBox().width)/2)}),e.tooltip&&o.insert(\\\"title\\\").text(e.tooltip),p.attr(\\\"x2\\\",V),k.attr(\\\"x2\\\",V),s.width=V,s.height=L.height+r.padding+.5*r.dividerMargin,s},oB=function(t,e,r,n){B.debug(\\\"Rendering note \\\",e,r);const i=e.id,s={id:i,text:e.text,width:0,height:0},a=t.append(\\\"g\\\").attr(\\\"id\\\",i).attr(\\\"class\\\",\\\"classGroup\\\");let o=a.append(\\\"text\\\").attr(\\\"y\\\",r.textHeight+r.padding).attr(\\\"x\\\",0);const l=JSON.parse(`\\\"${e.text}\\\"`).split(`\\n`);l.forEach(function(p){B.debug(`Adding line: ${p}`),o.append(\\\"tspan\\\").text(p).attr(\\\"class\\\",\\\"title\\\").attr(\\\"dy\\\",r.textHeight)});const u=a.node().getBBox(),f=a.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",0).attr(\\\"y\\\",0).attr(\\\"width\\\",u.width+2*r.padding).attr(\\\"height\\\",u.height+l.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return o.node().childNodes.forEach(function(p){p.setAttribute(\\\"x\\\",(f-p.getBBox().width)/2)}),s.width=f,s.height=u.height+l.length*r.textHeight+r.padding+.5*r.dividerMargin,s},cu=function(t){const e=/^([#+~-])?(\\\\w+)(~\\\\w+~|\\\\[])?\\\\s+(\\\\w+) *([$*])?$/,r=/^([#+|~-])?(\\\\w+) *\\\\( *(.*)\\\\) *([$*])? *(\\\\w*[[\\\\]|~]*\\\\s*\\\\w*~?)$/;let n=t.match(e),i=t.match(r);return n&&!i?lB(n):i?cB(i):uB(t)},lB=function(t){let e=\\\"\\\",r=\\\"\\\";try{let n=t[1]?t[1].trim():\\\"\\\",i=t[2]?t[2].trim():\\\"\\\",s=t[3]?Oi(t[3].trim()):\\\"\\\",a=t[4]?t[4].trim():\\\"\\\",o=t[5]?t[5].trim():\\\"\\\";r=n+i+s+\\\" \\\"+a,e=_0(o)}catch{r=t}return{displayText:r,cssStyle:e}},cB=function(t){let e=\\\"\\\",r=\\\"\\\";try{let n=t[1]?t[1].trim():\\\"\\\",i=t[2]?t[2].trim():\\\"\\\",s=t[3]?Oi(t[3].trim()):\\\"\\\",a=t[4]?t[4].trim():\\\"\\\",o=t[5]?\\\" : \\\"+Oi(t[5]).trim():\\\"\\\";r=n+i+\\\"(\\\"+s+\\\")\\\"+o,e=_0(a)}catch{r=t}return{displayText:r,cssStyle:e}},uB=function(t){let e=\\\"\\\",r=\\\"\\\",n=\\\"\\\",i=t.indexOf(\\\"(\\\"),s=t.indexOf(\\\")\\\");if(i>1&&s>i&&s\u003C=t.length){let a=\\\"\\\",o=\\\"\\\",l=t.substring(0,1);l.match(/\\\\w/)?o=t.substring(0,i).trim():(l.match(/[#+~-]/)&&(a=l),o=t.substring(1,i).trim());const u=t.substring(i+1,s);t.substring(s+1,1),r=_0(t.substring(s+1,s+2)),e=a+o+\\\"(\\\"+Oi(u.trim())+\\\")\\\",s\u003Ct.length&&(n=t.substring(s+2).trim(),n!==\\\"\\\"&&(n=\\\" : \\\"+Oi(n),e+=n))}else e=Oi(t);return{displayText:e,cssStyle:r}},Tm=function(t,e,r,n){let i=cu(e);const s=t.append(\\\"tspan\\\").attr(\\\"x\\\",n.padding).text(i.displayText);i.cssStyle!==\\\"\\\"&&s.attr(\\\"style\\\",i.cssStyle),r||s.attr(\\\"dy\\\",n.textHeight)},_0=function(t){switch(t){case\\\"*\\\":return\\\"font-style:italic;\\\";case\\\"$\\\":return\\\"text-decoration:underline;\\\";default:return\\\"\\\"}},x0={drawClass:aB,drawEdge:sB,drawNote:oB,parseMember:cu};let uu={};const hu=20,Fo=function(t){const e=Object.entries(uu).find(r=>r[1].label===t);if(e)return e[0]},hB=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"extensionStart\\\").attr(\\\"class\\\",\\\"extension\\\").attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 1,7 L18,13 V 1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"extensionEnd\\\").attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 1,1 V 13 L18,7 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"compositionStart\\\").attr(\\\"class\\\",\\\"extension\\\").attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"compositionEnd\\\").attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"aggregationStart\\\").attr(\\\"class\\\",\\\"extension\\\").attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"aggregationEnd\\\").attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"dependencyStart\\\").attr(\\\"class\\\",\\\"extension\\\").attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 5,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"dependencyEnd\\\").attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L14,7 L9,1 Z\\\")},dB={draw:function(t,e,r,n){const i=$().class;uu={},B.info(\\\"Rendering diagram \\\"+t);const s=$().securityLevel;let a;s===\\\"sandbox\\\"&&(a=St(\\\"#i\\\"+e));const o=St(s===\\\"sandbox\\\"?a.nodes()[0].contentDocument.body:\\\"body\\\"),l=o.select(`[id='${e}']`);hB(l);const u=new sr({multigraph:!0});u.setGraph({isMultiGraph:!0}),u.setDefaultEdgeLabel(function(){return{}});const d=n.db.getClasses(),f=Object.keys(d);for(const E of f){const I=d[E],V=x0.drawClass(l,I,i,n);uu[V.id]=V,u.setNode(V.id,V),B.info(\\\"Org height: \\\"+V.height)}n.db.getRelations().forEach(function(E){B.info(\\\"tjoho\\\"+Fo(E.id1)+Fo(E.id2)+JSON.stringify(E)),u.setEdge(Fo(E.id1),Fo(E.id2),{relation:E},E.title||\\\"DEFAULT\\\")}),n.db.getNotes().forEach(function(E){B.debug(`Adding note: ${JSON.stringify(E)}`);const I=x0.drawNote(l,E,i,n);uu[I.id]=I,u.setNode(I.id,I),E.class&&E.class in d&&u.setEdge(E.id,Fo(E.class),{relation:{id1:E.id,id2:E.class,relation:{type1:\\\"none\\\",type2:\\\"none\\\",lineType:10}}},\\\"DEFAULT\\\")}),Ea(u),u.nodes().forEach(function(E){E!==void 0&&u.node(E)!==void 0&&(B.debug(\\\"Node \\\"+E+\\\": \\\"+JSON.stringify(u.node(E))),o.select(\\\"#\\\"+(n.db.lookUpDomId(E)||E)).attr(\\\"transform\\\",\\\"translate(\\\"+(u.node(E).x-u.node(E).width/2)+\\\",\\\"+(u.node(E).y-u.node(E).height/2)+\\\" )\\\"))}),u.edges().forEach(function(E){E!==void 0&&u.edge(E)!==void 0&&(B.debug(\\\"Edge \\\"+E.v+\\\" -> \\\"+E.w+\\\": \\\"+JSON.stringify(u.edge(E))),x0.drawEdge(l,u.edge(E),u.edge(E).relation,i,n))});const b=l.node().getBBox(),k=b.width+hu*2,T=b.height+hu*2;xn(l,T,k,i.useMaxWidth);const L=`${b.x-hu} ${b.y-hu} ${k} ${T}`;B.debug(`viewBox ${L}`),l.attr(\\\"viewBox\\\",L)}};function yi(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:fB(t),edges:pB(t)};return Ze(t.graph())||(e.value=AL(t.graph())),e}function fB(t){return ir(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Ze(r)||(i.value=r),Ze(n)||(i.parent=n),i})}function pB(t){return ir(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Ze(e.name)||(n.name=e.name),Ze(r)||(n.value=r),n})}const gB=(t,e,r,n)=>{e.forEach(i=>{yB[i](t,r,n)})},yB={extension:(t,e,r)=>{B.trace(\\\"Making markers for \\\",r),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-extensionStart\\\").attr(\\\"class\\\",\\\"marker extension \\\"+e).attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 1,7 L18,13 V 1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-extensionEnd\\\").attr(\\\"class\\\",\\\"marker extension \\\"+e).attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 1,1 V 13 L18,7 Z\\\")},composition:(t,e)=>{t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-compositionStart\\\").attr(\\\"class\\\",\\\"marker composition \\\"+e).attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-compositionEnd\\\").attr(\\\"class\\\",\\\"marker composition \\\"+e).attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\")},aggregation:(t,e)=>{t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-aggregationStart\\\").attr(\\\"class\\\",\\\"marker aggregation \\\"+e).attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-aggregationEnd\\\").attr(\\\"class\\\",\\\"marker aggregation \\\"+e).attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L1,7 L9,1 Z\\\")},dependency:(t,e)=>{t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-dependencyStart\\\").attr(\\\"class\\\",\\\"marker dependency \\\"+e).attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 5,7 L9,13 L1,7 L9,1 Z\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-dependencyEnd\\\").attr(\\\"class\\\",\\\"marker dependency \\\"+e).attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L14,7 L9,1 Z\\\")},lollipop:(t,e)=>{t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-lollipopStart\\\").attr(\\\"class\\\",\\\"marker lollipop \\\"+e).attr(\\\"refX\\\",0).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",190).attr(\\\"markerHeight\\\",240).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"circle\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"fill\\\",\\\"white\\\").attr(\\\"cx\\\",6).attr(\\\"cy\\\",7).attr(\\\"r\\\",6)},point:(t,e)=>{t.append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-pointEnd\\\").attr(\\\"class\\\",\\\"marker \\\"+e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",10).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",12).attr(\\\"markerHeight\\\",12).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 10 5 L 0 10 z\\\").attr(\\\"class\\\",\\\"arrowMarkerPath\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\"),t.append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-pointStart\\\").attr(\\\"class\\\",\\\"marker \\\"+e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",0).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",12).attr(\\\"markerHeight\\\",12).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 5 L 10 10 L 10 0 z\\\").attr(\\\"class\\\",\\\"arrowMarkerPath\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\")},circle:(t,e)=>{t.append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-circleEnd\\\").attr(\\\"class\\\",\\\"marker \\\"+e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",11).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",11).attr(\\\"markerHeight\\\",11).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"circle\\\").attr(\\\"cx\\\",\\\"5\\\").attr(\\\"cy\\\",\\\"5\\\").attr(\\\"r\\\",\\\"5\\\").attr(\\\"class\\\",\\\"arrowMarkerPath\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\"),t.append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-circleStart\\\").attr(\\\"class\\\",\\\"marker \\\"+e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",-1).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",11).attr(\\\"markerHeight\\\",11).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"circle\\\").attr(\\\"cx\\\",\\\"5\\\").attr(\\\"cy\\\",\\\"5\\\").attr(\\\"r\\\",\\\"5\\\").attr(\\\"class\\\",\\\"arrowMarkerPath\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\")},cross:(t,e)=>{t.append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-crossEnd\\\").attr(\\\"class\\\",\\\"marker cross \\\"+e).attr(\\\"viewBox\\\",\\\"0 0 11 11\\\").attr(\\\"refX\\\",12).attr(\\\"refY\\\",5.2).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",11).attr(\\\"markerHeight\\\",11).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 1,1 l 9,9 M 10,1 l -9,9\\\").attr(\\\"class\\\",\\\"arrowMarkerPath\\\").style(\\\"stroke-width\\\",2).style(\\\"stroke-dasharray\\\",\\\"1,0\\\"),t.append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-crossStart\\\").attr(\\\"class\\\",\\\"marker cross \\\"+e).attr(\\\"viewBox\\\",\\\"0 0 11 11\\\").attr(\\\"refX\\\",-1).attr(\\\"refY\\\",5.2).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",11).attr(\\\"markerHeight\\\",11).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 1,1 l 9,9 M 10,1 l -9,9\\\").attr(\\\"class\\\",\\\"arrowMarkerPath\\\").style(\\\"stroke-width\\\",2).style(\\\"stroke-dasharray\\\",\\\"1,0\\\")},barb:(t,e)=>{t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",e+\\\"-barbEnd\\\").attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",14).attr(\\\"markerUnits\\\",\\\"strokeWidth\\\").attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 19,7 L9,13 L14,7 L9,1 Z\\\")}},mB=gB;function bB(t,e){e&&t.attr(\\\"style\\\",e)}function _B(t){const e=St(document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"foreignObject\\\")),r=e.append(\\\"xhtml:div\\\"),n=t.label,i=t.isNode?\\\"nodeLabel\\\":\\\"edgeLabel\\\";return r.html('\u003Cspan class=\\\"'+i+'\\\" '+(t.labelStyle?'style=\\\"'+t.labelStyle+'\\\"':\\\"\\\")+\\\">\\\"+n+\\\"\u003C/span>\\\"),bB(r,t.labelStyle),r.style(\\\"display\\\",\\\"inline-block\\\"),r.style(\\\"white-space\\\",\\\"nowrap\\\"),r.attr(\\\"xmlns\\\",\\\"http://www.w3.org/1999/xhtml\\\"),e.node()}const Vr=(t,e,r,n)=>{let i=t||\\\"\\\";if(typeof i==\\\"object\\\"&&(i=i[0]),pr($().flowchart.htmlLabels)){i=i.replace(/\\\\\\\\n|\\\\n/g,\\\"\u003Cbr />\\\"),B.info(\\\"vertexText\\\"+i);const s={isNode:n,label:Id(i).replace(/fa[blrs]?:fa-[\\\\w-]+/g,o=>`\u003Ci class='${o.replace(\\\":\\\",\\\" \\\")}'>\u003C/i>`),labelStyle:e.replace(\\\"fill:\\\",\\\"color:\\\")};return _B(s)}else{const s=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");s.setAttribute(\\\"style\\\",e.replace(\\\"color:\\\",\\\"fill:\\\"));let a=[];typeof i==\\\"string\\\"?a=i.split(/\\\\\\\\n|\\\\n|\u003Cbr\\\\s*\\\\/?>/gi):Array.isArray(i)?a=i:a=[];for(const o of a){const l=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\");l.setAttributeNS(\\\"http://www.w3.org/XML/1998/namespace\\\",\\\"xml:space\\\",\\\"preserve\\\"),l.setAttribute(\\\"dy\\\",\\\"1em\\\"),l.setAttribute(\\\"x\\\",\\\"0\\\"),r?l.setAttribute(\\\"class\\\",\\\"title-row\\\"):l.setAttribute(\\\"class\\\",\\\"row\\\"),l.textContent=o.trim(),s.appendChild(l)}return s}},Er=(t,e,r,n)=>{let i;r?i=r:i=\\\"node default\\\";const s=t.insert(\\\"g\\\").attr(\\\"class\\\",i).attr(\\\"id\\\",e.domId||e.id),a=s.insert(\\\"g\\\").attr(\\\"class\\\",\\\"label\\\").attr(\\\"style\\\",e.labelStyle);let o;e.labelText===void 0?o=\\\"\\\":o=typeof e.labelText==\\\"string\\\"?e.labelText:e.labelText[0];const l=a.node().appendChild(Vr(yn(Id(o),$()),e.labelStyle,!1,n));let u=l.getBBox();if(pr($().flowchart.htmlLabels)){const f=l.children[0],p=St(l);u=f.getBoundingClientRect(),p.attr(\\\"width\\\",u.width),p.attr(\\\"height\\\",u.height)}const d=e.padding/2;return a.attr(\\\"transform\\\",\\\"translate(\\\"+-u.width/2+\\\", \\\"+-u.height/2+\\\")\\\"),{shapeSvg:s,bbox:u,halfPadding:d,label:a}},Qe=(t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height};function mi(t,e,r,n){return t.insert(\\\"polygon\\\",\\\":first-child\\\").attr(\\\"points\\\",n.map(function(i){return i.x+\\\",\\\"+i.y}).join(\\\" \\\")).attr(\\\"class\\\",\\\"label-container\\\").attr(\\\"transform\\\",\\\"translate(\\\"+-e/2+\\\",\\\"+r/2+\\\")\\\")}let Te={},Ln={},Em={};const xB=()=>{Ln={},Em={},Te={}},du=(t,e)=>(B.trace(\\\"In isDecendant\\\",e,\\\" \\\",t,\\\" = \\\",Ln[e].includes(t)),!!Ln[e].includes(t)),vB=(t,e)=>(B.info(\\\"Decendants of \\\",e,\\\" is \\\",Ln[e]),B.info(\\\"Edge is \\\",t),t.v===e||t.w===e?!1:Ln[e]?Ln[e].includes(t.v)||du(t.v,e)||du(t.w,e)||Ln[e].includes(t.w):(B.debug(\\\"Tilt, \\\",e,\\\",not in decendants\\\"),!1)),Cm=(t,e,r,n)=>{B.warn(\\\"Copying children of \\\",t,\\\"root\\\",n,\\\"data\\\",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),B.warn(\\\"Copying (nodes) clusterId\\\",t,\\\"nodes\\\",i),i.forEach(s=>{if(e.children(s).length>0)Cm(s,e,r,n);else{const a=e.node(s);B.info(\\\"cp \\\",s,\\\" to \\\",n,\\\" with parent \\\",t),r.setNode(s,a),n!==e.parent(s)&&(B.warn(\\\"Setting parent\\\",s,e.parent(s)),r.setParent(s,e.parent(s))),t!==n&&s!==t?(B.debug(\\\"Setting parent\\\",s,t),r.setParent(s,t)):(B.info(\\\"In copy \\\",t,\\\"root\\\",n,\\\"data\\\",e.node(t),n),B.debug(\\\"Not Setting parent for node=\\\",s,\\\"cluster!==rootId\\\",t!==n,\\\"node!==clusterId\\\",s!==t));const o=e.edges(s);B.debug(\\\"Copying Edges\\\",o),o.forEach(l=>{B.info(\\\"Edge\\\",l);const u=e.edge(l.v,l.w,l.name);B.info(\\\"Edge data\\\",u,n);try{vB(l,n)?(B.info(\\\"Copying as \\\",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),B.info(\\\"newGraph edges \\\",r.edges(),r.edge(r.edges()[0]))):B.info(\\\"Skipping copy of edge \\\",l.v,\\\"-->\\\",l.w,\\\" rootId: \\\",n,\\\" clusterId:\\\",t)}catch(d){B.error(d)}})}B.debug(\\\"Removing node\\\",s),e.removeNode(s)})},Sm=(t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)Em[i]=t,n=[...n,...Sm(i,e)];return n},Po=(t,e)=>{B.trace(\\\"Searching\\\",t);const r=e.children(t);if(B.trace(\\\"Searching children of id \\\",t,r),r.length\u003C1)return B.trace(\\\"This is a valid node\\\",t),t;for(const n of r){const i=Po(n,e);if(i)return B.trace(\\\"Found replacement for\\\",t,\\\" => \\\",i),i}},fu=t=>!Te[t]||!Te[t].externalConnections?t:Te[t]?Te[t].id:t,kB=(t,e)=>{if(!t||e>10){B.debug(\\\"Opting out, no graph \\\");return}else B.debug(\\\"Opting in, graph \\\");t.nodes().forEach(function(r){t.children(r).length>0&&(B.warn(\\\"Cluster identified\\\",r,\\\" Replacement id in edges: \\\",Po(r,t)),Ln[r]=Sm(r,t),Te[r]={id:Po(r,t),clusterData:t.node(r)})}),t.nodes().forEach(function(r){const n=t.children(r),i=t.edges();n.length>0?(B.debug(\\\"Cluster identified\\\",r,Ln),i.forEach(s=>{if(s.v!==r&&s.w!==r){const a=du(s.v,r),o=du(s.w,r);a^o&&(B.warn(\\\"Edge: \\\",s,\\\" leaves cluster \\\",r),B.warn(\\\"Decendants of XXX \\\",r,\\\": \\\",Ln[r]),Te[r].externalConnections=!0)}})):B.debug(\\\"Not a cluster \\\",r,Ln)}),t.edges().forEach(function(r){const n=t.edge(r);B.warn(\\\"Edge \\\"+r.v+\\\" -> \\\"+r.w+\\\": \\\"+JSON.stringify(r)),B.warn(\\\"Edge \\\"+r.v+\\\" -> \\\"+r.w+\\\": \\\"+JSON.stringify(t.edge(r)));let i=r.v,s=r.w;if(B.warn(\\\"Fix XXX\\\",Te,\\\"ids:\\\",r.v,r.w,\\\"Translating: \\\",Te[r.v],\\\" --- \\\",Te[r.w]),Te[r.v]&&Te[r.w]&&Te[r.v]===Te[r.w]){B.warn(\\\"Fixing and trixing link to self - removing XXX\\\",r.v,r.w,r.name),B.warn(\\\"Fixing and trixing - removing XXX\\\",r.v,r.w,r.name),i=fu(r.v),s=fu(r.w),t.removeEdge(r.v,r.w,r.name);const a=r.w+\\\"---\\\"+r.v;t.setNode(a,{domId:a,id:a,labelStyle:\\\"\\\",labelText:n.label,padding:0,shape:\\\"labelRect\\\",style:\\\"\\\"});const o=JSON.parse(JSON.stringify(n)),l=JSON.parse(JSON.stringify(n));o.label=\\\"\\\",o.arrowTypeEnd=\\\"none\\\",l.label=\\\"\\\",o.fromCluster=r.v,l.toCluster=r.v,t.setEdge(i,a,o,r.name+\\\"-cyclic-special\\\"),t.setEdge(a,s,l,r.name+\\\"-cyclic-special\\\")}else(Te[r.v]||Te[r.w])&&(B.warn(\\\"Fixing and trixing - removing XXX\\\",r.v,r.w,r.name),i=fu(r.v),s=fu(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v&&(n.fromCluster=r.v),s!==r.w&&(n.toCluster=r.w),B.warn(\\\"Fix Replacing with XXX\\\",i,s,r.name),t.setEdge(i,s,n,r.name))}),B.warn(\\\"Adjusted Graph\\\",yi(t)),Am(t,0),B.trace(Te)},Am=(t,e)=>{if(B.warn(\\\"extractor - \\\",e,yi(t),t.children(\\\"D\\\")),e>10){B.error(\\\"Bailing out\\\");return}let r=t.nodes(),n=!1;for(const i of r){const s=t.children(i);n=n||s.length>0}if(!n){B.debug(\\\"Done, no node has children\\\",t.nodes());return}B.debug(\\\"Nodes = \\\",r,e);for(const i of r)if(B.debug(\\\"Extracting node\\\",i,Te,Te[i]&&!Te[i].externalConnections,!t.parent(i),t.node(i),t.children(\\\"D\\\"),\\\" Depth \\\",e),!Te[i])B.debug(\\\"Not a cluster\\\",i,e);else if(!Te[i].externalConnections&&t.children(i)&&t.children(i).length>0){B.warn(\\\"Cluster without external connections, without a parent and with children\\\",i,e);let a=t.graph().rankdir===\\\"TB\\\"?\\\"LR\\\":\\\"TB\\\";Te[i]&&Te[i].clusterData&&Te[i].clusterData.dir&&(a=Te[i].clusterData.dir,B.warn(\\\"Fixing dir\\\",Te[i].clusterData.dir,a));const o=new sr({multigraph:!0,compound:!0}).setGraph({rankdir:a,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});B.warn(\\\"Old graph before copy\\\",yi(t)),Cm(i,t,o,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Te[i].clusterData,labelText:Te[i].labelText,graph:o}),B.warn(\\\"New graph after copy node: (\\\",i,\\\")\\\",yi(o)),B.debug(\\\"Old graph after copy\\\",yi(t))}else B.warn(\\\"Cluster ** \\\",i,\\\" **not meeting the criteria !externalConnections:\\\",!Te[i].externalConnections,\\\" no parent: \\\",!t.parent(i),\\\" children \\\",t.children(i)&&t.children(i).length>0,t.children(\\\"D\\\"),e),B.debug(Te);r=t.nodes(),B.warn(\\\"New list of nodes\\\",r);for(const i of r){const s=t.node(i);B.warn(\\\" Now next level\\\",i,s),s.clusterNode&&Am(s.graph,e+1)}},Lm=(t,e)=>{if(e.length===0)return[];let r=Object.assign(e);return e.forEach(n=>{const i=t.children(n),s=Lm(t,i);r=[...r,...s]}),r},wB=t=>Lm(t,t.children());function TB(t,e){return t.intersect(e)}function Dm(t,e,r,n){var i=t.x,s=t.y,a=i-n.x,o=s-n.y,l=Math.sqrt(e*e*o*o+r*r*a*a),u=Math.abs(e*r*a/l);n.x\u003Ci&&(u=-u);var d=Math.abs(e*r*o/l);return n.y\u003Cs&&(d=-d),{x:i+u,y:s+d}}function EB(t,e,r){return Dm(t,e,e,r)}function CB(t,e,r,n){var i,s,a,o,l,u,d,f,p,g,b,k,T,L,E;if(i=e.y-t.y,a=t.x-e.x,l=e.x*t.y-t.x*e.y,p=i*r.x+a*r.y+l,g=i*n.x+a*n.y+l,!(p!==0&&g!==0&&Mm(p,g))&&(s=n.y-r.y,o=r.x-n.x,u=n.x*r.y-r.x*n.y,d=s*t.x+o*t.y+u,f=s*e.x+o*e.y+u,!(d!==0&&f!==0&&Mm(d,f))&&(b=i*o-s*a,b!==0)))return k=Math.abs(b/2),T=a*u-o*l,L=T\u003C0?(T-k)/b:(T+k)/b,T=s*l-i*u,E=T\u003C0?(T-k)/b:(T+k)/b,{x:L,y:E}}function Mm(t,e){return t*e>0}function SB(t,e,r){var n=t.x,i=t.y,s=[],a=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach==\\\"function\\\"?e.forEach(function(b){a=Math.min(a,b.x),o=Math.min(o,b.y)}):(a=Math.min(a,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-a,u=i-t.height/2-o,d=0;d\u003Ce.length;d++){var f=e[d],p=e[d\u003Ce.length-1?d+1:0],g=CB(t,r,{x:l+f.x,y:u+f.y},{x:l+p.x,y:u+p.y});g&&s.push(g)}return s.length?(s.length>1&&s.sort(function(b,k){var T=b.x-r.x,L=b.y-r.y,E=Math.sqrt(T*T+L*L),I=k.x-r.x,V=k.y-r.y,H=Math.sqrt(I*I+V*V);return E\u003CH?-1:E===H?0:1}),s[0]):t}const Yo=(t,e)=>{var r=t.x,n=t.y,i=e.x-r,s=e.y-n,a=t.width/2,o=t.height/2,l,u;return Math.abs(s)*a>Math.abs(i)*o?(s\u003C0&&(o=-o),l=s===0?0:o*i/s,u=o):(i\u003C0&&(a=-a),l=a,u=i===0?0:a*s/i),{x:r+l,y:n+u}},Ge={node:TB,circle:EB,ellipse:Dm,polygon:SB,rect:Yo},AB=(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=Er(t,e,\\\"node \\\"+e.classes,!0);B.info(\\\"Classes = \\\",e.classes);const s=r.insert(\\\"rect\\\",\\\":first-child\\\");return s.attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"x\\\",-n.width/2-i).attr(\\\"y\\\",-n.height/2-i).attr(\\\"width\\\",n.width+e.padding).attr(\\\"height\\\",n.height+e.padding),Qe(e,s),e.intersect=function(a){return Ge.rect(e,a)},r},LB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=i+s,o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];B.info(\\\"Question main (Circle)\\\");const l=mi(r,a,a,o);return l.attr(\\\"style\\\",e.style),Qe(e,l),e.intersect=function(u){return B.warn(\\\"Intersect called\\\"),Ge.polygon(e,o,u)},r},DB=(t,e)=>{const r=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"node default\\\").attr(\\\"id\\\",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert(\\\"polygon\\\",\\\":first-child\\\").attr(\\\"points\\\",i.map(function(a){return a.x+\\\",\\\"+a.y}).join(\\\" \\\")).attr(\\\"class\\\",\\\"state-start\\\").attr(\\\"r\\\",7).attr(\\\"width\\\",28).attr(\\\"height\\\",28),e.width=28,e.height=28,e.intersect=function(a){return Ge.circle(e,14,a)},r},MB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=4,s=n.height+e.padding,a=s/i,o=n.width+2*a+e.padding,l=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-s/2},{x:o-a,y:-s},{x:a,y:-s},{x:0,y:-s/2}],u=mi(r,o,s,l);return u.attr(\\\"style\\\",e.style),Qe(e,u),e.intersect=function(d){return Ge.polygon(e,l,d)},r},NB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:-s/2,y:0},{x:i,y:0},{x:i,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return mi(r,i,s,a).attr(\\\"style\\\",e.style),e.width=i+s,e.height=s,e.intersect=function(l){return Ge.polygon(e,a,l)},r},BB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:-2*s/6,y:0},{x:i-s/6,y:0},{x:i+2*s/6,y:-s},{x:s/6,y:-s}],o=mi(r,i,s,a);return o.attr(\\\"style\\\",e.style),Qe(e,o),e.intersect=function(l){return Ge.polygon(e,a,l)},r},IB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:2*s/6,y:0},{x:i+s/6,y:0},{x:i-2*s/6,y:-s},{x:-s/6,y:-s}],o=mi(r,i,s,a);return o.attr(\\\"style\\\",e.style),Qe(e,o),e.intersect=function(l){return Ge.polygon(e,a,l)},r},OB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:-2*s/6,y:0},{x:i+2*s/6,y:0},{x:i-s/6,y:-s},{x:s/6,y:-s}],o=mi(r,i,s,a);return o.attr(\\\"style\\\",e.style),Qe(e,o),e.intersect=function(l){return Ge.polygon(e,a,l)},r},RB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:s/6,y:0},{x:i-s/6,y:0},{x:i+2*s/6,y:-s},{x:-2*s/6,y:-s}],o=mi(r,i,s,a);return o.attr(\\\"style\\\",e.style),Qe(e,o),e.intersect=function(l){return Ge.polygon(e,a,l)},r},FB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:0,y:0},{x:i+s/2,y:0},{x:i,y:-s/2},{x:i+s/2,y:-s},{x:0,y:-s}],o=mi(r,i,s,a);return o.attr(\\\"style\\\",e.style),Qe(e,o),e.intersect=function(l){return Ge.polygon(e,a,l)},r},PB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=i/2,a=s/(2.5+i/50),o=n.height+a+e.padding,l=\\\"M 0,\\\"+a+\\\" a \\\"+s+\\\",\\\"+a+\\\" 0,0,0 \\\"+i+\\\" 0 a \\\"+s+\\\",\\\"+a+\\\" 0,0,0 \\\"+-i+\\\" 0 l 0,\\\"+o+\\\" a \\\"+s+\\\",\\\"+a+\\\" 0,0,0 \\\"+i+\\\" 0 l 0,\\\"+-o,u=r.attr(\\\"label-offset-y\\\",a).insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"style\\\",e.style).attr(\\\"d\\\",l).attr(\\\"transform\\\",\\\"translate(\\\"+-i/2+\\\",\\\"+-(o/2+a)+\\\")\\\");return Qe(e,u),e.intersect=function(d){const f=Ge.rect(e,d),p=f.x-e.x;if(s!=0&&(Math.abs(p)\u003Ce.width/2||Math.abs(p)==e.width/2&&Math.abs(f.y-e.y)>e.height/2-a)){let g=a*a*(1-p*p/(s*s));g!=0&&(g=Math.sqrt(g)),g=a-g,d.y-e.y>0&&(g=-g),f.y+=g}return f},r},YB=(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=Er(t,e,\\\"node \\\"+e.classes,!0);B.trace(\\\"Classes = \\\",e.classes);const s=r.insert(\\\"rect\\\",\\\":first-child\\\"),a=n.width+e.padding,o=n.height+e.padding;if(s.attr(\\\"class\\\",\\\"basic label-container\\\").attr(\\\"style\\\",e.style).attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"x\\\",-n.width/2-i).attr(\\\"y\\\",-n.height/2-i).attr(\\\"width\\\",a).attr(\\\"height\\\",o),e.props){const l=new Set(Object.keys(e.props));e.props.borders&&(Nm(s,e.props.borders,a,o),l.delete(\\\"borders\\\")),l.forEach(u=>{B.warn(`Unknown node property ${u}`)})}return Qe(e,s),e.intersect=function(l){return Ge.rect(e,l)},r},VB=(t,e)=>{const{shapeSvg:r}=Er(t,e,\\\"label\\\",!0);B.trace(\\\"Classes = \\\",e.classes);const n=r.insert(\\\"rect\\\",\\\":first-child\\\"),i=0,s=0;if(n.attr(\\\"width\\\",i).attr(\\\"height\\\",s),r.attr(\\\"class\\\",\\\"label edgeLabel\\\"),e.props){const a=new Set(Object.keys(e.props));e.props.borders&&(Nm(n,e.props.borders,i,s),a.delete(\\\"borders\\\")),a.forEach(o=>{B.warn(`Unknown node property ${o}`)})}return Qe(e,n),e.intersect=function(a){return Ge.rect(e,a)},r};function Nm(t,e,r,n){const i=[],s=o=>{i.push(o,0)},a=o=>{i.push(0,o)};e.includes(\\\"t\\\")?(B.debug(\\\"add top border\\\"),s(r)):a(r),e.includes(\\\"r\\\")?(B.debug(\\\"add right border\\\"),s(n)):a(n),e.includes(\\\"b\\\")?(B.debug(\\\"add bottom border\\\"),s(r)):a(r),e.includes(\\\"l\\\")?(B.debug(\\\"add left border\\\"),s(n)):a(n),t.attr(\\\"stroke-dasharray\\\",i.join(\\\" \\\"))}const UB=(t,e)=>{let r;e.classes?r=\\\"node \\\"+e.classes:r=\\\"node default\\\";const n=t.insert(\\\"g\\\").attr(\\\"class\\\",r).attr(\\\"id\\\",e.domId||e.id),i=n.insert(\\\"rect\\\",\\\":first-child\\\"),s=n.insert(\\\"line\\\"),a=n.insert(\\\"g\\\").attr(\\\"class\\\",\\\"label\\\"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l=\\\"\\\";typeof o==\\\"object\\\"?l=o[0]:l=o,B.info(\\\"Label text abc79\\\",l,o,typeof o==\\\"object\\\");const u=a.node().appendChild(Vr(l,e.labelStyle,!0,!0));let d={width:0,height:0};if(pr($().flowchart.htmlLabels)){const k=u.children[0],T=St(u);d=k.getBoundingClientRect(),T.attr(\\\"width\\\",d.width),T.attr(\\\"height\\\",d.height)}B.info(\\\"Text 2\\\",o);const f=o.slice(1,o.length);let p=u.getBBox();const g=a.node().appendChild(Vr(f.join?f.join(\\\"\u003Cbr/>\\\"):f,e.labelStyle,!0,!0));if(pr($().flowchart.htmlLabels)){const k=g.children[0],T=St(g);d=k.getBoundingClientRect(),T.attr(\\\"width\\\",d.width),T.attr(\\\"height\\\",d.height)}const b=e.padding/2;return St(g).attr(\\\"transform\\\",\\\"translate( \\\"+(d.width>p.width?0:(p.width-d.width)/2)+\\\", \\\"+(p.height+b+5)+\\\")\\\"),St(u).attr(\\\"transform\\\",\\\"translate( \\\"+(d.width\u003Cp.width?0:-(p.width-d.width)/2)+\\\", \\\"+0+\\\")\\\"),d=a.node().getBBox(),a.attr(\\\"transform\\\",\\\"translate(\\\"+-d.width/2+\\\", \\\"+(-d.height/2-b+3)+\\\")\\\"),i.attr(\\\"class\\\",\\\"outer title-state\\\").attr(\\\"x\\\",-d.width/2-b).attr(\\\"y\\\",-d.height/2-b).attr(\\\"width\\\",d.width+e.padding).attr(\\\"height\\\",d.height+e.padding),s.attr(\\\"class\\\",\\\"divider\\\").attr(\\\"x1\\\",-d.width/2-b).attr(\\\"x2\\\",d.width/2+b).attr(\\\"y1\\\",-d.height/2-b+p.height+b).attr(\\\"y2\\\",-d.height/2-b+p.height+b),Qe(e,i),e.intersect=function(k){return Ge.rect(e,k)},n},zB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.height+e.padding,s=n.width+i/4+e.padding,a=r.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"style\\\",e.style).attr(\\\"rx\\\",i/2).attr(\\\"ry\\\",i/2).attr(\\\"x\\\",-s/2).attr(\\\"y\\\",-i/2).attr(\\\"width\\\",s).attr(\\\"height\\\",i);return Qe(e,a),e.intersect=function(o){return Ge.rect(e,o)},r},WB=(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=Er(t,e,void 0,!0),s=r.insert(\\\"circle\\\",\\\":first-child\\\");return s.attr(\\\"style\\\",e.style).attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"r\\\",n.width/2+i).attr(\\\"width\\\",n.width+e.padding).attr(\\\"height\\\",n.height+e.padding),B.info(\\\"Circle main\\\"),Qe(e,s),e.intersect=function(a){return B.info(\\\"Circle intersect\\\",e,n.width/2+i,a),Ge.circle(e,n.width/2+i,a)},r},HB=(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=Er(t,e,void 0,!0),s=5,a=r.insert(\\\"g\\\",\\\":first-child\\\"),o=a.insert(\\\"circle\\\"),l=a.insert(\\\"circle\\\");return o.attr(\\\"style\\\",e.style).attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"r\\\",n.width/2+i+s).attr(\\\"width\\\",n.width+e.padding+s*2).attr(\\\"height\\\",n.height+e.padding+s*2),l.attr(\\\"style\\\",e.style).attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"r\\\",n.width/2+i).attr(\\\"width\\\",n.width+e.padding).attr(\\\"height\\\",n.height+e.padding),B.info(\\\"DoubleCircle main\\\"),Qe(e,o),e.intersect=function(u){return B.info(\\\"DoubleCircle intersect\\\",e,n.width/2+i+s,u),Ge.circle(e,n.width/2+i+s,u)},r},GB=(t,e)=>{const{shapeSvg:r,bbox:n}=Er(t,e,void 0,!0),i=n.width+e.padding,s=n.height+e.padding,a=[{x:0,y:0},{x:i,y:0},{x:i,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],o=mi(r,i,s,a);return o.attr(\\\"style\\\",e.style),Qe(e,o),e.intersect=function(l){return Ge.polygon(e,a,l)},r},qB=(t,e)=>{const r=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"node default\\\").attr(\\\"id\\\",e.domId||e.id),n=r.insert(\\\"circle\\\",\\\":first-child\\\");return n.attr(\\\"class\\\",\\\"state-start\\\").attr(\\\"r\\\",7).attr(\\\"width\\\",14).attr(\\\"height\\\",14),Qe(e,n),e.intersect=function(i){return Ge.circle(e,7,i)},r},Bm=(t,e,r)=>{const n=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"node default\\\").attr(\\\"id\\\",e.domId||e.id);let i=70,s=10;r===\\\"LR\\\"&&(i=10,s=70);const a=n.append(\\\"rect\\\").attr(\\\"x\\\",-1*i/2).attr(\\\"y\\\",-1*s/2).attr(\\\"width\\\",i).attr(\\\"height\\\",s).attr(\\\"class\\\",\\\"fork-join\\\");return Qe(e,a),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return Ge.rect(e,o)},n},Im={question:LB,rect:YB,labelRect:VB,rectWithTitle:UB,choice:DB,circle:WB,doublecircle:HB,stadium:zB,hexagon:MB,rect_left_inv_arrow:NB,lean_right:BB,lean_left:IB,trapezoid:OB,inv_trapezoid:RB,rect_right_inv_arrow:FB,cylinder:PB,start:qB,end:(t,e)=>{const r=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"node default\\\").attr(\\\"id\\\",e.domId||e.id),n=r.insert(\\\"circle\\\",\\\":first-child\\\"),i=r.insert(\\\"circle\\\",\\\":first-child\\\");return i.attr(\\\"class\\\",\\\"state-start\\\").attr(\\\"r\\\",7).attr(\\\"width\\\",14).attr(\\\"height\\\",14),n.attr(\\\"class\\\",\\\"state-end\\\").attr(\\\"r\\\",5).attr(\\\"width\\\",10).attr(\\\"height\\\",10),Qe(e,i),e.intersect=function(s){return Ge.circle(e,7,s)},r},note:AB,subroutine:GB,fork:Bm,join:Bm,class_box:(t,e)=>{const r=e.padding/2,n=4,i=8;let s;e.classes?s=\\\"node \\\"+e.classes:s=\\\"node default\\\";const a=t.insert(\\\"g\\\").attr(\\\"class\\\",s).attr(\\\"id\\\",e.domId||e.id),o=a.insert(\\\"rect\\\",\\\":first-child\\\"),l=a.insert(\\\"line\\\"),u=a.insert(\\\"line\\\");let d=0,f=n;const p=a.insert(\\\"g\\\").attr(\\\"class\\\",\\\"label\\\");let g=0;const b=e.classData.annotations&&e.classData.annotations[0],k=e.classData.annotations[0]?\\\"\\\\xAB\\\"+e.classData.annotations[0]+\\\"\\\\xBB\\\":\\\"\\\",T=p.node().appendChild(Vr(k,e.labelStyle,!0,!0));let L=T.getBBox();if(pr($().flowchart.htmlLabels)){const W=T.children[0],N=St(T);L=W.getBoundingClientRect(),N.attr(\\\"width\\\",L.width),N.attr(\\\"height\\\",L.height)}e.classData.annotations[0]&&(f+=L.height+n,d+=L.width);let E=e.classData.id;e.classData.type!==void 0&&e.classData.type!==\\\"\\\"&&($().flowchart.htmlLabels?E+=\\\"<\\\"+e.classData.type+\\\">\\\":E+=\\\"\u003C\\\"+e.classData.type+\\\">\\\");const I=p.node().appendChild(Vr(E,e.labelStyle,!0,!0));St(I).attr(\\\"class\\\",\\\"classTitle\\\");let V=I.getBBox();if(pr($().flowchart.htmlLabels)){const W=I.children[0],N=St(I);V=W.getBoundingClientRect(),N.attr(\\\"width\\\",V.width),N.attr(\\\"height\\\",V.height)}f+=V.height+n,V.width>d&&(d=V.width);const H=[];e.classData.members.forEach(W=>{const N=cu(W);let D=N.displayText;$().flowchart.htmlLabels&&(D=D.replace(/\u003C/g,\\\"<\\\").replace(/>/g,\\\">\\\"));const w=p.node().appendChild(Vr(D,N.cssStyle?N.cssStyle:e.labelStyle,!0,!0));let v=w.getBBox();if(pr($().flowchart.htmlLabels)){const M=w.children[0],m=St(w);v=M.getBoundingClientRect(),m.attr(\\\"width\\\",v.width),m.attr(\\\"height\\\",v.height)}v.width>d&&(d=v.width),f+=v.height+n,H.push(w)}),f+=i;const G=[];if(e.classData.methods.forEach(W=>{const N=cu(W);let D=N.displayText;$().flowchart.htmlLabels&&(D=D.replace(/\u003C/g,\\\"<\\\").replace(/>/g,\\\">\\\"));const w=p.node().appendChild(Vr(D,N.cssStyle?N.cssStyle:e.labelStyle,!0,!0));let v=w.getBBox();if(pr($().flowchart.htmlLabels)){const M=w.children[0],m=St(w);v=M.getBoundingClientRect(),m.attr(\\\"width\\\",v.width),m.attr(\\\"height\\\",v.height)}v.width>d&&(d=v.width),f+=v.height+n,G.push(w)}),f+=i,b){let W=(d-L.width)/2;St(T).attr(\\\"transform\\\",\\\"translate( \\\"+(-1*d/2+W)+\\\", \\\"+-1*f/2+\\\")\\\"),g=L.height+n}let Y=(d-V.width)/2;return St(I).attr(\\\"transform\\\",\\\"translate( \\\"+(-1*d/2+Y)+\\\", \\\"+(-1*f/2+g)+\\\")\\\"),g+=V.height+n,l.attr(\\\"class\\\",\\\"divider\\\").attr(\\\"x1\\\",-d/2-r).attr(\\\"x2\\\",d/2+r).attr(\\\"y1\\\",-f/2-r+i+g).attr(\\\"y2\\\",-f/2-r+i+g),g+=i,H.forEach(W=>{St(W).attr(\\\"transform\\\",\\\"translate( \\\"+-d/2+\\\", \\\"+(-1*f/2+g+i/2)+\\\")\\\"),g+=V.height+n}),g+=i,u.attr(\\\"class\\\",\\\"divider\\\").attr(\\\"x1\\\",-d/2-r).attr(\\\"x2\\\",d/2+r).attr(\\\"y1\\\",-f/2-r+i+g).attr(\\\"y2\\\",-f/2-r+i+g),g+=i,G.forEach(W=>{St(W).attr(\\\"transform\\\",\\\"translate( \\\"+-d/2+\\\", \\\"+(-1*f/2+g)+\\\")\\\"),g+=V.height+n}),o.attr(\\\"class\\\",\\\"outer title-state\\\").attr(\\\"x\\\",-d/2-r).attr(\\\"y\\\",-(f/2)-r).attr(\\\"width\\\",d+e.padding).attr(\\\"height\\\",f+e.padding),Qe(e,o),e.intersect=function(W){return Ge.rect(e,W)},a}};let Ca={};const jB=(t,e,r)=>{let n,i;if(e.link){let s;$().securityLevel===\\\"sandbox\\\"?s=\\\"_top\\\":e.linkTarget&&(s=e.linkTarget||\\\"_blank\\\"),n=t.insert(\\\"svg:a\\\").attr(\\\"xlink:href\\\",e.link).attr(\\\"target\\\",s),i=Im[e.shape](n,e,r)}else i=Im[e.shape](t,e,r),n=i;e.tooltip&&i.attr(\\\"title\\\",e.tooltip),e.class&&i.attr(\\\"class\\\",\\\"node default \\\"+e.class),Ca[e.id]=n,e.haveCallback&&Ca[e.id].attr(\\\"class\\\",Ca[e.id].attr(\\\"class\\\")+\\\" clickable\\\")},$B=(t,e)=>{Ca[e.id]=t},XB=()=>{Ca={}},Om=t=>{const e=Ca[t.id];B.trace(\\\"Transforming node\\\",t.diff,t,\\\"translate(\\\"+(t.x-t.width/2-5)+\\\", \\\"+t.width/2+\\\")\\\");const r=8,n=t.diff||0;return t.clusterNode?e.attr(\\\"transform\\\",\\\"translate(\\\"+(t.x+n-t.width/2)+\\\", \\\"+(t.y-t.height/2-r)+\\\")\\\"):e.attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", \\\"+t.y+\\\")\\\"),n},KB={rect:(t,e)=>{B.trace(\\\"Creating subgraph rect for \\\",e.id,e);const r=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"cluster\\\"+(e.class?\\\" \\\"+e.class:\\\"\\\")).attr(\\\"id\\\",e.id),n=r.insert(\\\"rect\\\",\\\":first-child\\\"),i=r.insert(\\\"g\\\").attr(\\\"class\\\",\\\"cluster-label\\\"),s=i.node().appendChild(Vr(e.labelText,e.labelStyle,void 0,!0));let a=s.getBBox();if(pr($().flowchart.htmlLabels)){const f=s.children[0],p=St(s);a=f.getBoundingClientRect(),p.attr(\\\"width\\\",a.width),p.attr(\\\"height\\\",a.height)}const o=0*e.padding,l=o/2,u=e.width\u003C=a.width+o?a.width+o:e.width;e.width\u003C=a.width+o?e.diff=(a.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,B.trace(\\\"Data \\\",e,JSON.stringify(e)),n.attr(\\\"style\\\",e.style).attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"x\\\",e.x-u/2).attr(\\\"y\\\",e.y-e.height/2-l).attr(\\\"width\\\",u).attr(\\\"height\\\",e.height+o),i.attr(\\\"transform\\\",\\\"translate(\\\"+(e.x-a.width/2)+\\\", \\\"+(e.y-e.height/2)+\\\")\\\");const d=n.node().getBBox();return e.width=d.width,e.height=d.height,e.intersect=function(f){return Yo(e,f)},r},roundedWithTitle:(t,e)=>{const r=t.insert(\\\"g\\\").attr(\\\"class\\\",e.classes).attr(\\\"id\\\",e.id),n=r.insert(\\\"rect\\\",\\\":first-child\\\"),i=r.insert(\\\"g\\\").attr(\\\"class\\\",\\\"cluster-label\\\"),s=r.append(\\\"rect\\\"),a=i.node().appendChild(Vr(e.labelText,e.labelStyle,void 0,!0));let o=a.getBBox();if(pr($().flowchart.htmlLabels)){const p=a.children[0],g=St(a);o=p.getBoundingClientRect(),g.attr(\\\"width\\\",o.width),g.attr(\\\"height\\\",o.height)}o=a.getBBox();const l=0*e.padding,u=l/2,d=e.width\u003C=o.width+e.padding?o.width+e.padding:e.width;e.width\u003C=o.width+e.padding?e.diff=(o.width+e.padding*0-e.width)/2:e.diff=-e.padding/2,n.attr(\\\"class\\\",\\\"outer\\\").attr(\\\"x\\\",e.x-d/2-u).attr(\\\"y\\\",e.y-e.height/2-u).attr(\\\"width\\\",d+l).attr(\\\"height\\\",e.height+l),s.attr(\\\"class\\\",\\\"inner\\\").attr(\\\"x\\\",e.x-d/2-u).attr(\\\"y\\\",e.y-e.height/2-u+o.height-1).attr(\\\"width\\\",d+l).attr(\\\"height\\\",e.height+l-o.height-3),i.attr(\\\"transform\\\",\\\"translate(\\\"+(e.x-o.width/2)+\\\", \\\"+(e.y-e.height/2-e.padding/3+(pr($().flowchart.htmlLabels)?5:3))+\\\")\\\");const f=n.node().getBBox();return e.height=f.height,e.intersect=function(p){return Yo(e,p)},r},noteGroup:(t,e)=>{const r=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"note-cluster\\\").attr(\\\"id\\\",e.id),n=r.insert(\\\"rect\\\",\\\":first-child\\\"),i=0*e.padding,s=i/2;n.attr(\\\"rx\\\",e.rx).attr(\\\"ry\\\",e.ry).attr(\\\"x\\\",e.x-e.width/2-s).attr(\\\"y\\\",e.y-e.height/2-s).attr(\\\"width\\\",e.width+i).attr(\\\"height\\\",e.height+i).attr(\\\"fill\\\",\\\"none\\\");const a=n.node().getBBox();return e.width=a.width,e.height=a.height,e.intersect=function(o){return Yo(e,o)},r},divider:(t,e)=>{const r=t.insert(\\\"g\\\").attr(\\\"class\\\",e.classes).attr(\\\"id\\\",e.id),n=r.insert(\\\"rect\\\",\\\":first-child\\\"),i=0*e.padding,s=i/2;n.attr(\\\"class\\\",\\\"divider\\\").attr(\\\"x\\\",e.x-e.width/2-s).attr(\\\"y\\\",e.y-e.height/2).attr(\\\"width\\\",e.width+i).attr(\\\"height\\\",e.height+i);const a=n.node().getBBox();return e.width=a.width,e.height=a.height,e.diff=-e.padding/2,e.intersect=function(o){return Yo(e,o)},r}};let Rm={};const ZB=(t,e)=>{B.trace(\\\"Inserting cluster\\\");const r=e.shape||\\\"rect\\\";Rm[e.id]=KB[r](t,e)},QB=()=>{Rm={}};let pu={},br={};const JB=()=>{pu={},br={}},tI=(t,e)=>{const r=Vr(e.label,e.labelStyle),n=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgeLabel\\\"),i=n.insert(\\\"g\\\").attr(\\\"class\\\",\\\"label\\\");i.node().appendChild(r);let s=r.getBBox();if(pr($().flowchart.htmlLabels)){const o=r.children[0],l=St(r);s=o.getBoundingClientRect(),l.attr(\\\"width\\\",s.width),l.attr(\\\"height\\\",s.height)}i.attr(\\\"transform\\\",\\\"translate(\\\"+-s.width/2+\\\", \\\"+-s.height/2+\\\")\\\"),pu[e.id]=n,e.width=s.width,e.height=s.height;let a;if(e.startLabelLeft){const o=Vr(e.startLabelLeft,e.labelStyle),l=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgeTerminals\\\"),u=l.insert(\\\"g\\\").attr(\\\"class\\\",\\\"inner\\\");a=u.node().appendChild(o);const d=o.getBBox();u.attr(\\\"transform\\\",\\\"translate(\\\"+-d.width/2+\\\", \\\"+-d.height/2+\\\")\\\"),br[e.id]||(br[e.id]={}),br[e.id].startLeft=l,gu(a,e.startLabelLeft)}if(e.startLabelRight){const o=Vr(e.startLabelRight,e.labelStyle),l=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgeTerminals\\\"),u=l.insert(\\\"g\\\").attr(\\\"class\\\",\\\"inner\\\");a=l.node().appendChild(o),u.node().appendChild(o);const d=o.getBBox();u.attr(\\\"transform\\\",\\\"translate(\\\"+-d.width/2+\\\", \\\"+-d.height/2+\\\")\\\"),br[e.id]||(br[e.id]={}),br[e.id].startRight=l,gu(a,e.startLabelRight)}if(e.endLabelLeft){const o=Vr(e.endLabelLeft,e.labelStyle),l=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgeTerminals\\\"),u=l.insert(\\\"g\\\").attr(\\\"class\\\",\\\"inner\\\");a=u.node().appendChild(o);const d=o.getBBox();u.attr(\\\"transform\\\",\\\"translate(\\\"+-d.width/2+\\\", \\\"+-d.height/2+\\\")\\\"),l.node().appendChild(o),br[e.id]||(br[e.id]={}),br[e.id].endLeft=l,gu(a,e.endLabelLeft)}if(e.endLabelRight){const o=Vr(e.endLabelRight,e.labelStyle),l=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgeTerminals\\\"),u=l.insert(\\\"g\\\").attr(\\\"class\\\",\\\"inner\\\");a=u.node().appendChild(o);const d=o.getBBox();u.attr(\\\"transform\\\",\\\"translate(\\\"+-d.width/2+\\\", \\\"+-d.height/2+\\\")\\\"),l.node().appendChild(o),br[e.id]||(br[e.id]={}),br[e.id].endRight=l,gu(a,e.endLabelRight)}};function gu(t,e){$().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+\\\"px\\\",t.style.height=\\\"12px\\\")}const eI=(t,e)=>{B.info(\\\"Moving label abc78 \\\",t.id,t.label,pu[t.id]);let r=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){const n=pu[t.id];let i=t.x,s=t.y;if(r){const a=ge.calcLabelPosition(r);B.info(\\\"Moving label \\\"+t.label+\\\" from (\\\",i,\\\",\\\",s,\\\") to (\\\",a.x,\\\",\\\",a.y,\\\") abc78\\\"),e.updatedPath&&(i=a.x,s=a.y)}n.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\", \\\"+s+\\\")\\\")}if(t.startLabelLeft){const n=br[t.id].startLeft;let i=t.x,s=t.y;if(r){const a=ge.calcTerminalLabelPosition(t.arrowTypeStart?10:0,\\\"start_left\\\",r);i=a.x,s=a.y}n.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\", \\\"+s+\\\")\\\")}if(t.startLabelRight){const n=br[t.id].startRight;let i=t.x,s=t.y;if(r){const a=ge.calcTerminalLabelPosition(t.arrowTypeStart?10:0,\\\"start_right\\\",r);i=a.x,s=a.y}n.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\", \\\"+s+\\\")\\\")}if(t.endLabelLeft){const n=br[t.id].endLeft;let i=t.x,s=t.y;if(r){const a=ge.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,\\\"end_left\\\",r);i=a.x,s=a.y}n.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\", \\\"+s+\\\")\\\")}if(t.endLabelRight){const n=br[t.id].endRight;let i=t.x,s=t.y;if(r){const a=ge.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,\\\"end_right\\\",r);i=a.x,s=a.y}n.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\", \\\"+s+\\\")\\\")}},rI=(t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),s=Math.abs(e.y-n),a=t.width/2,o=t.height/2;return i>=a||s>=o},nI=(t,e,r)=>{B.warn(`intersection calc abc89:\\n outsidePoint: ${JSON.stringify(e)}\\n insidePoint : ${JSON.stringify(r)}\\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,s=Math.abs(n-r.x),a=t.width/2;let o=r.x\u003Ce.x?a-s:a+s;const l=t.height/2,u=Math.abs(e.y-r.y),d=Math.abs(e.x-r.x);if(Math.abs(i-e.y)*a>Math.abs(n-e.x)*l){let f=r.y\u003Ce.y?e.y-l-i:i-l-e.y;o=d*f/u;const p={x:r.x\u003Ce.x?r.x+o:r.x-d+o,y:r.y\u003Ce.y?r.y+u-f:r.y-u+f};return o===0&&(p.x=e.x,p.y=e.y),d===0&&(p.x=e.x),u===0&&(p.y=e.y),B.warn(`abc89 topp/bott calc, Q ${u}, q ${f}, R ${d}, r ${o}`,p),p}else{r.x\u003Ce.x?o=e.x-a-n:o=n-a-e.x;let f=u*o/d,p=r.x\u003Ce.x?r.x+d-o:r.x-d+o,g=r.y\u003Ce.y?r.y+f:r.y-f;return B.warn(`sides calc abc89, Q ${u}, q ${f}, R ${d}, r ${o}`,{_x:p,_y:g}),o===0&&(p=e.x,g=e.y),d===0&&(p=e.x),u===0&&(g=e.y),{x:p,y:g}}},Fm=(t,e)=>{B.warn(\\\"abc88 cutPathAtIntersect\\\",t,e);let r=[],n=t[0],i=!1;return t.forEach(s=>{if(B.info(\\\"abc88 checking point\\\",s,e),!rI(e,s)&&!i){const a=nI(e,n,s);B.warn(\\\"abc88 inside\\\",s,n,a),B.warn(\\\"abc88 intersection\\\",a);let o=!1;r.forEach(l=>{o=o||l.x===a.x&&l.y===a.y}),r.some(l=>l.x===a.x&&l.y===a.y)?B.warn(\\\"abc88 no intersect\\\",a,r):r.push(a),i=!0}else B.warn(\\\"abc88 outside\\\",s,n),n=s,i||r.push(s)}),B.warn(\\\"abc88 returning points\\\",r),r},iI=function(t,e,r,n,i,s){let a=r.points,o=!1;const l=s.node(e.v);var u=s.node(e.w);B.info(\\\"abc88 InsertEdge: \\\",r),u.intersect&&l.intersect&&(a=a.slice(1,r.points.length-1),a.unshift(l.intersect(a[0])),B.info(\\\"Last point\\\",a[a.length-1],u,u.intersect(a[a.length-1])),a.push(u.intersect(a[a.length-1]))),r.toCluster&&(B.info(\\\"to cluster abc88\\\",n[r.toCluster]),a=Fm(r.points,n[r.toCluster].node),o=!0),r.fromCluster&&(B.info(\\\"from cluster abc88\\\",n[r.fromCluster]),a=Fm(a.reverse(),n[r.fromCluster].node).reverse(),o=!0);const d=a.filter(L=>!Number.isNaN(L.y));let f;i===\\\"graph\\\"||i===\\\"flowchart\\\"?f=r.curve||ta:f=ta;const p=Js().x(function(L){return L.x}).y(function(L){return L.y}).curve(f);let g;switch(r.thickness){case\\\"normal\\\":g=\\\"edge-thickness-normal\\\";break;case\\\"thick\\\":g=\\\"edge-thickness-thick\\\";break;default:g=\\\"\\\"}switch(r.pattern){case\\\"solid\\\":g+=\\\" edge-pattern-solid\\\";break;case\\\"dotted\\\":g+=\\\" edge-pattern-dotted\\\";break;case\\\"dashed\\\":g+=\\\" edge-pattern-dashed\\\";break}const b=t.append(\\\"path\\\").attr(\\\"d\\\",p(d)).attr(\\\"id\\\",r.id).attr(\\\"class\\\",\\\" \\\"+g+(r.classes?\\\" \\\"+r.classes:\\\"\\\")).attr(\\\"style\\\",r.style);let k=\\\"\\\";switch(($().flowchart.arrowMarkerAbsolute||$().state.arrowMarkerAbsolute)&&(k=window.location.protocol+\\\"//\\\"+window.location.host+window.location.pathname+window.location.search,k=k.replace(/\\\\(/g,\\\"\\\\\\\\(\\\"),k=k.replace(/\\\\)/g,\\\"\\\\\\\\)\\\")),B.info(\\\"arrowTypeStart\\\",r.arrowTypeStart),B.info(\\\"arrowTypeEnd\\\",r.arrowTypeEnd),r.arrowTypeStart){case\\\"arrow_cross\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-crossStart)\\\");break;case\\\"arrow_point\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-pointStart)\\\");break;case\\\"arrow_barb\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-barbStart)\\\");break;case\\\"arrow_circle\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-circleStart)\\\");break;case\\\"aggregation\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-aggregationStart)\\\");break;case\\\"extension\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-extensionStart)\\\");break;case\\\"composition\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-compositionStart)\\\");break;case\\\"dependency\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-dependencyStart)\\\");break;case\\\"lollipop\\\":b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-lollipopStart)\\\");break}switch(r.arrowTypeEnd){case\\\"arrow_cross\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-crossEnd)\\\");break;case\\\"arrow_point\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-pointEnd)\\\");break;case\\\"arrow_barb\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-barbEnd)\\\");break;case\\\"arrow_circle\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-circleEnd)\\\");break;case\\\"aggregation\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-aggregationEnd)\\\");break;case\\\"extension\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-extensionEnd)\\\");break;case\\\"composition\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-compositionEnd)\\\");break;case\\\"dependency\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-dependencyEnd)\\\");break;case\\\"lollipop\\\":b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#\\\"+i+\\\"-lollipopEnd)\\\");break}let T={};return o&&(T.updatedPath=a),T.originalPath=r.points,T},Pm=(t,e,r,n)=>{B.info(\\\"Graph in recursive render: XXX\\\",yi(e),n);const i=e.graph().rankdir;B.trace(\\\"Dir in recursive render - dir:\\\",i);const s=t.insert(\\\"g\\\").attr(\\\"class\\\",\\\"root\\\");e.nodes()?B.info(\\\"Recursive render XXX\\\",e.nodes()):B.info(\\\"No nodes found for\\\",e),e.edges().length>0&&B.trace(\\\"Recursive edges\\\",e.edge(e.edges()[0]));const a=s.insert(\\\"g\\\").attr(\\\"class\\\",\\\"clusters\\\"),o=s.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgePaths\\\"),l=s.insert(\\\"g\\\").attr(\\\"class\\\",\\\"edgeLabels\\\"),u=s.insert(\\\"g\\\").attr(\\\"class\\\",\\\"nodes\\\");e.nodes().forEach(function(f){const p=e.node(f);if(n!==void 0){const g=JSON.parse(JSON.stringify(n.clusterData));B.info(\\\"Setting data for cluster XXX (\\\",f,\\\") \\\",g,n),e.setNode(n.id,g),e.parent(f)||(B.trace(\\\"Setting parent\\\",f,n.id),e.setParent(f,n.id,g))}if(B.info(\\\"(Insert) Node XXX\\\"+f+\\\": \\\"+JSON.stringify(e.node(f))),p&&p.clusterNode){B.info(\\\"Cluster identified\\\",f,p.width,e.node(f));const g=Pm(u,p.graph,r,e.node(f)),b=g.elem;Qe(p,b),p.diff=g.diff||0,B.info(\\\"Node bounds (abc123)\\\",f,p,p.width,p.x,p.y),$B(b,p),B.warn(\\\"Recursive render complete \\\",b,p)}else e.children(f).length>0?(B.info(\\\"Cluster - the non recursive path XXX\\\",f,p.id,p,e),B.info(Po(p.id,e)),Te[p.id]={id:Po(p.id,e),node:p}):(B.info(\\\"Node - the non recursive path\\\",f,p.id,p),jB(u,e.node(f),i))}),e.edges().forEach(function(f){const p=e.edge(f.v,f.w,f.name);B.info(\\\"Edge \\\"+f.v+\\\" -> \\\"+f.w+\\\": \\\"+JSON.stringify(f)),B.info(\\\"Edge \\\"+f.v+\\\" -> \\\"+f.w+\\\": \\\",f,\\\" \\\",JSON.stringify(e.edge(f))),B.info(\\\"Fix\\\",Te,\\\"ids:\\\",f.v,f.w,\\\"Translateing: \\\",Te[f.v],Te[f.w]),tI(l,p)}),e.edges().forEach(function(f){B.info(\\\"Edge \\\"+f.v+\\\" -> \\\"+f.w+\\\": \\\"+JSON.stringify(f))}),B.info(\\\"#############################################\\\"),B.info(\\\"### Layout ###\\\"),B.info(\\\"#############################################\\\"),B.info(e),Ea(e),B.info(\\\"Graph after layout:\\\",yi(e));let d=0;return wB(e).forEach(function(f){const p=e.node(f);B.info(\\\"Position \\\"+f+\\\": \\\"+JSON.stringify(e.node(f))),B.info(\\\"Position \\\"+f+\\\": (\\\"+p.x,\\\",\\\"+p.y,\\\") width: \\\",p.width,\\\" height: \\\",p.height),p&&p.clusterNode?Om(p):e.children(f).length>0?(ZB(a,p),Te[p.id].node=p):Om(p)}),e.edges().forEach(function(f){const p=e.edge(f);B.info(\\\"Edge \\\"+f.v+\\\" -> \\\"+f.w+\\\": \\\"+JSON.stringify(p),p);const g=iI(o,f,p,Te,r,e);eI(p,g)}),e.nodes().forEach(function(f){const p=e.node(f);B.info(f,p.type,p.diff),p.type===\\\"group\\\"&&(d=p.diff)}),{elem:s,diff:d}},v0=(t,e,r,n,i)=>{mB(t,r,n,i),XB(),JB(),QB(),xB(),B.warn(\\\"Graph at first:\\\",yi(e)),kB(e),B.warn(\\\"Graph after:\\\",yi(e)),Pm(t,e,n)},Ym=t=>he.sanitizeText(t,$());let Vm={dividerMargin:10,padding:5,textHeight:10};const sI=function(t,e,r,n){const i=Object.keys(t);B.info(\\\"keys:\\\",i),B.info(t),i.forEach(function(s){const a=t[s];let o=\\\"\\\";a.cssClasses.length>0&&(o=o+\\\" \\\"+a.cssClasses.join(\\\" \\\"));const l={labelStyle:\\\"\\\"};let u=a.text!==void 0?a.text:a.id,d=0,f=\\\"\\\";switch(a.type){case\\\"class\\\":f=\\\"class_box\\\";break;default:f=\\\"class_box\\\"}e.setNode(a.id,{labelStyle:l.labelStyle,shape:f,labelText:Ym(u),classData:a,rx:d,ry:d,class:o,style:l.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id)||\\\"\\\",haveCallback:a.haveCallback,link:a.link,width:a.type===\\\"group\\\"?500:void 0,type:a.type,padding:$().flowchart.padding}),B.info(\\\"setNode\\\",{labelStyle:l.labelStyle,shape:f,labelText:u,rx:d,ry:d,class:o,style:l.style,id:a.id,width:a.type===\\\"group\\\"?500:void 0,type:a.type,padding:$().flowchart.padding})})},aI=function(t,e,r,n){B.info(t),t.forEach(function(i,s){const a=i;let o=\\\"\\\";const l={labelStyle:\\\"\\\",style:\\\"\\\"};let u=a.text,d=0,f=\\\"note\\\";if(e.setNode(a.id,{labelStyle:l.labelStyle,shape:f,labelText:Ym(u),noteData:a,rx:d,ry:d,class:o,style:l.style,id:a.id,domId:a.id,tooltip:\\\"\\\",type:\\\"note\\\",padding:$().flowchart.padding}),B.info(\\\"setNode\\\",{labelStyle:l.labelStyle,shape:f,labelText:u,rx:d,ry:d,style:l.style,id:a.id,type:\\\"note\\\",padding:$().flowchart.padding}),!a.class||!(a.class in n))return;const p=r+s,g={};g.classes=\\\"relation\\\",g.pattern=\\\"dotted\\\",g.id=`edgeNote${p}`,g.arrowhead=\\\"none\\\",B.info(`Note edge: ${JSON.stringify(g)}, ${JSON.stringify(a)}`),g.startLabelRight=\\\"\\\",g.endLabelLeft=\\\"\\\",g.arrowTypeStart=\\\"none\\\",g.arrowTypeEnd=\\\"none\\\";let b=\\\"fill:none\\\",k=\\\"\\\";g.style=b,g.labelStyle=k,g.curve=bn(Vm.curve,Hr),e.setEdge(a.id,a.class,g,p)})},oI=function(t,e){const r=$().flowchart;let n=0;t.forEach(function(i){n++;const s={};s.classes=\\\"relation\\\",s.pattern=i.relation.lineType==1?\\\"dashed\\\":\\\"solid\\\",s.id=\\\"id\\\"+n,i.type===\\\"arrow_open\\\"?s.arrowhead=\\\"none\\\":s.arrowhead=\\\"normal\\\",B.info(s,i),s.startLabelRight=i.relationTitle1===\\\"none\\\"?\\\"\\\":i.relationTitle1,s.endLabelLeft=i.relationTitle2===\\\"none\\\"?\\\"\\\":i.relationTitle2,s.arrowTypeStart=Um(i.relation.type1),s.arrowTypeEnd=Um(i.relation.type2);let a=\\\"\\\",o=\\\"\\\";if(i.style!==void 0){const l=Vi(i.style);a=l.style,o=l.labelStyle}else a=\\\"fill:none\\\";s.style=a,s.labelStyle=o,i.interpolate!==void 0?s.curve=bn(i.interpolate,Hr):t.defaultInterpolate!==void 0?s.curve=bn(t.defaultInterpolate,Hr):s.curve=bn(r.curve,Hr),i.text=i.title,i.text===void 0?i.style!==void 0&&(s.arrowheadStyle=\\\"fill: #333\\\"):(s.arrowheadStyle=\\\"fill: #333\\\",s.labelpos=\\\"c\\\",$().flowchart.htmlLabels?(s.labelType=\\\"html\\\",s.label='\u003Cspan class=\\\"edgeLabel\\\">'+i.text+\\\"\u003C/span>\\\"):(s.labelType=\\\"text\\\",s.label=i.text.replace(he.lineBreakRegex,`\\n`),i.style===void 0&&(s.style=s.style||\\\"stroke: #333; stroke-width: 1.5px;fill:none\\\"),s.labelStyle=s.labelStyle.replace(\\\"color:\\\",\\\"fill:\\\"))),e.setEdge(i.id1,i.id2,s,n)})},lI=function(t){Object.keys(t).forEach(function(r){Vm[r]=t[r]})},cI=function(t,e,r,n){B.info(\\\"Drawing class - \\\",e);const i=$().flowchart,s=$().securityLevel;B.info(\\\"config:\\\",i);const a=i.nodeSpacing||50,o=i.rankSpacing||50,l=new sr({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:a,ranksep:o,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),u=n.db.getClasses(),d=n.db.getRelations(),f=n.db.getNotes();B.info(d),sI(u,l,e,n),oI(d,l),aI(f,l,d.length+1,u);let p;s===\\\"sandbox\\\"&&(p=St(\\\"#i\\\"+e));const g=St(s===\\\"sandbox\\\"?p.nodes()[0].contentDocument.body:\\\"body\\\"),b=g.select(`[id=\\\"${e}\\\"]`),k=g.select(\\\"#\\\"+e+\\\" g\\\");if(v0(k,l,[\\\"aggregation\\\",\\\"extension\\\",\\\"composition\\\",\\\"dependency\\\",\\\"lollipop\\\"],\\\"classDiagram\\\",e),ge.insertTitle(b,\\\"classTitleText\\\",i.titleTopMargin,n.db.getDiagramTitle()),Sc(l,b,i.diagramPadding,i.useMaxWidth),!i.htmlLabels){const T=s===\\\"sandbox\\\"?p.nodes()[0].contentDocument:document,L=T.querySelectorAll('[id=\\\"'+e+'\\\"] .edgeLabel .label');for(const E of L){const I=E.getBBox(),V=T.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\");V.setAttribute(\\\"rx\\\",0),V.setAttribute(\\\"ry\\\",0),V.setAttribute(\\\"width\\\",I.width),V.setAttribute(\\\"height\\\",I.height),E.insertBefore(V,E.firstChild)}}};function Um(t){let e;switch(t){case 0:e=\\\"aggregation\\\";break;case 1:e=\\\"extension\\\";break;case 2:e=\\\"composition\\\";break;case 3:e=\\\"dependency\\\";break;case 4:e=\\\"lollipop\\\";break;default:e=\\\"none\\\"}return e}const uI={setConf:lI,draw:cI};var k0=function(){var t=function(N,D,w,v){for(w=w||{},v=N.length;v--;w[N[v]]=D);return w},e=[1,2],r=[1,5],n=[6,9,11,23,25,27,29,30,31,49],i=[1,17],s=[1,18],a=[1,19],o=[1,20],l=[1,21],u=[1,22],d=[1,25],f=[1,30],p=[1,31],g=[1,32],b=[1,33],k=[6,9,11,15,20,23,25,27,29,30,31,42,43,44,45,49],T=[1,45],L=[30,31,46,47],E=[4,6,9,11,23,25,27,29,30,31,49],I=[42,43,44,45],V=[22,37],H=[1,64],G={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,\\\":\\\":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyType:35,attributeComment:36,ATTRIBUTE_WORD:37,ATTRIBUTE_KEY:38,COMMENT:39,cardinality:40,relType:41,ZERO_OR_ONE:42,ZERO_OR_MORE:43,ONE_OR_MORE:44,ONLY_ONE:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,open_directive:49,type_directive:50,arg_directive:51,close_directive:52,$accept:0,$end:1},terminals_:{2:\\\"error\\\",4:\\\"ER_DIAGRAM\\\",6:\\\"EOF\\\",9:\\\"SPACE\\\",11:\\\"NEWLINE\\\",15:\\\":\\\",20:\\\"BLOCK_START\\\",22:\\\"BLOCK_STOP\\\",23:\\\"title\\\",24:\\\"title_value\\\",25:\\\"acc_title\\\",26:\\\"acc_title_value\\\",27:\\\"acc_descr\\\",28:\\\"acc_descr_value\\\",29:\\\"acc_descr_multiline_value\\\",30:\\\"ALPHANUM\\\",31:\\\"ENTITY_NAME\\\",37:\\\"ATTRIBUTE_WORD\\\",38:\\\"ATTRIBUTE_KEY\\\",39:\\\"COMMENT\\\",42:\\\"ZERO_OR_ONE\\\",43:\\\"ZERO_OR_MORE\\\",44:\\\"ONE_OR_MORE\\\",45:\\\"ONLY_ONE\\\",46:\\\"NON_IDENTIFYING\\\",47:\\\"IDENTIFYING\\\",48:\\\"WORD\\\",49:\\\"open_directive\\\",50:\\\"type_directive\\\",51:\\\"arg_directive\\\",52:\\\"close_directive\\\"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[36,1],[18,3],[40,1],[40,1],[40,1],[40,1],[41,1],[41,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(D,w,v,M,m,Q,x){var ct=Q.length-1;switch(m){case 1:break;case 3:this.$=[];break;case 4:Q[ct-1].push(Q[ct]),this.$=Q[ct-1];break;case 5:case 6:this.$=Q[ct];break;case 7:case 8:this.$=[];break;case 12:M.addEntity(Q[ct-4]),M.addEntity(Q[ct-2]),M.addRelationship(Q[ct-4],Q[ct],Q[ct-2],Q[ct-3]);break;case 13:M.addEntity(Q[ct-3]),M.addAttributes(Q[ct-3],Q[ct-1]);break;case 14:M.addEntity(Q[ct-2]);break;case 15:M.addEntity(Q[ct]);break;case 16:case 17:this.$=Q[ct].trim(),M.setAccTitle(this.$);break;case 18:case 19:this.$=Q[ct].trim(),M.setAccDescription(this.$);break;case 20:case 41:this.$=Q[ct];break;case 21:case 39:case 40:this.$=Q[ct].replace(/\\\"/g,\\\"\\\");break;case 22:this.$=[Q[ct]];break;case 23:Q[ct].push(Q[ct-1]),this.$=Q[ct];break;case 24:this.$={attributeType:Q[ct-1],attributeName:Q[ct]};break;case 25:this.$={attributeType:Q[ct-2],attributeName:Q[ct-1],attributeKeyType:Q[ct]};break;case 26:this.$={attributeType:Q[ct-2],attributeName:Q[ct-1],attributeComment:Q[ct]};break;case 27:this.$={attributeType:Q[ct-3],attributeName:Q[ct-2],attributeKeyType:Q[ct-1],attributeComment:Q[ct]};break;case 28:case 29:case 30:this.$=Q[ct];break;case 31:this.$=Q[ct].replace(/\\\"/g,\\\"\\\");break;case 32:this.$={cardA:Q[ct],relType:Q[ct-1],cardB:Q[ct-2]};break;case 33:this.$=M.Cardinality.ZERO_OR_ONE;break;case 34:this.$=M.Cardinality.ZERO_OR_MORE;break;case 35:this.$=M.Cardinality.ONE_OR_MORE;break;case 36:this.$=M.Cardinality.ONLY_ONE;break;case 37:this.$=M.Identification.NON_IDENTIFYING;break;case 38:this.$=M.Identification.IDENTIFYING;break;case 42:M.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 43:M.parseDirective(Q[ct],\\\"type_directive\\\");break;case 44:Q[ct]=Q[ct].trim().replace(/'/g,'\\\"'),M.parseDirective(Q[ct],\\\"arg_directive\\\");break;case 45:M.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"er\\\");break}},table:[{3:1,4:e,7:3,12:4,49:r},{1:[3]},t(n,[2,3],{5:6}),{3:7,4:e,7:3,12:4,49:r},{13:8,50:[1,9]},{50:[2,42]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:i,25:s,27:a,29:o,30:l,31:u,49:r},{1:[2,2]},{14:23,15:[1,24],52:d},t([15,52],[2,43]),t(n,[2,8],{1:[2,1]}),t(n,[2,4]),{7:15,10:26,12:4,17:16,23:i,25:s,27:a,29:o,30:l,31:u,49:r},t(n,[2,6]),t(n,[2,7]),t(n,[2,11]),t(n,[2,15],{18:27,40:29,20:[1,28],42:f,43:p,44:g,45:b}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(n,[2,19]),t(k,[2,20]),t(k,[2,21]),{11:[1,37]},{16:38,51:[1,39]},{11:[2,45]},t(n,[2,5]),{17:40,30:l,31:u},{21:41,22:[1,42],32:43,33:44,37:T},{41:46,46:[1,47],47:[1,48]},t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(L,[2,36]),t(n,[2,16]),t(n,[2,17]),t(n,[2,18]),t(E,[2,9]),{14:49,52:d},{52:[2,44]},{15:[1,50]},{22:[1,51]},t(n,[2,14]),{21:52,22:[2,22],32:43,33:44,37:T},{34:53,37:[1,54]},{37:[2,28]},{40:55,42:f,43:p,44:g,45:b},t(I,[2,37]),t(I,[2,38]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],48:[1,58]},t(n,[2,13]),{22:[2,23]},t(V,[2,24],{35:61,36:62,38:[1,63],39:H}),t([22,37,38,39],[2,29]),t([30,31],[2,32]),t(E,[2,10]),t(n,[2,12]),t(n,[2,39]),t(n,[2,40]),t(n,[2,41]),t(V,[2,25],{36:65,39:H}),t(V,[2,26]),t([22,37,39],[2,30]),t(V,[2,31]),t(V,[2,27])],defaultActions:{5:[2,42],7:[2,2],25:[2,45],39:[2,44],45:[2,28],52:[2,23]},parseError:function(D,w){if(w.recoverable)this.trace(D);else{var v=new Error(D);throw v.hash=w,v}},parse:function(D){var w=this,v=[0],M=[],m=[null],Q=[],x=this.table,ct=\\\"\\\",Dt=0,kt=0,j=2,ot=1,rt=Q.slice.call(arguments,1),nt=Object.create(this.lexer),ut={yy:{}};for(var _t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_t)&&(ut.yy[_t]=this.yy[_t]);nt.setInput(D,ut.yy),ut.yy.lexer=nt,ut.yy.parser=this,typeof nt.yylloc>\\\"u\\\"&&(nt.yylloc={});var K=nt.yylloc;Q.push(K);var Ot=nt.options&&nt.options.ranges;typeof ut.yy.parseError==\\\"function\\\"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function P(){var et;return et=M.pop()||nt.lex()||ot,typeof et!=\\\"number\\\"&&(et instanceof Array&&(M=et,et=M.pop()),et=w.symbols_[et]||et),et}for(var z,X,F,O,A={},J,C,ht,U;;){if(X=v[v.length-1],this.defaultActions[X]?F=this.defaultActions[X]:((z===null||typeof z>\\\"u\\\")&&(z=P()),F=x[X]&&x[X][z]),typeof F>\\\"u\\\"||!F.length||!F[0]){var Yt=\\\"\\\";U=[];for(J in x[X])this.terminals_[J]&&J>j&&U.push(\\\"'\\\"+this.terminals_[J]+\\\"'\\\");nt.showPosition?Yt=\\\"Parse error on line \\\"+(Dt+1)+`:\\n`+nt.showPosition()+`\\nExpecting `+U.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[z]||z)+\\\"'\\\":Yt=\\\"Parse error on line \\\"+(Dt+1)+\\\": Unexpected \\\"+(z==ot?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[z]||z)+\\\"'\\\"),this.parseError(Yt,{text:nt.match,token:this.terminals_[z]||z,line:nt.yylineno,loc:K,expected:U})}if(F[0]instanceof Array&&F.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+X+\\\", token: \\\"+z);switch(F[0]){case 1:v.push(z),m.push(nt.yytext),Q.push(nt.yylloc),v.push(F[1]),z=null,kt=nt.yyleng,ct=nt.yytext,Dt=nt.yylineno,K=nt.yylloc;break;case 2:if(C=this.productions_[F[1]][1],A.$=m[m.length-C],A._$={first_line:Q[Q.length-(C||1)].first_line,last_line:Q[Q.length-1].last_line,first_column:Q[Q.length-(C||1)].first_column,last_column:Q[Q.length-1].last_column},Ot&&(A._$.range=[Q[Q.length-(C||1)].range[0],Q[Q.length-1].range[1]]),O=this.performAction.apply(A,[ct,kt,Dt,ut.yy,F[1],m,Q].concat(rt)),typeof O\u003C\\\"u\\\")return O;C&&(v=v.slice(0,-1*C*2),m=m.slice(0,-1*C),Q=Q.slice(0,-1*C)),v.push(this.productions_[F[1]][0]),m.push(A.$),Q.push(A._$),ht=x[v[v.length-2]][v[v.length-1]],v.push(ht);break;case 3:return!0}}return!0}},Y=function(){var N={EOF:1,parseError:function(w,v){if(this.yy.parser)this.yy.parser.parseError(w,v);else throw new Error(w)},setInput:function(D,w){return this.yy=w||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var w=D.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},unput:function(D){var w=D.length,v=D.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var M=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===M.length?this.yylloc.first_column:0)+M[M.length-v.length].length-v[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(D){this.unput(this.match.slice(D))},pastInput:function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?\\\"...\\\":\\\"\\\")+D.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var D=this.match;return D.length\u003C20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var D=this.pastInput(),w=new Array(D.length+1).join(\\\"-\\\");return D+this.upcomingInput()+`\\n`+w+\\\"^\\\"},test_match:function(D,w){var v,M,m;if(this.options.backtrack_lexer&&(m={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(m.yylloc.range=this.yylloc.range.slice(0))),M=D[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),M&&(this.yylineno+=M.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:M?M[M.length-1].length-M[M.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],v=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var Q in m)this[Q]=m[Q];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,w,v,M;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var m=this._currentRules(),Q=0;Q\u003Cm.length;Q++)if(v=this._input.match(this.rules[m[Q]]),v&&(!w||v[0].length>w[0].length)){if(w=v,M=Q,this.options.backtrack_lexer){if(D=this.test_match(v,m[Q]),D!==!1)return D;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(D=this.test_match(w,m[M]),D!==!1?D:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var w=this.next();return w||this.lex()},begin:function(w){this.conditionStack.push(w)},popState:function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:\\\"INITIAL\\\"},pushState:function(w){this.begin(w)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(w,v,M,m){switch(M){case 0:return this.begin(\\\"acc_title\\\"),25;case 1:return this.popState(),\\\"acc_title_value\\\";case 2:return this.begin(\\\"acc_descr\\\"),27;case 3:return this.popState(),\\\"acc_descr_value\\\";case 4:this.begin(\\\"acc_descr_multiline\\\");break;case 5:this.popState();break;case 6:return\\\"acc_descr_multiline_value\\\";case 7:return this.begin(\\\"open_directive\\\"),49;case 8:return this.begin(\\\"type_directive\\\"),50;case 9:return this.popState(),this.begin(\\\"arg_directive\\\"),15;case 10:return this.popState(),this.popState(),52;case 11:return 51;case 12:break;case 13:break;case 14:return 11;case 15:break;case 16:return 9;case 17:return 31;case 18:return 48;case 19:return 4;case 20:return this.begin(\\\"block\\\"),20;case 21:break;case 22:return 38;case 23:return 37;case 24:return 37;case 25:return 39;case 26:break;case 27:return this.popState(),22;case 28:return v.yytext[0];case 29:return 42;case 30:return 44;case 31:return 44;case 32:return 44;case 33:return 42;case 34:return 42;case 35:return 43;case 36:return 43;case 37:return 43;case 38:return 43;case 39:return 43;case 40:return 44;case 41:return 43;case 42:return 44;case 43:return 45;case 44:return 45;case 45:return 45;case 46:return 45;case 47:return 42;case 48:return 43;case 49:return 44;case 50:return 46;case 51:return 47;case 52:return 47;case 53:return 46;case 54:return 46;case 55:return 46;case 56:return 30;case 57:return v.yytext[0];case 58:return 6}},rules:[/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:%(?!\\\\{)[^\\\\n]*)/i,/^(?:[^\\\\}]%%[^\\\\n]*)/i,/^(?:[\\\\n]+)/i,/^(?:\\\\s+)/i,/^(?:[\\\\s]+)/i,/^(?:\\\"[^\\\"%\\\\r\\\\n\\\\v\\\\b\\\\\\\\]+\\\")/i,/^(?:\\\"[^\\\"]*\\\")/i,/^(?:erDiagram\\\\b)/i,/^(?:\\\\{)/i,/^(?:\\\\s+)/i,/^(?:\\\\b((?:PK)|(?:FK))\\\\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[A-Za-z][A-Za-z0-9\\\\-_\\\\[\\\\]]*)/i,/^(?:\\\"[^\\\"]*\\\")/i,/^(?:[\\\\n]+)/i,/^(?:\\\\})/i,/^(?:.)/i,/^(?:one or zero\\\\b)/i,/^(?:one or more\\\\b)/i,/^(?:one or many\\\\b)/i,/^(?:1\\\\+)/i,/^(?:\\\\|o\\\\b)/i,/^(?:zero or one\\\\b)/i,/^(?:zero or more\\\\b)/i,/^(?:zero or many\\\\b)/i,/^(?:0\\\\+)/i,/^(?:\\\\}o\\\\b)/i,/^(?:many\\\\(0\\\\))/i,/^(?:many\\\\(1\\\\))/i,/^(?:many\\\\b)/i,/^(?:\\\\}\\\\|)/i,/^(?:one\\\\b)/i,/^(?:only one\\\\b)/i,/^(?:1\\\\b)/i,/^(?:\\\\|\\\\|)/i,/^(?:o\\\\|)/i,/^(?:o\\\\{)/i,/^(?:\\\\|\\\\{)/i,/^(?:\\\\.\\\\.)/i,/^(?:--)/i,/^(?:to\\\\b)/i,/^(?:optionally to\\\\b)/i,/^(?:\\\\.-)/i,/^(?:-\\\\.)/i,/^(?:[A-Za-z][A-Za-z0-9\\\\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[21,22,23,24,25,26,27,28],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,19,20,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],inclusive:!0}}};return N}();G.lexer=Y;function W(){this.yy={}}return W.prototype=G,G.Parser=W,new W}();k0.parser=k0;const hI=k0,dI=t=>t.match(/^\\\\s*erDiagram/)!==null;let Vo={},w0=[];const fI={ZERO_OR_ONE:\\\"ZERO_OR_ONE\\\",ZERO_OR_MORE:\\\"ZERO_OR_MORE\\\",ONE_OR_MORE:\\\"ONE_OR_MORE\\\",ONLY_ONE:\\\"ONLY_ONE\\\"},pI={NON_IDENTIFYING:\\\"NON_IDENTIFYING\\\",IDENTIFYING:\\\"IDENTIFYING\\\"},gI=function(t,e,r){ze.parseDirective(this,t,e,r)},zm=function(t){return Vo[t]===void 0&&(Vo[t]={attributes:[]},B.info(\\\"Added new entity :\\\",t)),Vo[t]},yI={Cardinality:fI,Identification:pI,parseDirective:gI,getConfig:()=>$().er,addEntity:zm,addAttributes:function(t,e){let r=zm(t),n;for(n=e.length-1;n>=0;n--)r.attributes.push(e[n]),B.debug(\\\"Added attribute \\\",e[n].attributeName)},getEntities:()=>Vo,addRelationship:function(t,e,r,n){let i={entityA:t,roleA:e,entityB:r,relSpec:n};w0.push(i),B.debug(\\\"Added new relationship :\\\",i)},getRelationships:()=>w0,clear:function(){Vo={},w0=[],vn()},setAccTitle:nn,getAccTitle:kn,setAccDescription:wn,getAccDescription:Tn,setDiagramTitle:hi,getDiagramTitle:di},bi={ONLY_ONE_START:\\\"ONLY_ONE_START\\\",ONLY_ONE_END:\\\"ONLY_ONE_END\\\",ZERO_OR_ONE_START:\\\"ZERO_OR_ONE_START\\\",ZERO_OR_ONE_END:\\\"ZERO_OR_ONE_END\\\",ONE_OR_MORE_START:\\\"ONE_OR_MORE_START\\\",ONE_OR_MORE_END:\\\"ONE_OR_MORE_END\\\",ZERO_OR_MORE_START:\\\"ZERO_OR_MORE_START\\\",ZERO_OR_MORE_END:\\\"ZERO_OR_MORE_END\\\"},_i={ERMarkers:bi,insertMarkers:function(t,e){let r;t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ONLY_ONE_START).attr(\\\"refX\\\",0).attr(\\\"refY\\\",9).attr(\\\"markerWidth\\\",18).attr(\\\"markerHeight\\\",18).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M9,0 L9,18 M15,0 L15,18\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ONLY_ONE_END).attr(\\\"refX\\\",18).attr(\\\"refY\\\",9).attr(\\\"markerWidth\\\",18).attr(\\\"markerHeight\\\",18).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M3,0 L3,18 M9,0 L9,18\\\"),r=t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ZERO_OR_ONE_START).attr(\\\"refX\\\",0).attr(\\\"refY\\\",9).attr(\\\"markerWidth\\\",30).attr(\\\"markerHeight\\\",18).attr(\\\"orient\\\",\\\"auto\\\"),r.append(\\\"circle\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"cx\\\",21).attr(\\\"cy\\\",9).attr(\\\"r\\\",6),r.append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M9,0 L9,18\\\"),r=t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ZERO_OR_ONE_END).attr(\\\"refX\\\",30).attr(\\\"refY\\\",9).attr(\\\"markerWidth\\\",30).attr(\\\"markerHeight\\\",18).attr(\\\"orient\\\",\\\"auto\\\"),r.append(\\\"circle\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"cx\\\",9).attr(\\\"cy\\\",9).attr(\\\"r\\\",6),r.append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M21,0 L21,18\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ONE_OR_MORE_START).attr(\\\"refX\\\",18).attr(\\\"refY\\\",18).attr(\\\"markerWidth\\\",45).attr(\\\"markerHeight\\\",36).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27\\\"),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ONE_OR_MORE_END).attr(\\\"refX\\\",27).attr(\\\"refY\\\",18).attr(\\\"markerWidth\\\",45).attr(\\\"markerHeight\\\",36).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18\\\"),r=t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ZERO_OR_MORE_START).attr(\\\"refX\\\",18).attr(\\\"refY\\\",18).attr(\\\"markerWidth\\\",57).attr(\\\"markerHeight\\\",36).attr(\\\"orient\\\",\\\"auto\\\"),r.append(\\\"circle\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"cx\\\",48).attr(\\\"cy\\\",18).attr(\\\"r\\\",6),r.append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M0,18 Q18,0 36,18 Q18,36 0,18\\\"),r=t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",bi.ZERO_OR_MORE_END).attr(\\\"refX\\\",39).attr(\\\"refY\\\",18).attr(\\\"markerWidth\\\",57).attr(\\\"markerHeight\\\",36).attr(\\\"orient\\\",\\\"auto\\\"),r.append(\\\"circle\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"cx\\\",9).attr(\\\"cy\\\",18).attr(\\\"r\\\",6),r.append(\\\"path\\\").attr(\\\"stroke\\\",e.stroke).attr(\\\"fill\\\",\\\"none\\\").attr(\\\"d\\\",\\\"M21,18 Q39,0 57,18 Q39,36 21,18\\\")}};let yu;const mI=new Uint8Array(16);function bI(){if(!yu&&(yu=typeof crypto\u003C\\\"u\\\"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!yu))throw new Error(\\\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\\\");return yu(mI)}const _r=[];for(let t=0;t\u003C256;++t)_r.push((t+256).toString(16).slice(1));function _I(t,e=0){return(_r[t[e+0]]+_r[t[e+1]]+_r[t[e+2]]+_r[t[e+3]]+\\\"-\\\"+_r[t[e+4]]+_r[t[e+5]]+\\\"-\\\"+_r[t[e+6]]+_r[t[e+7]]+\\\"-\\\"+_r[t[e+8]]+_r[t[e+9]]+\\\"-\\\"+_r[t[e+10]]+_r[t[e+11]]+_r[t[e+12]]+_r[t[e+13]]+_r[t[e+14]]+_r[t[e+15]]).toLowerCase()}const Wm={randomUUID:typeof crypto\u003C\\\"u\\\"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function xI(t,e,r){if(Wm.randomUUID&&!e&&!t)return Wm.randomUUID();t=t||{};const n=t.random||(t.rng||bI)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i\u003C16;++i)e[r+i]=n[i];return e}return _I(n)}const vI=/[^\\\\dA-Za-z](\\\\W)*/g;let ur={},Uo=new Map;const kI=function(t){const e=Object.keys(t);for(const r of e)ur[r]=t[r]},wI=(t,e,r)=>{const n=ur.entityPadding/3,i=ur.entityPadding/3,s=ur.fontSize*.85,a=e.node().getBBox(),o=[];let l=!1,u=!1,d=0,f=0,p=0,g=0,b=a.height+n*2,k=1;r.forEach(I=>{I.attributeKeyType!==void 0&&(l=!0),I.attributeComment!==void 0&&(u=!0)}),r.forEach(I=>{const V=`${e.node().id}-attr-${k}`;let H=0;const G=Oi(I.attributeType),Y=t.append(\\\"text\\\").classed(\\\"er entityLabel\\\",!0).attr(\\\"id\\\",`${V}-type`).attr(\\\"x\\\",0).attr(\\\"y\\\",0).style(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"text-anchor\\\",\\\"left\\\").style(\\\"font-family\\\",$().fontFamily).style(\\\"font-size\\\",s+\\\"px\\\").text(G),W=t.append(\\\"text\\\").classed(\\\"er entityLabel\\\",!0).attr(\\\"id\\\",`${V}-name`).attr(\\\"x\\\",0).attr(\\\"y\\\",0).style(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"text-anchor\\\",\\\"left\\\").style(\\\"font-family\\\",$().fontFamily).style(\\\"font-size\\\",s+\\\"px\\\").text(I.attributeName),N={};N.tn=Y,N.nn=W;const D=Y.node().getBBox(),w=W.node().getBBox();if(d=Math.max(d,D.width),f=Math.max(f,w.width),H=Math.max(D.height,w.height),l){const v=t.append(\\\"text\\\").classed(\\\"er entityLabel\\\",!0).attr(\\\"id\\\",`${V}-key`).attr(\\\"x\\\",0).attr(\\\"y\\\",0).style(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"text-anchor\\\",\\\"left\\\").style(\\\"font-family\\\",$().fontFamily).style(\\\"font-size\\\",s+\\\"px\\\").text(I.attributeKeyType||\\\"\\\");N.kn=v;const M=v.node().getBBox();p=Math.max(p,M.width),H=Math.max(H,M.height)}if(u){const v=t.append(\\\"text\\\").classed(\\\"er entityLabel\\\",!0).attr(\\\"id\\\",`${V}-comment`).attr(\\\"x\\\",0).attr(\\\"y\\\",0).style(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"text-anchor\\\",\\\"left\\\").style(\\\"font-family\\\",$().fontFamily).style(\\\"font-size\\\",s+\\\"px\\\").text(I.attributeComment||\\\"\\\");N.cn=v;const M=v.node().getBBox();g=Math.max(g,M.width),H=Math.max(H,M.height)}N.height=H,o.push(N),b+=H+n*2,k+=1});let T=4;l&&(T+=2),u&&(T+=2);const L=d+f+p+g,E={width:Math.max(ur.minEntityWidth,Math.max(a.width+ur.entityPadding*2,L+i*T)),height:r.length>0?b:Math.max(ur.minEntityHeight,a.height+ur.entityPadding*2)};if(r.length>0){const I=Math.max(0,(E.width-L-i*T)/(T/2));e.attr(\\\"transform\\\",\\\"translate(\\\"+E.width/2+\\\",\\\"+(n+a.height/2)+\\\")\\\");let V=a.height+n*2,H=\\\"attributeBoxOdd\\\";o.forEach(G=>{const Y=V+n+G.height/2;G.tn.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\",\\\"+Y+\\\")\\\");const W=t.insert(\\\"rect\\\",\\\"#\\\"+G.tn.node().id).classed(`er ${H}`,!0).attr(\\\"x\\\",0).attr(\\\"y\\\",V).attr(\\\"width\\\",d+i*2+I).attr(\\\"height\\\",G.height+n*2),N=parseFloat(W.attr(\\\"x\\\"))+parseFloat(W.attr(\\\"width\\\"));G.nn.attr(\\\"transform\\\",\\\"translate(\\\"+(N+i)+\\\",\\\"+Y+\\\")\\\");const D=t.insert(\\\"rect\\\",\\\"#\\\"+G.nn.node().id).classed(`er ${H}`,!0).attr(\\\"x\\\",N).attr(\\\"y\\\",V).attr(\\\"width\\\",f+i*2+I).attr(\\\"height\\\",G.height+n*2);let w=parseFloat(D.attr(\\\"x\\\"))+parseFloat(D.attr(\\\"width\\\"));if(l){G.kn.attr(\\\"transform\\\",\\\"translate(\\\"+(w+i)+\\\",\\\"+Y+\\\")\\\");const v=t.insert(\\\"rect\\\",\\\"#\\\"+G.kn.node().id).classed(`er ${H}`,!0).attr(\\\"x\\\",w).attr(\\\"y\\\",V).attr(\\\"width\\\",p+i*2+I).attr(\\\"height\\\",G.height+n*2);w=parseFloat(v.attr(\\\"x\\\"))+parseFloat(v.attr(\\\"width\\\"))}u&&(G.cn.attr(\\\"transform\\\",\\\"translate(\\\"+(w+i)+\\\",\\\"+Y+\\\")\\\"),t.insert(\\\"rect\\\",\\\"#\\\"+G.cn.node().id).classed(`er ${H}`,\\\"true\\\").attr(\\\"x\\\",w).attr(\\\"y\\\",V).attr(\\\"width\\\",g+i*2+I).attr(\\\"height\\\",G.height+n*2)),V+=G.height+n*2,H=H===\\\"attributeBoxOdd\\\"?\\\"attributeBoxEven\\\":\\\"attributeBoxOdd\\\"})}else E.height=Math.max(ur.minEntityHeight,b),e.attr(\\\"transform\\\",\\\"translate(\\\"+E.width/2+\\\",\\\"+E.height/2+\\\")\\\");return E},TI=function(t,e,r){const n=Object.keys(e);let i;return n.forEach(function(s){const a=LI(s,\\\"entity\\\");Uo.set(s,a);const o=t.append(\\\"g\\\").attr(\\\"id\\\",a);i=i===void 0?a:i;const l=\\\"text-\\\"+a,u=o.append(\\\"text\\\").classed(\\\"er entityLabel\\\",!0).attr(\\\"id\\\",l).attr(\\\"x\\\",0).attr(\\\"y\\\",0).style(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"font-family\\\",$().fontFamily).style(\\\"font-size\\\",ur.fontSize+\\\"px\\\").text(s),{width:d,height:f}=wI(o,u,e[s].attributes),g=o.insert(\\\"rect\\\",\\\"#\\\"+l).classed(\\\"er entityBox\\\",!0).attr(\\\"x\\\",0).attr(\\\"y\\\",0).attr(\\\"width\\\",d).attr(\\\"height\\\",f).node().getBBox();r.setNode(a,{width:g.width,height:g.height,shape:\\\"rect\\\",id:a})}),i},EI=function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select(\\\"#\\\"+r).attr(\\\"transform\\\",\\\"translate(\\\"+(e.node(r).x-e.node(r).width/2)+\\\",\\\"+(e.node(r).y-e.node(r).height/2)+\\\" )\\\")})},Hm=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\\\\s/g,\\\"\\\")},CI=function(t,e){return t.forEach(function(r){e.setEdge(Uo.get(r.entityA),Uo.get(r.entityB),{relationship:r},Hm(r))}),t};let Gm=0;const SI=function(t,e,r,n,i){Gm++;const s=r.edge(Uo.get(e.entityA),Uo.get(e.entityB),Hm(e)),a=Js().x(function(b){return b.x}).y(function(b){return b.y}).curve(ta),o=t.insert(\\\"path\\\",\\\"#\\\"+n).classed(\\\"er relationshipLine\\\",!0).attr(\\\"d\\\",a(s.points)).style(\\\"stroke\\\",ur.stroke).style(\\\"fill\\\",\\\"none\\\");e.relSpec.relType===i.db.Identification.NON_IDENTIFYING&&o.attr(\\\"stroke-dasharray\\\",\\\"8,8\\\");let l=\\\"\\\";switch(ur.arrowMarkerAbsolute&&(l=window.location.protocol+\\\"//\\\"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\\\\(/g,\\\"\\\\\\\\(\\\"),l=l.replace(/\\\\)/g,\\\"\\\\\\\\)\\\")),e.relSpec.cardA){case i.db.Cardinality.ZERO_OR_ONE:o.attr(\\\"marker-end\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ZERO_OR_ONE_END+\\\")\\\");break;case i.db.Cardinality.ZERO_OR_MORE:o.attr(\\\"marker-end\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ZERO_OR_MORE_END+\\\")\\\");break;case i.db.Cardinality.ONE_OR_MORE:o.attr(\\\"marker-end\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ONE_OR_MORE_END+\\\")\\\");break;case i.db.Cardinality.ONLY_ONE:o.attr(\\\"marker-end\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ONLY_ONE_END+\\\")\\\");break}switch(e.relSpec.cardB){case i.db.Cardinality.ZERO_OR_ONE:o.attr(\\\"marker-start\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ZERO_OR_ONE_START+\\\")\\\");break;case i.db.Cardinality.ZERO_OR_MORE:o.attr(\\\"marker-start\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ZERO_OR_MORE_START+\\\")\\\");break;case i.db.Cardinality.ONE_OR_MORE:o.attr(\\\"marker-start\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ONE_OR_MORE_START+\\\")\\\");break;case i.db.Cardinality.ONLY_ONE:o.attr(\\\"marker-start\\\",\\\"url(\\\"+l+\\\"#\\\"+_i.ERMarkers.ONLY_ONE_START+\\\")\\\");break}const u=o.node().getTotalLength(),d=o.node().getPointAtLength(u*.5),f=\\\"rel\\\"+Gm,g=t.append(\\\"text\\\").classed(\\\"er relationshipLabel\\\",!0).attr(\\\"id\\\",f).attr(\\\"x\\\",d.x).attr(\\\"y\\\",d.y).style(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"dominant-baseline\\\",\\\"middle\\\").style(\\\"font-family\\\",$().fontFamily).style(\\\"font-size\\\",ur.fontSize+\\\"px\\\").text(e.roleA).node().getBBox();t.insert(\\\"rect\\\",\\\"#\\\"+f).classed(\\\"er relationshipLabelBox\\\",!0).attr(\\\"x\\\",d.x-g.width/2).attr(\\\"y\\\",d.y-g.height/2).attr(\\\"width\\\",g.width).attr(\\\"height\\\",g.height)},AI=function(t,e,r,n){ur=$().er,B.info(\\\"Drawing ER diagram\\\");const i=$().securityLevel;let s;i===\\\"sandbox\\\"&&(s=St(\\\"#i\\\"+e));const o=St(i===\\\"sandbox\\\"?s.nodes()[0].contentDocument.body:\\\"body\\\").select(`[id='${e}']`);_i.insertMarkers(o,ur);let l;l=new sr({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:ur.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const u=TI(o,n.db.getEntities(),l),d=CI(n.db.getRelationships(),l);Ea(l),EI(o,l),d.forEach(function(k){SI(o,k,l,u,n)});const f=ur.diagramPadding;ge.insertTitle(o,\\\"entityTitleText\\\",ur.titleTopMargin,n.db.getDiagramTitle());const p=o.node().getBBox(),g=p.width+f*2,b=p.height+f*2;xn(o,b,g,ur.useMaxWidth),o.attr(\\\"viewBox\\\",`${p.x-f} ${p.y-f} ${g} ${b}`)};function LI(t=\\\"\\\",e=\\\"\\\"){const r=t.replace(vI,\\\"\\\");return`${qm(e)}${qm(r)}${xI()}`}function qm(t=\\\"\\\"){return t.length>0?`${t}-`:\\\"\\\"}const DI={setConf:kI,draw:AI};var T0=function(){var t=function(zr,qt,te,oe){for(te=te||{},oe=zr.length;oe--;te[zr[oe]]=qt);return te},e=[1,9],r=[1,7],n=[1,6],i=[1,8],s=[1,20,21,22,23,38,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],a=[2,10],o=[1,20],l=[1,21],u=[1,22],d=[1,23],f=[1,30],p=[1,32],g=[1,33],b=[1,34],k=[1,62],T=[1,48],L=[1,52],E=[1,36],I=[1,37],V=[1,38],H=[1,39],G=[1,40],Y=[1,56],W=[1,63],N=[1,51],D=[1,53],w=[1,55],v=[1,59],M=[1,60],m=[1,41],Q=[1,42],x=[1,43],ct=[1,44],Dt=[1,61],kt=[1,50],j=[1,54],ot=[1,57],rt=[1,58],nt=[1,49],ut=[1,66],_t=[1,71],K=[1,20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],Ot=[1,75],P=[1,74],z=[1,76],X=[20,21,23,81,82],F=[1,99],O=[1,104],A=[1,107],J=[1,108],C=[1,101],ht=[1,106],U=[1,109],Yt=[1,102],et=[1,114],Mt=[1,113],Tt=[1,103],gt=[1,105],Et=[1,110],wt=[1,111],pt=[1,112],st=[1,115],le=[20,21,22,23,81,82],Xt=[20,21,22,23,53,81,82],jt=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],Kt=[20,21,23],Gt=[20,21,23,52,66,67,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],Ee=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],Ht=[52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],Vt=[1,149],Ft=[1,157],xt=[1,158],ft=[1,159],Lt=[1,160],bt=[1,144],Ut=[1,145],at=[1,141],ie=[1,152],dt=[1,153],ee=[1,154],fe=[1,155],be=[1,156],_e=[1,161],ke=[1,162],$t=[1,147],se=[1,150],ye=[1,146],Jt=[1,143],Nn=[20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],Xr=[1,165],De=[20,21,22,23,26,52,66,67,91,105,106,109,111,112,122,123,124,125,126,127],ae=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,86,87,88,89,90,91,92,95,105,106,109,111,112,113,114,122,123,124,125,126,127],Be=[12,21,22,24],Re=[22,106],Pe=[1,250],Ye=[1,245],Ie=[1,246],$e=[1,254],ar=[1,251],zt=[1,248],Z=[1,247],At=[1,249],Nt=[1,252],pe=[1,253],Me=[1,255],Le=[1,273],We=[20,21,23,106],ve=[20,21,22,23,66,67,86,102,105,106,109,110,111,112,113],Ne={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,\\\":\\\":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,\\\"(-\\\":59,\\\"-)\\\":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,keywords:85,STYLE:86,LINKSTYLE:87,CLASSDEF:88,CLASS:89,CLICK:90,DOWN:91,UP:92,textNoTags:93,textNoTagsToken:94,DEFAULT:95,stylesOpt:96,alphaNum:97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,HEX:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,MINUS:109,UNIT:110,BRKT:111,DOT:112,PCT:113,TAGSTART:114,alphaNumToken:115,idStringToken:116,alphaNumStatement:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,PUNCTUATION:122,UNICODE_TEXT:123,PLUS:124,EQUALS:125,MULT:126,UNDERSCORE:127,graphCodeTokens:128,ARROW_CROSS:129,ARROW_POINT:130,ARROW_CIRCLE:131,ARROW_OPEN:132,QUOTE:133,$accept:0,$end:1},terminals_:{2:\\\"error\\\",10:\\\":\\\",12:\\\"open_directive\\\",13:\\\"type_directive\\\",14:\\\"arg_directive\\\",15:\\\"close_directive\\\",20:\\\"SEMI\\\",21:\\\"NEWLINE\\\",22:\\\"SPACE\\\",23:\\\"EOF\\\",24:\\\"GRAPH\\\",25:\\\"NODIR\\\",26:\\\"DIR\\\",38:\\\"subgraph\\\",40:\\\"SQS\\\",41:\\\"SQE\\\",42:\\\"end\\\",44:\\\"acc_title\\\",45:\\\"acc_title_value\\\",46:\\\"acc_descr\\\",47:\\\"acc_descr_value\\\",48:\\\"acc_descr_multiline_value\\\",52:\\\"AMP\\\",53:\\\"STYLE_SEPARATOR\\\",55:\\\"DOUBLECIRCLESTART\\\",56:\\\"DOUBLECIRCLEEND\\\",57:\\\"PS\\\",58:\\\"PE\\\",59:\\\"(-\\\",60:\\\"-)\\\",61:\\\"STADIUMSTART\\\",62:\\\"STADIUMEND\\\",63:\\\"SUBROUTINESTART\\\",64:\\\"SUBROUTINEEND\\\",65:\\\"VERTEX_WITH_PROPS_START\\\",66:\\\"ALPHA\\\",67:\\\"COLON\\\",68:\\\"PIPE\\\",69:\\\"CYLINDERSTART\\\",70:\\\"CYLINDEREND\\\",71:\\\"DIAMOND_START\\\",72:\\\"DIAMOND_STOP\\\",73:\\\"TAGEND\\\",74:\\\"TRAPSTART\\\",75:\\\"TRAPEND\\\",76:\\\"INVTRAPSTART\\\",77:\\\"INVTRAPEND\\\",80:\\\"TESTSTR\\\",81:\\\"START_LINK\\\",82:\\\"LINK\\\",84:\\\"STR\\\",86:\\\"STYLE\\\",87:\\\"LINKSTYLE\\\",88:\\\"CLASSDEF\\\",89:\\\"CLASS\\\",90:\\\"CLICK\\\",91:\\\"DOWN\\\",92:\\\"UP\\\",95:\\\"DEFAULT\\\",98:\\\"CALLBACKNAME\\\",99:\\\"CALLBACKARGS\\\",100:\\\"HREF\\\",101:\\\"LINK_TARGET\\\",102:\\\"HEX\\\",104:\\\"INTERPOLATE\\\",105:\\\"NUM\\\",106:\\\"COMMA\\\",109:\\\"MINUS\\\",110:\\\"UNIT\\\",111:\\\"BRKT\\\",112:\\\"DOT\\\",113:\\\"PCT\\\",114:\\\"TAGSTART\\\",118:\\\"direction_tb\\\",119:\\\"direction_bt\\\",120:\\\"direction_rl\\\",121:\\\"direction_lr\\\",122:\\\"PUNCTUATION\\\",123:\\\"UNICODE_TEXT\\\",124:\\\"PLUS\\\",125:\\\"EQUALS\\\",126:\\\"MULT\\\",127:\\\"UNDERSCORE\\\",129:\\\"ARROW_CROSS\\\",130:\\\"ARROW_POINT\\\",131:\\\"ARROW_CIRCLE\\\",132:\\\"ARROW_OPEN\\\",133:\\\"QUOTE\\\"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[93,1],[93,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[103,1],[103,3],[96,1],[96,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[94,1],[94,1],[94,1],[94,1],[54,1],[54,2],[97,1],[97,2],[117,1],[117,1],[117,1],[117,1],[43,1],[43,1],[43,1],[43,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1]],performAction:function(qt,te,oe,Rt,Ve,q,Is){var tt=q.length-1;switch(Ve){case 5:Rt.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 6:Rt.parseDirective(q[tt],\\\"type_directive\\\");break;case 7:q[tt]=q[tt].trim().replace(/'/g,'\\\"'),Rt.parseDirective(q[tt],\\\"arg_directive\\\");break;case 8:Rt.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"flowchart\\\");break;case 10:this.$=[];break;case 11:(!Array.isArray(q[tt])||q[tt].length>0)&&q[tt-1].push(q[tt]),this.$=q[tt-1];break;case 12:case 82:case 84:case 96:case 152:case 154:case 155:this.$=q[tt];break;case 19:Rt.setDirection(\\\"TB\\\"),this.$=\\\"TB\\\";break;case 20:Rt.setDirection(q[tt-1]),this.$=q[tt-1];break;case 35:this.$=q[tt-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=Rt.addSubGraph(q[tt-6],q[tt-1],q[tt-4]);break;case 42:this.$=Rt.addSubGraph(q[tt-3],q[tt-1],q[tt-3]);break;case 43:this.$=Rt.addSubGraph(void 0,q[tt-1],void 0);break;case 45:this.$=q[tt].trim(),Rt.setAccTitle(this.$);break;case 46:case 47:this.$=q[tt].trim(),Rt.setAccDescription(this.$);break;case 51:Rt.addLink(q[tt-2].stmt,q[tt],q[tt-1]),this.$={stmt:q[tt],nodes:q[tt].concat(q[tt-2].nodes)};break;case 52:Rt.addLink(q[tt-3].stmt,q[tt-1],q[tt-2]),this.$={stmt:q[tt-1],nodes:q[tt-1].concat(q[tt-3].nodes)};break;case 53:this.$={stmt:q[tt-1],nodes:q[tt-1]};break;case 54:this.$={stmt:q[tt],nodes:q[tt]};break;case 55:this.$=[q[tt]];break;case 56:this.$=q[tt-4].concat(q[tt]);break;case 57:this.$=[q[tt-2]],Rt.setClass(q[tt-2],q[tt]);break;case 58:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"square\\\");break;case 59:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"doublecircle\\\");break;case 60:this.$=q[tt-5],Rt.addVertex(q[tt-5],q[tt-2],\\\"circle\\\");break;case 61:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"ellipse\\\");break;case 62:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"stadium\\\");break;case 63:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"subroutine\\\");break;case 64:this.$=q[tt-7],Rt.addVertex(q[tt-7],q[tt-1],\\\"rect\\\",void 0,void 0,void 0,Object.fromEntries([[q[tt-5],q[tt-3]]]));break;case 65:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"cylinder\\\");break;case 66:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"round\\\");break;case 67:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"diamond\\\");break;case 68:this.$=q[tt-5],Rt.addVertex(q[tt-5],q[tt-2],\\\"hexagon\\\");break;case 69:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"odd\\\");break;case 70:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"trapezoid\\\");break;case 71:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"inv_trapezoid\\\");break;case 72:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"lean_right\\\");break;case 73:this.$=q[tt-3],Rt.addVertex(q[tt-3],q[tt-1],\\\"lean_left\\\");break;case 74:this.$=q[tt],Rt.addVertex(q[tt]);break;case 75:q[tt-1].text=q[tt],this.$=q[tt-1];break;case 76:case 77:q[tt-2].text=q[tt-1],this.$=q[tt-2];break;case 78:this.$=q[tt];break;case 79:var Sr=Rt.destructLink(q[tt],q[tt-2]);this.$={type:Sr.type,stroke:Sr.stroke,length:Sr.length,text:q[tt-1]};break;case 80:var Sr=Rt.destructLink(q[tt]);this.$={type:Sr.type,stroke:Sr.stroke,length:Sr.length};break;case 81:this.$=q[tt-1];break;case 83:case 97:case 153:this.$=q[tt-1]+\\\"\\\"+q[tt];break;case 98:case 99:this.$=q[tt-4],Rt.addClass(q[tt-2],q[tt]);break;case 100:this.$=q[tt-4],Rt.setClass(q[tt-2],q[tt]);break;case 101:case 109:this.$=q[tt-1],Rt.setClickEvent(q[tt-1],q[tt]);break;case 102:case 110:this.$=q[tt-3],Rt.setClickEvent(q[tt-3],q[tt-2]),Rt.setTooltip(q[tt-3],q[tt]);break;case 103:this.$=q[tt-2],Rt.setClickEvent(q[tt-2],q[tt-1],q[tt]);break;case 104:this.$=q[tt-4],Rt.setClickEvent(q[tt-4],q[tt-3],q[tt-2]),Rt.setTooltip(q[tt-4],q[tt]);break;case 105:case 111:this.$=q[tt-1],Rt.setLink(q[tt-1],q[tt]);break;case 106:case 112:this.$=q[tt-3],Rt.setLink(q[tt-3],q[tt-2]),Rt.setTooltip(q[tt-3],q[tt]);break;case 107:case 113:this.$=q[tt-3],Rt.setLink(q[tt-3],q[tt-2],q[tt]);break;case 108:case 114:this.$=q[tt-5],Rt.setLink(q[tt-5],q[tt-4],q[tt]),Rt.setTooltip(q[tt-5],q[tt-2]);break;case 115:this.$=q[tt-4],Rt.addVertex(q[tt-2],void 0,void 0,q[tt]);break;case 116:case 118:this.$=q[tt-4],Rt.updateLink(q[tt-2],q[tt]);break;case 117:this.$=q[tt-4],Rt.updateLink([q[tt-2]],q[tt]);break;case 119:this.$=q[tt-8],Rt.updateLinkInterpolate([q[tt-6]],q[tt-2]),Rt.updateLink([q[tt-6]],q[tt]);break;case 120:this.$=q[tt-8],Rt.updateLinkInterpolate(q[tt-6],q[tt-2]),Rt.updateLink(q[tt-6],q[tt]);break;case 121:this.$=q[tt-6],Rt.updateLinkInterpolate([q[tt-4]],q[tt]);break;case 122:this.$=q[tt-6],Rt.updateLinkInterpolate(q[tt-4],q[tt]);break;case 123:case 125:this.$=[q[tt]];break;case 124:case 126:q[tt-2].push(q[tt]),this.$=q[tt-2];break;case 128:this.$=q[tt-1]+q[tt];break;case 150:this.$=q[tt];break;case 151:this.$=q[tt-1]+\\\"\\\"+q[tt];break;case 156:this.$=\\\"v\\\";break;case 157:this.$=\\\"-\\\";break;case 158:this.$={stmt:\\\"dir\\\",value:\\\"TB\\\"};break;case 159:this.$={stmt:\\\"dir\\\",value:\\\"BT\\\"};break;case 160:this.$={stmt:\\\"dir\\\",value:\\\"RL\\\"};break;case 161:this.$={stmt:\\\"dir\\\",value:\\\"LR\\\"};break}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:r,22:n,24:i},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:r,22:n,24:i},t(s,a,{17:11}),{7:12,13:[1,13]},{16:14,21:r,22:n,24:i},{16:15,21:r,22:n,24:i},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:o,21:l,22:u,23:d,32:24,33:25,34:26,35:27,36:28,37:29,38:f,43:31,44:p,46:g,48:b,50:35,51:45,52:k,54:46,66:T,67:L,86:E,87:I,88:V,89:H,90:G,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,118:m,119:Q,120:x,121:ct,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},{8:64,10:[1,65],15:ut},t([10,15],[2,6]),t(s,[2,17]),t(s,[2,18]),t(s,[2,19]),{20:[1,68],21:[1,69],22:_t,27:67,30:70},t(K,[2,11]),t(K,[2,12]),t(K,[2,13]),t(K,[2,14]),t(K,[2,15]),t(K,[2,16]),{9:72,20:Ot,21:P,23:z,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:Ot,21:P,23:z},{9:81,20:Ot,21:P,23:z},{9:82,20:Ot,21:P,23:z},{9:83,20:Ot,21:P,23:z},{9:84,20:Ot,21:P,23:z},{9:86,20:Ot,21:P,22:[1,85],23:z},t(K,[2,44]),{45:[1,87]},{47:[1,88]},t(K,[2,47]),t(X,[2,54],{30:89,22:_t}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:F,52:O,66:A,67:J,84:[1,97],91:C,97:96,98:[1,94],100:[1,95],105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(K,[2,158]),t(K,[2,159]),t(K,[2,160]),t(K,[2,161]),t(le,[2,55],{53:[1,116]}),t(Xt,[2,74],{116:129,40:[1,117],52:k,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:T,67:L,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],91:Y,95:W,105:N,106:D,109:w,111:v,112:M,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt}),t(jt,[2,150]),t(jt,[2,175]),t(jt,[2,176]),t(jt,[2,177]),t(jt,[2,178]),t(jt,[2,179]),t(jt,[2,180]),t(jt,[2,181]),t(jt,[2,182]),t(jt,[2,183]),t(jt,[2,184]),t(jt,[2,185]),t(jt,[2,186]),t(jt,[2,187]),t(jt,[2,188]),t(jt,[2,189]),t(jt,[2,190]),{9:130,20:Ot,21:P,23:z},{11:131,14:[1,132]},t(Kt,[2,8]),t(s,[2,20]),t(s,[2,26]),t(s,[2,27]),{21:[1,133]},t(Gt,[2,34],{30:134,22:_t}),t(K,[2,35]),{50:135,51:45,52:k,54:46,66:T,67:L,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},t(Ee,[2,48]),t(Ee,[2,49]),t(Ee,[2,50]),t(Ht,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:Vt,24:Ft,26:xt,38:ft,39:139,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t([52,66,67,68,80,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,80]),t(K,[2,36]),t(K,[2,37]),t(K,[2,38]),t(K,[2,39]),t(K,[2,40]),{22:Vt,24:Ft,26:xt,38:ft,39:163,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Nn,a,{17:164}),t(K,[2,45]),t(K,[2,46]),t(X,[2,53],{52:Xr}),{26:F,52:O,66:A,67:J,91:C,97:166,102:[1,167],105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{95:[1,168],103:169,105:[1,170]},{26:F,52:O,66:A,67:J,91:C,95:[1,171],97:172,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{26:F,52:O,66:A,67:J,91:C,97:173,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Kt,[2,101],{22:[1,174],99:[1,175]}),t(Kt,[2,105],{22:[1,176]}),t(Kt,[2,109],{115:100,117:178,22:[1,177],26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st}),t(Kt,[2,111],{22:[1,179]}),t(De,[2,152]),t(De,[2,154]),t(De,[2,155]),t(De,[2,156]),t(De,[2,157]),t(ae,[2,162]),t(ae,[2,163]),t(ae,[2,164]),t(ae,[2,165]),t(ae,[2,166]),t(ae,[2,167]),t(ae,[2,168]),t(ae,[2,169]),t(ae,[2,170]),t(ae,[2,171]),t(ae,[2,172]),t(ae,[2,173]),t(ae,[2,174]),{52:k,54:180,66:T,67:L,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},{22:Vt,24:Ft,26:xt,38:ft,39:181,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:182,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:184,42:Lt,52:O,57:[1,183],66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:185,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:186,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:187,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{66:[1,188]},{22:Vt,24:Ft,26:xt,38:ft,39:189,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:190,42:Lt,52:O,66:A,67:J,71:[1,191],73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:192,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:193,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:194,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(jt,[2,151]),t(Be,[2,3]),{8:195,15:ut},{15:[2,7]},t(s,[2,28]),t(Gt,[2,33]),t(X,[2,51],{30:196,22:_t}),t(Ht,[2,75],{22:[1,197]}),{22:[1,198]},{22:Vt,24:Ft,26:xt,38:ft,39:199,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,82:[1,200],83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(ae,[2,82]),t(ae,[2,84]),t(ae,[2,140]),t(ae,[2,141]),t(ae,[2,142]),t(ae,[2,143]),t(ae,[2,144]),t(ae,[2,145]),t(ae,[2,146]),t(ae,[2,147]),t(ae,[2,148]),t(ae,[2,149]),t(ae,[2,85]),t(ae,[2,86]),t(ae,[2,87]),t(ae,[2,88]),t(ae,[2,89]),t(ae,[2,90]),t(ae,[2,91]),t(ae,[2,92]),t(ae,[2,93]),t(ae,[2,94]),t(ae,[2,95]),{9:203,20:Ot,21:P,22:Vt,23:z,24:Ft,26:xt,38:ft,40:[1,202],42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{18:18,19:19,20:o,21:l,22:u,23:d,32:24,33:25,34:26,35:27,36:28,37:29,38:f,42:[1,204],43:31,44:p,46:g,48:b,50:35,51:45,52:k,54:46,66:T,67:L,86:E,87:I,88:V,89:H,90:G,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,118:m,119:Q,120:x,121:ct,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},{22:_t,30:205},{22:[1,206],26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:178,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:[1,207]},{22:[1,208]},{22:[1,209],106:[1,210]},t(Re,[2,123]),{22:[1,211]},{22:[1,212],26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:178,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:[1,213],26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:178,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{84:[1,214]},t(Kt,[2,103],{22:[1,215]}),{84:[1,216],101:[1,217]},{84:[1,218]},t(De,[2,153]),{84:[1,219],101:[1,220]},t(le,[2,57],{116:129,52:k,66:T,67:L,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt}),{22:Vt,24:Ft,26:xt,38:ft,41:[1,221],42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,56:[1,222],66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:223,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,58:[1,224],66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,60:[1,225],66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,62:[1,226],66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,64:[1,227],66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{67:[1,228]},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,70:[1,229],73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,72:[1,230],73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,39:231,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,41:[1,232],42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,73:bt,75:[1,233],77:[1,234],81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,73:bt,75:[1,236],77:[1,235],81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{9:237,20:Ot,21:P,23:z},t(X,[2,52],{52:Xr}),t(Ht,[2,77]),t(Ht,[2,76]),{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,68:[1,238],73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Ht,[2,79]),t(ae,[2,83]),{22:Vt,24:Ft,26:xt,38:ft,39:239,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Nn,a,{17:240}),t(K,[2,43]),{51:241,52:k,54:46,66:T,67:L,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},{22:Pe,66:Ye,67:Ie,86:$e,96:242,102:ar,105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{22:Pe,66:Ye,67:Ie,86:$e,96:256,102:ar,105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{22:Pe,66:Ye,67:Ie,86:$e,96:257,102:ar,104:[1,258],105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{22:Pe,66:Ye,67:Ie,86:$e,96:259,102:ar,104:[1,260],105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{105:[1,261]},{22:Pe,66:Ye,67:Ie,86:$e,96:262,102:ar,105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{22:Pe,66:Ye,67:Ie,86:$e,96:263,102:ar,105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{26:F,52:O,66:A,67:J,91:C,97:264,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Kt,[2,102]),{84:[1,265]},t(Kt,[2,106],{22:[1,266]}),t(Kt,[2,107]),t(Kt,[2,110]),t(Kt,[2,112],{22:[1,267]}),t(Kt,[2,113]),t(Xt,[2,58]),t(Xt,[2,59]),{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,58:[1,268],66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Xt,[2,66]),t(Xt,[2,61]),t(Xt,[2,62]),t(Xt,[2,63]),{66:[1,269]},t(Xt,[2,65]),t(Xt,[2,67]),{22:Vt,24:Ft,26:xt,38:ft,42:Lt,52:O,66:A,67:J,72:[1,270],73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Xt,[2,69]),t(Xt,[2,70]),t(Xt,[2,72]),t(Xt,[2,71]),t(Xt,[2,73]),t(Be,[2,4]),t([22,52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,81]),{22:Vt,24:Ft,26:xt,38:ft,41:[1,271],42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{18:18,19:19,20:o,21:l,22:u,23:d,32:24,33:25,34:26,35:27,36:28,37:29,38:f,42:[1,272],43:31,44:p,46:g,48:b,50:35,51:45,52:k,54:46,66:T,67:L,86:E,87:I,88:V,89:H,90:G,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,118:m,119:Q,120:x,121:ct,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},t(le,[2,56]),t(Kt,[2,115],{106:Le}),t(We,[2,125],{108:274,22:Pe,66:Ye,67:Ie,86:$e,102:ar,105:zt,109:Z,110:At,111:Nt,112:pe,113:Me}),t(ve,[2,127]),t(ve,[2,129]),t(ve,[2,130]),t(ve,[2,131]),t(ve,[2,132]),t(ve,[2,133]),t(ve,[2,134]),t(ve,[2,135]),t(ve,[2,136]),t(ve,[2,137]),t(ve,[2,138]),t(ve,[2,139]),t(Kt,[2,116],{106:Le}),t(Kt,[2,117],{106:Le}),{22:[1,275]},t(Kt,[2,118],{106:Le}),{22:[1,276]},t(Re,[2,124]),t(Kt,[2,98],{106:Le}),t(Kt,[2,99],{106:Le}),t(Kt,[2,100],{115:100,117:178,26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st}),t(Kt,[2,104]),{101:[1,277]},{101:[1,278]},{58:[1,279]},{68:[1,280]},{72:[1,281]},{9:282,20:Ot,21:P,23:z},t(K,[2,42]),{22:Pe,66:Ye,67:Ie,86:$e,102:ar,105:zt,107:283,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},t(ve,[2,128]),{26:F,52:O,66:A,67:J,91:C,97:284,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{26:F,52:O,66:A,67:J,91:C,97:285,105:ht,106:U,109:Yt,111:et,112:Mt,115:100,117:98,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Kt,[2,108]),t(Kt,[2,114]),t(Xt,[2,60]),{22:Vt,24:Ft,26:xt,38:ft,39:286,42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:140,84:at,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},t(Xt,[2,68]),t(Nn,a,{17:287}),t(We,[2,126],{108:274,22:Pe,66:Ye,67:Ie,86:$e,102:ar,105:zt,109:Z,110:At,111:Nt,112:pe,113:Me}),t(Kt,[2,121],{115:100,117:178,22:[1,288],26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st}),t(Kt,[2,122],{115:100,117:178,22:[1,289],26:F,52:O,66:A,67:J,91:C,105:ht,106:U,109:Yt,111:et,112:Mt,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st}),{22:Vt,24:Ft,26:xt,38:ft,41:[1,290],42:Lt,52:O,66:A,67:J,73:bt,81:Ut,83:201,85:151,86:ie,87:dt,88:ee,89:fe,90:be,91:_e,92:ke,94:142,95:$t,105:ht,106:U,109:se,111:et,112:Mt,113:ye,114:Jt,115:148,122:Tt,123:gt,124:Et,125:wt,126:pt,127:st},{18:18,19:19,20:o,21:l,22:u,23:d,32:24,33:25,34:26,35:27,36:28,37:29,38:f,42:[1,291],43:31,44:p,46:g,48:b,50:35,51:45,52:k,54:46,66:T,67:L,86:E,87:I,88:V,89:H,90:G,91:Y,95:W,105:N,106:D,109:w,111:v,112:M,116:47,118:m,119:Q,120:x,121:ct,122:Dt,123:kt,124:j,125:ot,126:rt,127:nt},{22:Pe,66:Ye,67:Ie,86:$e,96:292,102:ar,105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},{22:Pe,66:Ye,67:Ie,86:$e,96:293,102:ar,105:zt,107:243,108:244,109:Z,110:At,111:Nt,112:pe,113:Me},t(Xt,[2,64]),t(K,[2,41]),t(Kt,[2,119],{106:Le}),t(Kt,[2,120],{106:Le})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(qt,te){if(te.recoverable)this.trace(qt);else{var oe=new Error(qt);throw oe.hash=te,oe}},parse:function(qt){var te=this,oe=[0],Rt=[],Ve=[null],q=[],Is=this.table,tt=\\\"\\\",Sr=0,Wu=0,Rd=2,Hu=1,Gu=q.slice.call(arguments,1),or=Object.create(this.lexer),Zn={yy:{}};for(var Qn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qn)&&(Zn.yy[Qn]=this.yy[Qn]);or.setInput(qt,Zn.yy),Zn.yy.lexer=or,Zn.yy.parser=this,typeof or.yylloc>\\\"u\\\"&&(or.yylloc={});var Os=or.yylloc;q.push(Os);var ll=or.options&&or.options.ranges;typeof Zn.yy.parseError==\\\"function\\\"?this.parseError=Zn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qu(){var Zr;return Zr=Rt.pop()||or.lex()||Hu,typeof Zr!=\\\"number\\\"&&(Zr instanceof Array&&(Rt=Zr,Zr=Rt.pop()),Zr=te.symbols_[Zr]||Zr),Zr}for(var xr,Se,Or,Ai,Bn={},Li,Kr,cl,Pa;;){if(Se=oe[oe.length-1],this.defaultActions[Se]?Or=this.defaultActions[Se]:((xr===null||typeof xr>\\\"u\\\")&&(xr=qu()),Or=Is[Se]&&Is[Se][xr]),typeof Or>\\\"u\\\"||!Or.length||!Or[0]){var Rs=\\\"\\\";Pa=[];for(Li in Is[Se])this.terminals_[Li]&&Li>Rd&&Pa.push(\\\"'\\\"+this.terminals_[Li]+\\\"'\\\");or.showPosition?Rs=\\\"Parse error on line \\\"+(Sr+1)+`:\\n`+or.showPosition()+`\\nExpecting `+Pa.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[xr]||xr)+\\\"'\\\":Rs=\\\"Parse error on line \\\"+(Sr+1)+\\\": Unexpected \\\"+(xr==Hu?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[xr]||xr)+\\\"'\\\"),this.parseError(Rs,{text:or.match,token:this.terminals_[xr]||xr,line:or.yylineno,loc:Os,expected:Pa})}if(Or[0]instanceof Array&&Or.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+Se+\\\", token: \\\"+xr);switch(Or[0]){case 1:oe.push(xr),Ve.push(or.yytext),q.push(or.yylloc),oe.push(Or[1]),xr=null,Wu=or.yyleng,tt=or.yytext,Sr=or.yylineno,Os=or.yylloc;break;case 2:if(Kr=this.productions_[Or[1]][1],Bn.$=Ve[Ve.length-Kr],Bn._$={first_line:q[q.length-(Kr||1)].first_line,last_line:q[q.length-1].last_line,first_column:q[q.length-(Kr||1)].first_column,last_column:q[q.length-1].last_column},ll&&(Bn._$.range=[q[q.length-(Kr||1)].range[0],q[q.length-1].range[1]]),Ai=this.performAction.apply(Bn,[tt,Wu,Sr,Zn.yy,Or[1],Ve,q].concat(Gu)),typeof Ai\u003C\\\"u\\\")return Ai;Kr&&(oe=oe.slice(0,-1*Kr*2),Ve=Ve.slice(0,-1*Kr),q=q.slice(0,-1*Kr)),oe.push(this.productions_[Or[1]][0]),Ve.push(Bn.$),q.push(Bn._$),cl=Is[oe[oe.length-2]][oe[oe.length-1]],oe.push(cl);break;case 3:return!0}}return!0}},Xi=function(){var zr={EOF:1,parseError:function(te,oe){if(this.yy.parser)this.yy.parser.parseError(te,oe);else throw new Error(te)},setInput:function(qt,te){return this.yy=te||this.yy||{},this._input=qt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var qt=this._input[0];this.yytext+=qt,this.yyleng++,this.offset++,this.match+=qt,this.matched+=qt;var te=qt.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return te?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),qt},unput:function(qt){var te=qt.length,oe=qt.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=qt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-te),this.offset-=te;var Rt=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),oe.length-1&&(this.yylineno-=oe.length-1);var Ve=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:oe?(oe.length===Rt.length?this.yylloc.first_column:0)+Rt[Rt.length-oe.length].length-oe[0].length:this.yylloc.first_column-te},this.options.ranges&&(this.yylloc.range=[Ve[0],Ve[0]+this.yyleng-te]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(qt){this.unput(this.match.slice(qt))},pastInput:function(){var qt=this.matched.substr(0,this.matched.length-this.match.length);return(qt.length>20?\\\"...\\\":\\\"\\\")+qt.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var qt=this.match;return qt.length\u003C20&&(qt+=this._input.substr(0,20-qt.length)),(qt.substr(0,20)+(qt.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var qt=this.pastInput(),te=new Array(qt.length+1).join(\\\"-\\\");return qt+this.upcomingInput()+`\\n`+te+\\\"^\\\"},test_match:function(qt,te){var oe,Rt,Ve;if(this.options.backtrack_lexer&&(Ve={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ve.yylloc.range=this.yylloc.range.slice(0))),Rt=qt[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),Rt&&(this.yylineno+=Rt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Rt?Rt[Rt.length-1].length-Rt[Rt.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+qt[0].length},this.yytext+=qt[0],this.match+=qt[0],this.matches=qt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(qt[0].length),this.matched+=qt[0],oe=this.performAction.call(this,this.yy,this,te,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),oe)return oe;if(this._backtrack){for(var q in Ve)this[q]=Ve[q];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var qt,te,oe,Rt;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var Ve=this._currentRules(),q=0;q\u003CVe.length;q++)if(oe=this._input.match(this.rules[Ve[q]]),oe&&(!te||oe[0].length>te[0].length)){if(te=oe,Rt=q,this.options.backtrack_lexer){if(qt=this.test_match(oe,Ve[q]),qt!==!1)return qt;if(this._backtrack){te=!1;continue}else return!1}else if(!this.options.flex)break}return te?(qt=this.test_match(te,Ve[Rt]),qt!==!1?qt:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var te=this.next();return te||this.lex()},begin:function(te){this.conditionStack.push(te)},popState:function(){var te=this.conditionStack.length-1;return te>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(te){return te=this.conditionStack.length-1-Math.abs(te||0),te>=0?this.conditionStack[te]:\\\"INITIAL\\\"},pushState:function(te){this.begin(te)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(te,oe,Rt,Ve){switch(Rt){case 0:return this.begin(\\\"open_directive\\\"),12;case 1:return this.begin(\\\"type_directive\\\"),13;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:break;case 6:break;case 7:return this.begin(\\\"acc_title\\\"),44;case 8:return this.popState(),\\\"acc_title_value\\\";case 9:return this.begin(\\\"acc_descr\\\"),46;case 10:return this.popState(),\\\"acc_descr_value\\\";case 11:this.begin(\\\"acc_descr_multiline\\\");break;case 12:this.popState();break;case 13:return\\\"acc_descr_multiline_value\\\";case 14:this.begin(\\\"string\\\");break;case 15:this.popState();break;case 16:return\\\"STR\\\";case 17:return 86;case 18:return 95;case 19:return 87;case 20:return 104;case 21:return 88;case 22:return 89;case 23:this.begin(\\\"href\\\");break;case 24:this.popState();break;case 25:return 100;case 26:this.begin(\\\"callbackname\\\");break;case 27:this.popState();break;case 28:this.popState(),this.begin(\\\"callbackargs\\\");break;case 29:return 98;case 30:this.popState();break;case 31:return 99;case 32:this.begin(\\\"click\\\");break;case 33:this.popState();break;case 34:return 90;case 35:return te.lex.firstGraph()&&this.begin(\\\"dir\\\"),24;case 36:return te.lex.firstGraph()&&this.begin(\\\"dir\\\"),24;case 37:return 38;case 38:return 42;case 39:return 101;case 40:return 101;case 41:return 101;case 42:return 101;case 43:return this.popState(),25;case 44:return this.popState(),26;case 45:return this.popState(),26;case 46:return this.popState(),26;case 47:return this.popState(),26;case 48:return this.popState(),26;case 49:return this.popState(),26;case 50:return this.popState(),26;case 51:return this.popState(),26;case 52:return this.popState(),26;case 53:return this.popState(),26;case 54:return 118;case 55:return 119;case 56:return 120;case 57:return 121;case 58:return 105;case 59:return 111;case 60:return 53;case 61:return 67;case 62:return 52;case 63:return 20;case 64:return 106;case 65:return 126;case 66:return 82;case 67:return 82;case 68:return 82;case 69:return 81;case 70:return 81;case 71:return 81;case 72:return 59;case 73:return 60;case 74:return 61;case 75:return 62;case 76:return 63;case 77:return 64;case 78:return 65;case 79:return 69;case 80:return 70;case 81:return 55;case 82:return 56;case 83:return 109;case 84:return 112;case 85:return 127;case 86:return 124;case 87:return 113;case 88:return 125;case 89:return 125;case 90:return 114;case 91:return 73;case 92:return 92;case 93:return\\\"SEP\\\";case 94:return 91;case 95:return 66;case 96:return 75;case 97:return 74;case 98:return 77;case 99:return 76;case 100:return 122;case 101:return 123;case 102:return 68;case 103:return 57;case 104:return 58;case 105:return 40;case 106:return 41;case 107:return 71;case 108:return 72;case 109:return 133;case 110:return 21;case 111:return 22;case 112:return 23}},rules:[/^(?:%%\\\\{)/,/^(?:((?:(?!\\\\}%%)[^:.])*))/,/^(?::)/,/^(?:\\\\}%%)/,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/,/^(?:%%(?!\\\\{)[^\\\\n]*)/,/^(?:[^\\\\}]%%[^\\\\n]*)/,/^(?:accTitle\\\\s*:\\\\s*)/,/^(?:(?!\\\\n||)*[^\\\\n]*)/,/^(?:accDescr\\\\s*:\\\\s*)/,/^(?:(?!\\\\n||)*[^\\\\n]*)/,/^(?:accDescr\\\\s*\\\\{\\\\s*)/,/^(?:[\\\\}])/,/^(?:[^\\\\}]*)/,/^(?:[\\\"])/,/^(?:[\\\"])/,/^(?:[^\\\"]*)/,/^(?:style\\\\b)/,/^(?:default\\\\b)/,/^(?:linkStyle\\\\b)/,/^(?:interpolate\\\\b)/,/^(?:classDef\\\\b)/,/^(?:class\\\\b)/,/^(?:href[\\\\s]+[\\\"])/,/^(?:[\\\"])/,/^(?:[^\\\"]*)/,/^(?:call[\\\\s]+)/,/^(?:\\\\([\\\\s]*\\\\))/,/^(?:\\\\()/,/^(?:[^(]*)/,/^(?:\\\\))/,/^(?:[^)]*)/,/^(?:click[\\\\s]+)/,/^(?:[\\\\s\\\\n])/,/^(?:[^\\\\s\\\\n]*)/,/^(?:graph\\\\b)/,/^(?:flowchart\\\\b)/,/^(?:subgraph\\\\b)/,/^(?:end\\\\b\\\\s*)/,/^(?:_self\\\\b)/,/^(?:_blank\\\\b)/,/^(?:_parent\\\\b)/,/^(?:_top\\\\b)/,/^(?:(\\\\r?\\\\n)*\\\\s*\\\\n)/,/^(?:\\\\s*LR\\\\b)/,/^(?:\\\\s*RL\\\\b)/,/^(?:\\\\s*TB\\\\b)/,/^(?:\\\\s*BT\\\\b)/,/^(?:\\\\s*TD\\\\b)/,/^(?:\\\\s*BR\\\\b)/,/^(?:\\\\s*\u003C)/,/^(?:\\\\s*>)/,/^(?:\\\\s*\\\\^)/,/^(?:\\\\s*v\\\\b)/,/^(?:.*direction\\\\s+TB[^\\\\n]*)/,/^(?:.*direction\\\\s+BT[^\\\\n]*)/,/^(?:.*direction\\\\s+RL[^\\\\n]*)/,/^(?:.*direction\\\\s+LR[^\\\\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\\\\*)/,/^(?:\\\\s*[xo\u003C]?--+[-xo>]\\\\s*)/,/^(?:\\\\s*[xo\u003C]?==+[=xo>]\\\\s*)/,/^(?:\\\\s*[xo\u003C]?-?\\\\.+-[xo>]?\\\\s*)/,/^(?:\\\\s*[xo\u003C]?--\\\\s*)/,/^(?:\\\\s*[xo\u003C]?==\\\\s*)/,/^(?:\\\\s*[xo\u003C]?-\\\\.\\\\s*)/,/^(?:\\\\(-)/,/^(?:-\\\\))/,/^(?:\\\\(\\\\[)/,/^(?:\\\\]\\\\))/,/^(?:\\\\[\\\\[)/,/^(?:\\\\]\\\\])/,/^(?:\\\\[\\\\|)/,/^(?:\\\\[\\\\()/,/^(?:\\\\)\\\\])/,/^(?:\\\\(\\\\(\\\\()/,/^(?:\\\\)\\\\)\\\\))/,/^(?:-)/,/^(?:\\\\.)/,/^(?:[\\\\_])/,/^(?:\\\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\u003C)/,/^(?:>)/,/^(?:\\\\^)/,/^(?:\\\\\\\\\\\\|)/,/^(?:v\\\\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\\\\\\\\\\])/,/^(?:\\\\[\\\\/)/,/^(?:\\\\/\\\\])/,/^(?:\\\\[\\\\\\\\)/,/^(?:[!\\\"#$%&'*+,-.`?\\\\\\\\_/])/,/^(?:[\\\\u00AA\\\\u00B5\\\\u00BA\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6]|[\\\\u00F8-\\\\u02C1\\\\u02C6-\\\\u02D1\\\\u02E0-\\\\u02E4\\\\u02EC\\\\u02EE\\\\u0370-\\\\u0374\\\\u0376\\\\u0377]|[\\\\u037A-\\\\u037D\\\\u0386\\\\u0388-\\\\u038A\\\\u038C\\\\u038E-\\\\u03A1\\\\u03A3-\\\\u03F5]|[\\\\u03F7-\\\\u0481\\\\u048A-\\\\u0527\\\\u0531-\\\\u0556\\\\u0559\\\\u0561-\\\\u0587\\\\u05D0-\\\\u05EA]|[\\\\u05F0-\\\\u05F2\\\\u0620-\\\\u064A\\\\u066E\\\\u066F\\\\u0671-\\\\u06D3\\\\u06D5\\\\u06E5\\\\u06E6\\\\u06EE]|[\\\\u06EF\\\\u06FA-\\\\u06FC\\\\u06FF\\\\u0710\\\\u0712-\\\\u072F\\\\u074D-\\\\u07A5\\\\u07B1\\\\u07CA-\\\\u07EA]|[\\\\u07F4\\\\u07F5\\\\u07FA\\\\u0800-\\\\u0815\\\\u081A\\\\u0824\\\\u0828\\\\u0840-\\\\u0858\\\\u08A0]|[\\\\u08A2-\\\\u08AC\\\\u0904-\\\\u0939\\\\u093D\\\\u0950\\\\u0958-\\\\u0961\\\\u0971-\\\\u0977]|[\\\\u0979-\\\\u097F\\\\u0985-\\\\u098C\\\\u098F\\\\u0990\\\\u0993-\\\\u09A8\\\\u09AA-\\\\u09B0\\\\u09B2]|[\\\\u09B6-\\\\u09B9\\\\u09BD\\\\u09CE\\\\u09DC\\\\u09DD\\\\u09DF-\\\\u09E1\\\\u09F0\\\\u09F1\\\\u0A05-\\\\u0A0A]|[\\\\u0A0F\\\\u0A10\\\\u0A13-\\\\u0A28\\\\u0A2A-\\\\u0A30\\\\u0A32\\\\u0A33\\\\u0A35\\\\u0A36\\\\u0A38\\\\u0A39]|[\\\\u0A59-\\\\u0A5C\\\\u0A5E\\\\u0A72-\\\\u0A74\\\\u0A85-\\\\u0A8D\\\\u0A8F-\\\\u0A91\\\\u0A93-\\\\u0AA8]|[\\\\u0AAA-\\\\u0AB0\\\\u0AB2\\\\u0AB3\\\\u0AB5-\\\\u0AB9\\\\u0ABD\\\\u0AD0\\\\u0AE0\\\\u0AE1\\\\u0B05-\\\\u0B0C]|[\\\\u0B0F\\\\u0B10\\\\u0B13-\\\\u0B28\\\\u0B2A-\\\\u0B30\\\\u0B32\\\\u0B33\\\\u0B35-\\\\u0B39\\\\u0B3D\\\\u0B5C]|[\\\\u0B5D\\\\u0B5F-\\\\u0B61\\\\u0B71\\\\u0B83\\\\u0B85-\\\\u0B8A\\\\u0B8E-\\\\u0B90\\\\u0B92-\\\\u0B95\\\\u0B99]|[\\\\u0B9A\\\\u0B9C\\\\u0B9E\\\\u0B9F\\\\u0BA3\\\\u0BA4\\\\u0BA8-\\\\u0BAA\\\\u0BAE-\\\\u0BB9\\\\u0BD0]|[\\\\u0C05-\\\\u0C0C\\\\u0C0E-\\\\u0C10\\\\u0C12-\\\\u0C28\\\\u0C2A-\\\\u0C33\\\\u0C35-\\\\u0C39\\\\u0C3D]|[\\\\u0C58\\\\u0C59\\\\u0C60\\\\u0C61\\\\u0C85-\\\\u0C8C\\\\u0C8E-\\\\u0C90\\\\u0C92-\\\\u0CA8\\\\u0CAA-\\\\u0CB3]|[\\\\u0CB5-\\\\u0CB9\\\\u0CBD\\\\u0CDE\\\\u0CE0\\\\u0CE1\\\\u0CF1\\\\u0CF2\\\\u0D05-\\\\u0D0C\\\\u0D0E-\\\\u0D10]|[\\\\u0D12-\\\\u0D3A\\\\u0D3D\\\\u0D4E\\\\u0D60\\\\u0D61\\\\u0D7A-\\\\u0D7F\\\\u0D85-\\\\u0D96\\\\u0D9A-\\\\u0DB1]|[\\\\u0DB3-\\\\u0DBB\\\\u0DBD\\\\u0DC0-\\\\u0DC6\\\\u0E01-\\\\u0E30\\\\u0E32\\\\u0E33\\\\u0E40-\\\\u0E46\\\\u0E81]|[\\\\u0E82\\\\u0E84\\\\u0E87\\\\u0E88\\\\u0E8A\\\\u0E8D\\\\u0E94-\\\\u0E97\\\\u0E99-\\\\u0E9F\\\\u0EA1-\\\\u0EA3]|[\\\\u0EA5\\\\u0EA7\\\\u0EAA\\\\u0EAB\\\\u0EAD-\\\\u0EB0\\\\u0EB2\\\\u0EB3\\\\u0EBD\\\\u0EC0-\\\\u0EC4\\\\u0EC6]|[\\\\u0EDC-\\\\u0EDF\\\\u0F00\\\\u0F40-\\\\u0F47\\\\u0F49-\\\\u0F6C\\\\u0F88-\\\\u0F8C\\\\u1000-\\\\u102A]|[\\\\u103F\\\\u1050-\\\\u1055\\\\u105A-\\\\u105D\\\\u1061\\\\u1065\\\\u1066\\\\u106E-\\\\u1070\\\\u1075-\\\\u1081]|[\\\\u108E\\\\u10A0-\\\\u10C5\\\\u10C7\\\\u10CD\\\\u10D0-\\\\u10FA\\\\u10FC-\\\\u1248\\\\u124A-\\\\u124D]|[\\\\u1250-\\\\u1256\\\\u1258\\\\u125A-\\\\u125D\\\\u1260-\\\\u1288\\\\u128A-\\\\u128D\\\\u1290-\\\\u12B0]|[\\\\u12B2-\\\\u12B5\\\\u12B8-\\\\u12BE\\\\u12C0\\\\u12C2-\\\\u12C5\\\\u12C8-\\\\u12D6\\\\u12D8-\\\\u1310]|[\\\\u1312-\\\\u1315\\\\u1318-\\\\u135A\\\\u1380-\\\\u138F\\\\u13A0-\\\\u13F4\\\\u1401-\\\\u166C]|[\\\\u166F-\\\\u167F\\\\u1681-\\\\u169A\\\\u16A0-\\\\u16EA\\\\u1700-\\\\u170C\\\\u170E-\\\\u1711]|[\\\\u1720-\\\\u1731\\\\u1740-\\\\u1751\\\\u1760-\\\\u176C\\\\u176E-\\\\u1770\\\\u1780-\\\\u17B3\\\\u17D7]|[\\\\u17DC\\\\u1820-\\\\u1877\\\\u1880-\\\\u18A8\\\\u18AA\\\\u18B0-\\\\u18F5\\\\u1900-\\\\u191C]|[\\\\u1950-\\\\u196D\\\\u1970-\\\\u1974\\\\u1980-\\\\u19AB\\\\u19C1-\\\\u19C7\\\\u1A00-\\\\u1A16]|[\\\\u1A20-\\\\u1A54\\\\u1AA7\\\\u1B05-\\\\u1B33\\\\u1B45-\\\\u1B4B\\\\u1B83-\\\\u1BA0\\\\u1BAE\\\\u1BAF]|[\\\\u1BBA-\\\\u1BE5\\\\u1C00-\\\\u1C23\\\\u1C4D-\\\\u1C4F\\\\u1C5A-\\\\u1C7D\\\\u1CE9-\\\\u1CEC]|[\\\\u1CEE-\\\\u1CF1\\\\u1CF5\\\\u1CF6\\\\u1D00-\\\\u1DBF\\\\u1E00-\\\\u1F15\\\\u1F18-\\\\u1F1D]|[\\\\u1F20-\\\\u1F45\\\\u1F48-\\\\u1F4D\\\\u1F50-\\\\u1F57\\\\u1F59\\\\u1F5B\\\\u1F5D\\\\u1F5F-\\\\u1F7D]|[\\\\u1F80-\\\\u1FB4\\\\u1FB6-\\\\u1FBC\\\\u1FBE\\\\u1FC2-\\\\u1FC4\\\\u1FC6-\\\\u1FCC\\\\u1FD0-\\\\u1FD3]|[\\\\u1FD6-\\\\u1FDB\\\\u1FE0-\\\\u1FEC\\\\u1FF2-\\\\u1FF4\\\\u1FF6-\\\\u1FFC\\\\u2071\\\\u207F]|[\\\\u2090-\\\\u209C\\\\u2102\\\\u2107\\\\u210A-\\\\u2113\\\\u2115\\\\u2119-\\\\u211D\\\\u2124\\\\u2126\\\\u2128]|[\\\\u212A-\\\\u212D\\\\u212F-\\\\u2139\\\\u213C-\\\\u213F\\\\u2145-\\\\u2149\\\\u214E\\\\u2183\\\\u2184]|[\\\\u2C00-\\\\u2C2E\\\\u2C30-\\\\u2C5E\\\\u2C60-\\\\u2CE4\\\\u2CEB-\\\\u2CEE\\\\u2CF2\\\\u2CF3]|[\\\\u2D00-\\\\u2D25\\\\u2D27\\\\u2D2D\\\\u2D30-\\\\u2D67\\\\u2D6F\\\\u2D80-\\\\u2D96\\\\u2DA0-\\\\u2DA6]|[\\\\u2DA8-\\\\u2DAE\\\\u2DB0-\\\\u2DB6\\\\u2DB8-\\\\u2DBE\\\\u2DC0-\\\\u2DC6\\\\u2DC8-\\\\u2DCE]|[\\\\u2DD0-\\\\u2DD6\\\\u2DD8-\\\\u2DDE\\\\u2E2F\\\\u3005\\\\u3006\\\\u3031-\\\\u3035\\\\u303B\\\\u303C]|[\\\\u3041-\\\\u3096\\\\u309D-\\\\u309F\\\\u30A1-\\\\u30FA\\\\u30FC-\\\\u30FF\\\\u3105-\\\\u312D]|[\\\\u3131-\\\\u318E\\\\u31A0-\\\\u31BA\\\\u31F0-\\\\u31FF\\\\u3400-\\\\u4DB5\\\\u4E00-\\\\u9FCC]|[\\\\uA000-\\\\uA48C\\\\uA4D0-\\\\uA4FD\\\\uA500-\\\\uA60C\\\\uA610-\\\\uA61F\\\\uA62A\\\\uA62B]|[\\\\uA640-\\\\uA66E\\\\uA67F-\\\\uA697\\\\uA6A0-\\\\uA6E5\\\\uA717-\\\\uA71F\\\\uA722-\\\\uA788]|[\\\\uA78B-\\\\uA78E\\\\uA790-\\\\uA793\\\\uA7A0-\\\\uA7AA\\\\uA7F8-\\\\uA801\\\\uA803-\\\\uA805]|[\\\\uA807-\\\\uA80A\\\\uA80C-\\\\uA822\\\\uA840-\\\\uA873\\\\uA882-\\\\uA8B3\\\\uA8F2-\\\\uA8F7\\\\uA8FB]|[\\\\uA90A-\\\\uA925\\\\uA930-\\\\uA946\\\\uA960-\\\\uA97C\\\\uA984-\\\\uA9B2\\\\uA9CF\\\\uAA00-\\\\uAA28]|[\\\\uAA40-\\\\uAA42\\\\uAA44-\\\\uAA4B\\\\uAA60-\\\\uAA76\\\\uAA7A\\\\uAA80-\\\\uAAAF\\\\uAAB1\\\\uAAB5]|[\\\\uAAB6\\\\uAAB9-\\\\uAABD\\\\uAAC0\\\\uAAC2\\\\uAADB-\\\\uAADD\\\\uAAE0-\\\\uAAEA\\\\uAAF2-\\\\uAAF4]|[\\\\uAB01-\\\\uAB06\\\\uAB09-\\\\uAB0E\\\\uAB11-\\\\uAB16\\\\uAB20-\\\\uAB26\\\\uAB28-\\\\uAB2E]|[\\\\uABC0-\\\\uABE2\\\\uAC00-\\\\uD7A3\\\\uD7B0-\\\\uD7C6\\\\uD7CB-\\\\uD7FB\\\\uF900-\\\\uFA6D]|[\\\\uFA70-\\\\uFAD9\\\\uFB00-\\\\uFB06\\\\uFB13-\\\\uFB17\\\\uFB1D\\\\uFB1F-\\\\uFB28\\\\uFB2A-\\\\uFB36]|[\\\\uFB38-\\\\uFB3C\\\\uFB3E\\\\uFB40\\\\uFB41\\\\uFB43\\\\uFB44\\\\uFB46-\\\\uFBB1\\\\uFBD3-\\\\uFD3D]|[\\\\uFD50-\\\\uFD8F\\\\uFD92-\\\\uFDC7\\\\uFDF0-\\\\uFDFB\\\\uFE70-\\\\uFE74\\\\uFE76-\\\\uFEFC]|[\\\\uFF21-\\\\uFF3A\\\\uFF41-\\\\uFF5A\\\\uFF66-\\\\uFFBE\\\\uFFC2-\\\\uFFC7\\\\uFFCA-\\\\uFFCF]|[\\\\uFFD2-\\\\uFFD7\\\\uFFDA-\\\\uFFDC])/,/^(?:\\\\|)/,/^(?:\\\\()/,/^(?:\\\\))/,/^(?:\\\\[)/,/^(?:\\\\])/,/^(?:\\\\{)/,/^(?:\\\\})/,/^(?:\\\")/,/^(?:(\\\\r?\\\\n)+)/,/^(?:\\\\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[30,31],inclusive:!1},callbackname:{rules:[27,28,29],inclusive:!1},href:{rules:[24,25],inclusive:!1},click:{rules:[33,34],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[43,44,45,46,47,48,49,50,51,52,53],inclusive:!1},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,5,6,7,9,11,14,17,18,19,20,21,22,23,26,32,35,36,37,38,39,40,41,42,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],inclusive:!0}}};return zr}();Ne.lexer=Xi;function Ki(){this.yy={}}return Ki.prototype=Ne,Ne.Parser=Ki,new Ki}();T0.parser=T0;const jm=T0,MI=(t,e)=>{var r;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)===\\\"dagre-wrapper\\\"?!1:t.match(/^\\\\s*graph/)!==null},NI=(t,e)=>{var r;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)===\\\"dagre-wrapper\\\"&&t.match(/^\\\\s*graph/)!==null?!0:t.match(/^\\\\s*flowchart/)!==null},BI=\\\"flowchart-\\\";let $m=0,E0=$(),Ue={},Ds=[],Sa={},xi=[],mu={},C0={},bu=0,S0=!0,Gn,_u,xu=[];const vu=t=>he.sanitizeText(t,E0),II=function(t,e,r){ze.parseDirective(this,t,e,r)},ku=function(t){const e=Object.keys(Ue);for(const r of e)if(Ue[r].id===t)return Ue[r].domId;return t},OI=function(t,e,r,n,i,s,a={}){let o,l=t;l!==void 0&&l.trim().length!==0&&(Ue[l]===void 0&&(Ue[l]={id:l,domId:BI+l+\\\"-\\\"+$m,styles:[],classes:[]}),$m++,e!==void 0?(E0=$(),o=vu(e.trim()),o[0]==='\\\"'&&o[o.length-1]==='\\\"'&&(o=o.substring(1,o.length-1)),Ue[l].text=o):Ue[l].text===void 0&&(Ue[l].text=t),r!==void 0&&(Ue[l].type=r),n!=null&&n.forEach(function(u){Ue[l].styles.push(u)}),i!=null&&i.forEach(function(u){Ue[l].classes.push(u)}),s!==void 0&&(Ue[l].dir=s),Ue[l].props===void 0?Ue[l].props=a:a!==void 0&&Object.assign(Ue[l].props,a))},RI=function(t,e,r,n){const a={start:t,end:e,type:void 0,text:\\\"\\\"};n=r.text,n!==void 0&&(a.text=vu(n.trim()),a.text[0]==='\\\"'&&a.text[a.text.length-1]==='\\\"'&&(a.text=a.text.substring(1,a.text.length-1))),r!==void 0&&(a.type=r.type,a.stroke=r.stroke,a.length=r.length),Ds.push(a)},FI=function(t,e,r,n){let i,s;for(i=0;i\u003Ct.length;i++)for(s=0;s\u003Ce.length;s++)RI(t[i],e[s],r,n)},PI=function(t,e){t.forEach(function(r){r===\\\"default\\\"?Ds.defaultInterpolate=e:Ds[r].interpolate=e})},YI=function(t,e){t.forEach(function(r){r===\\\"default\\\"?Ds.defaultStyle=e:(ge.isSubstringInArray(\\\"fill\\\",e)===-1&&e.push(\\\"fill:none\\\"),Ds[r].style=e)})},VI=function(t,e){Sa[t]===void 0&&(Sa[t]={id:t,styles:[],textStyles:[]}),e!=null&&e.forEach(function(r){if(r.match(\\\"color\\\")){const i=r.replace(\\\"fill\\\",\\\"bgFill\\\").replace(\\\"color\\\",\\\"fill\\\");Sa[t].textStyles.push(i)}Sa[t].styles.push(r)})},UI=function(t){Gn=t,Gn.match(/.*\u003C/)&&(Gn=\\\"RL\\\"),Gn.match(/.*\\\\^/)&&(Gn=\\\"BT\\\"),Gn.match(/.*>/)&&(Gn=\\\"LR\\\"),Gn.match(/.*v/)&&(Gn=\\\"TB\\\")},A0=function(t,e){t.split(\\\",\\\").forEach(function(r){let n=r;Ue[n]!==void 0&&Ue[n].classes.push(e),mu[n]!==void 0&&mu[n].classes.push(e)})},zI=function(t,e){t.split(\\\",\\\").forEach(function(r){e!==void 0&&(C0[_u===\\\"gen-1\\\"?ku(r):r]=vu(e))})},WI=function(t,e,r){let n=ku(t);if($().securityLevel!==\\\"loose\\\"||e===void 0)return;let i=[];if(typeof r==\\\"string\\\"){i=r.split(/,(?=(?:(?:[^\\\"]*\\\"){2})*[^\\\"]*$)/);for(let s=0;s\u003Ci.length;s++){let a=i[s].trim();a.charAt(0)==='\\\"'&&a.charAt(a.length-1)==='\\\"'&&(a=a.substr(1,a.length-2)),i[s]=a}}i.length===0&&i.push(t),Ue[t]!==void 0&&(Ue[t].haveCallback=!0,xu.push(function(){const s=document.querySelector(`[id=\\\"${n}\\\"]`);s!==null&&s.addEventListener(\\\"click\\\",function(){ge.runFunc(e,...i)},!1)}))},HI=function(t,e,r){t.split(\\\",\\\").forEach(function(n){Ue[n]!==void 0&&(Ue[n].link=ge.formatUrl(e,E0),Ue[n].linkTarget=r)}),A0(t,\\\"clickable\\\")},GI=function(t){return C0[t]},qI=function(t,e,r){t.split(\\\",\\\").forEach(function(n){WI(n,e,r)}),A0(t,\\\"clickable\\\")},jI=function(t){xu.forEach(function(e){e(t)})},$I=function(){return Gn.trim()},XI=function(){return Ue},KI=function(){return Ds},ZI=function(){return Sa},Xm=function(t){let e=St(\\\".mermaidTooltip\\\");(e._groups||e)[0][0]===null&&(e=St(\\\"body\\\").append(\\\"div\\\").attr(\\\"class\\\",\\\"mermaidTooltip\\\").style(\\\"opacity\\\",0)),St(t).select(\\\"svg\\\").selectAll(\\\"g.node\\\").on(\\\"mouseover\\\",function(){const i=St(this);if(i.attr(\\\"title\\\")===null)return;const a=this.getBoundingClientRect();e.transition().duration(200).style(\\\"opacity\\\",\\\".9\\\"),e.text(i.attr(\\\"title\\\")).style(\\\"left\\\",window.scrollX+a.left+(a.right-a.left)/2+\\\"px\\\").style(\\\"top\\\",window.scrollY+a.top-14+document.body.scrollTop+\\\"px\\\"),e.html(e.html().replace(/<br\\\\/>/g,\\\"\u003Cbr/>\\\")),i.classed(\\\"hover\\\",!0)}).on(\\\"mouseout\\\",function(){e.transition().duration(500).style(\\\"opacity\\\",0),St(this).classed(\\\"hover\\\",!1)})};xu.push(Xm);const QI=function(t=\\\"gen-1\\\"){Ue={},Sa={},Ds=[],xu=[Xm],xi=[],mu={},bu=0,C0=[],S0=!0,_u=t,vn()},JI=t=>{_u=t||\\\"gen-1\\\"},tO=function(){return\\\"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;\\\"},eO=function(t,e,r){let n=t.trim(),i=r;t===r&&r.match(/\\\\s/)&&(n=void 0);function s(d){const f={boolean:{},number:{},string:{}},p=[];let g;return{nodeList:d.filter(function(k){const T=typeof k;return k.stmt&&k.stmt===\\\"dir\\\"?(g=k.value,!1):k.trim()===\\\"\\\"?!1:T in f?f[T].hasOwnProperty(k)?!1:f[T][k]=!0:p.includes(k)?!1:p.push(k)}),dir:g}}let a=[];const{nodeList:o,dir:l}=s(a.concat.apply(a,e));if(a=o,_u===\\\"gen-1\\\")for(let d=0;d\u003Ca.length;d++)a[d]=ku(a[d]);n=n||\\\"subGraph\\\"+bu,i=i||\\\"\\\",i=vu(i),bu=bu+1;const u={id:n,nodes:a,title:i.trim(),classes:[],dir:l};return B.info(\\\"Adding\\\",u.id,u.nodes,u.dir),u.nodes=Jm(u,xi).nodes,xi.push(u),mu[n]=u,n},rO=function(t){for(const[e,r]of xi.entries())if(r.id===t)return e;return-1};let zo=-1;const Km=[],Zm=function(t,e){const r=xi[e].nodes;if(zo=zo+1,zo>2e3)return;if(Km[zo]=e,xi[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n\u003Cr.length;){const s=rO(r[n]);if(s>=0){const a=Zm(t,s);if(a.result)return{result:!0,count:i+a.count};i=i+a.count}n=n+1}return{result:!1,count:i}},nO=function(t){return Km[t]},iO=function(){zo=-1,xi.length>0&&Zm(\\\"none\\\",xi.length-1)},sO=function(){return xi},aO=()=>S0?(S0=!1,!0):!1,oO=t=>{let e=t.trim(),r=\\\"arrow_open\\\";switch(e[0]){case\\\"\u003C\\\":r=\\\"arrow_point\\\",e=e.slice(1);break;case\\\"x\\\":r=\\\"arrow_cross\\\",e=e.slice(1);break;case\\\"o\\\":r=\\\"arrow_circle\\\",e=e.slice(1);break}let n=\\\"normal\\\";return e.includes(\\\"=\\\")&&(n=\\\"thick\\\"),e.includes(\\\".\\\")&&(n=\\\"dotted\\\"),{type:r,stroke:n}},lO=(t,e)=>{const r=e.length;let n=0;for(let i=0;i\u003Cr;++i)e[i]===t&&++n;return n},cO=t=>{const e=t.trim();let r=e.slice(0,-1),n=\\\"arrow_open\\\";switch(e.slice(-1)){case\\\"x\\\":n=\\\"arrow_cross\\\",e[0]===\\\"x\\\"&&(n=\\\"double_\\\"+n,r=r.slice(1));break;case\\\">\\\":n=\\\"arrow_point\\\",e[0]===\\\"\u003C\\\"&&(n=\\\"double_\\\"+n,r=r.slice(1));break;case\\\"o\\\":n=\\\"arrow_circle\\\",e[0]===\\\"o\\\"&&(n=\\\"double_\\\"+n,r=r.slice(1));break}let i=\\\"normal\\\",s=r.length-1;r[0]===\\\"=\\\"&&(i=\\\"thick\\\");let a=lO(\\\".\\\",r);return a&&(i=\\\"dotted\\\",s=a),{type:n,stroke:i,length:s}},uO=(t,e)=>{const r=cO(t);let n;if(e){if(n=oO(e),n.stroke!==r.stroke)return{type:\\\"INVALID\\\",stroke:\\\"INVALID\\\"};if(n.type===\\\"arrow_open\\\")n.type=r.type;else{if(n.type!==r.type)return{type:\\\"INVALID\\\",stroke:\\\"INVALID\\\"};n.type=\\\"double_\\\"+n.type}return n.type===\\\"double_arrow\\\"&&(n.type=\\\"double_arrow_point\\\"),n.length=r.length,n}return r},Qm=(t,e)=>{let r=!1;return t.forEach(n=>{n.nodes.indexOf(e)>=0&&(r=!0)}),r},Jm=(t,e)=>{const r=[];return t.nodes.forEach((n,i)=>{Qm(e,n)||r.push(t.nodes[i])}),{nodes:r}},vi={parseDirective:II,defaultConfig:()=>ha.flowchart,setAccTitle:nn,getAccTitle:kn,getAccDescription:Tn,setAccDescription:wn,addVertex:OI,lookUpDomId:ku,addLink:FI,updateLinkInterpolate:PI,updateLink:YI,addClass:VI,setDirection:UI,setClass:A0,setTooltip:zI,getTooltip:GI,setClickEvent:qI,setLink:HI,bindFunctions:jI,getDirection:$I,getVertices:XI,getEdges:KI,getClasses:ZI,clear:QI,setGen:JI,defaultStyle:tO,addSubGraph:eO,getDepthFirstPos:nO,indexNodes:iO,getSubGraphs:sO,destructLink:uO,lex:{firstGraph:aO},exists:Qm,makeUniq:Jm,setDiagramTitle:hi,getDiagramTitle:di};function t3(t,e){return!!t.children(e).length}function e3(t){return L0(t.v)+\\\":\\\"+L0(t.w)+\\\":\\\"+L0(t.name)}var hO=/:/g;function L0(t){return t?String(t).replace(hO,\\\"\\\\\\\\:\\\"):\\\"\\\"}function qn(t,e){e&&t.attr(\\\"style\\\",e)}function r3(t,e,r){e&&t.attr(\\\"class\\\",e).attr(\\\"class\\\",r+\\\" \\\"+t.attr(\\\"class\\\"))}function Dn(t,e){var r=e.graph();if(oy(r)){var n=r.transition;if(aa(n))return n(t)}return t}var D0={normal:fO,vee:pO,undirected:gO};function dO(t){D0=t}function fO(t,e,r,n){var i=t.append(\\\"marker\\\").attr(\\\"id\\\",e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"strokeWidth\\\").attr(\\\"markerWidth\\\",8).attr(\\\"markerHeight\\\",6).attr(\\\"orient\\\",\\\"auto\\\"),s=i.append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 10 5 L 0 10 z\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\");qn(s,r[n+\\\"Style\\\"]),r[n+\\\"Class\\\"]&&s.attr(\\\"class\\\",r[n+\\\"Class\\\"])}function pO(t,e,r,n){var i=t.append(\\\"marker\\\").attr(\\\"id\\\",e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"strokeWidth\\\").attr(\\\"markerWidth\\\",8).attr(\\\"markerHeight\\\",6).attr(\\\"orient\\\",\\\"auto\\\"),s=i.append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 10 5 L 0 10 L 4 5 z\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\");qn(s,r[n+\\\"Style\\\"]),r[n+\\\"Class\\\"]&&s.attr(\\\"class\\\",r[n+\\\"Class\\\"])}function gO(t,e,r,n){var i=t.append(\\\"marker\\\").attr(\\\"id\\\",e).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"strokeWidth\\\").attr(\\\"markerWidth\\\",8).attr(\\\"markerHeight\\\",6).attr(\\\"orient\\\",\\\"auto\\\"),s=i.append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 5 L 10 5\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\");qn(s,r[n+\\\"Style\\\"]),r[n+\\\"Class\\\"]&&s.attr(\\\"class\\\",r[n+\\\"Class\\\"])}function M0(t,e){var r=t.append(\\\"foreignObject\\\").attr(\\\"width\\\",\\\"100000\\\"),n=r.append(\\\"xhtml:div\\\");n.attr(\\\"xmlns\\\",\\\"http://www.w3.org/1999/xhtml\\\");var i=e.label;switch(typeof i){case\\\"function\\\":n.insert(i);break;case\\\"object\\\":n.insert(function(){return i});break;default:n.html(i)}qn(n,e.labelStyle),n.style(\\\"display\\\",\\\"inline-block\\\"),n.style(\\\"white-space\\\",\\\"nowrap\\\");var s=n.node().getBoundingClientRect();return r.attr(\\\"width\\\",s.width).attr(\\\"height\\\",s.height),r}function yO(t,e){var r=t;return r.node().appendChild(e.label),qn(r,e.labelStyle),r}function mO(t,e){for(var r=t.append(\\\"text\\\"),n=bO(e.label).split(`\\n`),i=0;i\u003Cn.length;i++)r.append(\\\"tspan\\\").attr(\\\"xml:space\\\",\\\"preserve\\\").attr(\\\"dy\\\",\\\"1em\\\").attr(\\\"x\\\",\\\"1\\\").text(n[i]);return qn(r,e.labelStyle),r}function bO(t){for(var e=\\\"\\\",r=!1,n,i=0;i\u003Ct.length;++i)if(n=t[i],r){switch(n){case\\\"n\\\":e+=`\\n`;break;default:e+=n}r=!1}else n===\\\"\\\\\\\\\\\"?r=!0:e+=n;return e}function N0(t,e,r){var n=e.label,i=t.append(\\\"g\\\");e.labelType===\\\"svg\\\"?yO(i,e):typeof n!=\\\"string\\\"||e.labelType===\\\"html\\\"?M0(i,e):mO(i,e);var s=i.node().getBBox(),a;switch(r){case\\\"top\\\":a=-e.height/2;break;case\\\"bottom\\\":a=e.height/2-s.height;break;default:a=-s.height/2}return i.attr(\\\"transform\\\",\\\"translate(\\\"+-s.width/2+\\\",\\\"+a+\\\")\\\"),i}var B0=function(t,e){var r=e.nodes().filter(function(s){return t3(e,s)}),n=t.selectAll(\\\"g.cluster\\\").data(r,function(s){return s});Dn(n.exit(),e).style(\\\"opacity\\\",0).remove();var i=n.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"cluster\\\").attr(\\\"id\\\",function(s){var a=e.node(s);return a.id}).style(\\\"opacity\\\",0).each(function(s){var a=e.node(s),o=St(this);St(this).append(\\\"rect\\\");var l=o.append(\\\"g\\\").attr(\\\"class\\\",\\\"label\\\");N0(l,a,a.clusterLabelPos)});return n=n.merge(i),n=Dn(n,e).style(\\\"opacity\\\",1),n.selectAll(\\\"rect\\\").each(function(s){var a=e.node(s),o=St(this);qn(o,a.style)}),n};function _O(t){B0=t}let I0=function(t,e){var r=t.selectAll(\\\"g.edgeLabel\\\").data(e.edges(),function(i){return e3(i)}).classed(\\\"update\\\",!0);r.exit().remove(),r.enter().append(\\\"g\\\").classed(\\\"edgeLabel\\\",!0).style(\\\"opacity\\\",0),r=t.selectAll(\\\"g.edgeLabel\\\"),r.each(function(i){var s=St(this);s.select(\\\".label\\\").remove();var a=e.edge(i),o=N0(s,e.edge(i),0).classed(\\\"label\\\",!0),l=o.node().getBBox();a.labelId&&o.attr(\\\"id\\\",a.labelId),me(a,\\\"width\\\")||(a.width=l.width),me(a,\\\"height\\\")||(a.height=l.height)});var n;return r.exit?n=r.exit():n=r.selectAll(null),Dn(n,e).style(\\\"opacity\\\",0).remove(),r};function xO(t){I0=t}function n3(t,e){return t.intersect(e)}var O0=function(t,e,r){var n=t.selectAll(\\\"g.edgePath\\\").data(e.edges(),function(a){return e3(a)}).classed(\\\"update\\\",!0),i=EO(n,e);CO(n,e);var s=n.merge!==void 0?n.merge(i):n;return Dn(s,e).style(\\\"opacity\\\",1),s.each(function(a){var o=St(this),l=e.edge(a);l.elem=this,l.id&&o.attr(\\\"id\\\",l.id),r3(o,l.class,(o.classed(\\\"update\\\")?\\\"update \\\":\\\"\\\")+\\\"edgePath\\\")}),s.selectAll(\\\"path.path\\\").each(function(a){var o=e.edge(a);o.arrowheadId=ou(\\\"arrowhead\\\");var l=St(this).attr(\\\"marker-end\\\",function(){return\\\"url(\\\"+kO(location.href,o.arrowheadId)+\\\")\\\"}).style(\\\"fill\\\",\\\"none\\\");Dn(l,e).attr(\\\"d\\\",function(u){return wO(e,u)}),qn(l,o.style)}),s.selectAll(\\\"defs *\\\").remove(),s.selectAll(\\\"defs\\\").each(function(a){var o=e.edge(a),l=r[o.arrowhead];l(St(this),o.arrowheadId,o,\\\"arrowhead\\\")}),s};function vO(t){O0=t}function kO(t,e){var r=t.split(\\\"#\\\")[0];return r+\\\"#\\\"+e}function wO(t,e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),s=r.points.slice(1,r.points.length-1);return s.unshift(n3(n,s[0])),s.push(n3(i,s[s.length-1])),i3(r,s)}function i3(t,e){var r=(Js||S6.line)().x(function(n){return n.x}).y(function(n){return n.y});return(r.curve||r.interpolate)(t.curve),r(e)}function TO(t){var e=t.getBBox(),r=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2);return{x:r.e,y:r.f}}function EO(t,e){var r=t.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"edgePath\\\").style(\\\"opacity\\\",0);return r.append(\\\"path\\\").attr(\\\"class\\\",\\\"path\\\").attr(\\\"d\\\",function(n){var i=e.edge(n),s=e.node(n.v).elem,a=Ss(i.points.length).map(function(){return TO(s)});return i3(i,a)}),r.append(\\\"defs\\\"),r}function CO(t,e){var r=t.exit();Dn(r,e).style(\\\"opacity\\\",0).remove()}var R0=function(t,e,r){var n=e.nodes().filter(function(a){return!t3(e,a)}),i=t.selectAll(\\\"g.node\\\").data(n,function(a){return a}).classed(\\\"update\\\",!0);i.exit().remove(),i.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"node\\\").style(\\\"opacity\\\",0),i=t.selectAll(\\\"g.node\\\"),i.each(function(a){var o=e.node(a),l=St(this);r3(l,o.class,(l.classed(\\\"update\\\")?\\\"update \\\":\\\"\\\")+\\\"node\\\"),l.select(\\\"g.label\\\").remove();var u=l.append(\\\"g\\\").attr(\\\"class\\\",\\\"label\\\"),d=N0(u,o),f=r[o.shape],p=No(d.node().getBBox(),\\\"width\\\",\\\"height\\\");o.elem=this,o.id&&l.attr(\\\"id\\\",o.id),o.labelId&&u.attr(\\\"id\\\",o.labelId),me(o,\\\"width\\\")&&(p.width=o.width),me(o,\\\"height\\\")&&(p.height=o.height),p.width+=o.paddingLeft+o.paddingRight,p.height+=o.paddingTop+o.paddingBottom,u.attr(\\\"transform\\\",\\\"translate(\\\"+(o.paddingLeft-o.paddingRight)/2+\\\",\\\"+(o.paddingTop-o.paddingBottom)/2+\\\")\\\");var g=St(this);g.select(\\\".label-container\\\").remove();var b=f(g,p,o).classed(\\\"label-container\\\",!0);qn(b,o.style);var k=b.node().getBBox();o.width=k.width,o.height=k.height});var s;return i.exit?s=i.exit():s=i.selectAll(null),Dn(s,e).style(\\\"opacity\\\",0).remove(),i};function SO(t){R0=t}function AO(t,e){var r=t.filter(function(){return!St(this).classed(\\\"update\\\")});function n(i){var s=e.node(i);return\\\"translate(\\\"+s.x+\\\",\\\"+s.y+\\\")\\\"}r.attr(\\\"transform\\\",n),Dn(t,e).style(\\\"opacity\\\",1).attr(\\\"transform\\\",n),Dn(r.selectAll(\\\"rect\\\"),e).attr(\\\"width\\\",function(i){return e.node(i).width}).attr(\\\"height\\\",function(i){return e.node(i).height}).attr(\\\"x\\\",function(i){var s=e.node(i);return-s.width/2}).attr(\\\"y\\\",function(i){var s=e.node(i);return-s.height/2})}function LO(t,e){var r=t.filter(function(){return!St(this).classed(\\\"update\\\")});function n(i){var s=e.edge(i);return me(s,\\\"x\\\")?\\\"translate(\\\"+s.x+\\\",\\\"+s.y+\\\")\\\":\\\"\\\"}r.attr(\\\"transform\\\",n),Dn(t,e).style(\\\"opacity\\\",1).attr(\\\"transform\\\",n)}function DO(t,e){var r=t.filter(function(){return!St(this).classed(\\\"update\\\")});function n(i){var s=e.node(i);return\\\"translate(\\\"+s.x+\\\",\\\"+s.y+\\\")\\\"}r.attr(\\\"transform\\\",n),Dn(t,e).style(\\\"opacity\\\",1).attr(\\\"transform\\\",n)}function s3(t,e,r,n){var i=t.x,s=t.y,a=i-n.x,o=s-n.y,l=Math.sqrt(e*e*o*o+r*r*a*a),u=Math.abs(e*r*a/l);n.x\u003Ci&&(u=-u);var d=Math.abs(e*r*o/l);return n.y\u003Cs&&(d=-d),{x:i+u,y:s+d}}function MO(t,e,r){return s3(t,e,e,r)}function NO(t,e,r,n){var i,s,a,o,l,u,d,f,p,g,b,k,T,L,E;if(i=e.y-t.y,a=t.x-e.x,l=e.x*t.y-t.x*e.y,p=i*r.x+a*r.y+l,g=i*n.x+a*n.y+l,!(p!==0&&g!==0&&a3(p,g))&&(s=n.y-r.y,o=r.x-n.x,u=n.x*r.y-r.x*n.y,d=s*t.x+o*t.y+u,f=s*e.x+o*e.y+u,!(d!==0&&f!==0&&a3(d,f))&&(b=i*o-s*a,b!==0)))return k=Math.abs(b/2),T=a*u-o*l,L=T\u003C0?(T-k)/b:(T+k)/b,T=s*l-i*u,E=T\u003C0?(T-k)/b:(T+k)/b,{x:L,y:E}}function a3(t,e){return t*e>0}function jn(t,e,r){var n=t.x,i=t.y,s=[],a=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(b){a=Math.min(a,b.x),o=Math.min(o,b.y)});for(var l=n-t.width/2-a,u=i-t.height/2-o,d=0;d\u003Ce.length;d++){var f=e[d],p=e[d\u003Ce.length-1?d+1:0],g=NO(t,r,{x:l+f.x,y:u+f.y},{x:l+p.x,y:u+p.y});g&&s.push(g)}return s.length?(s.length>1&&s.sort(function(b,k){var T=b.x-r.x,L=b.y-r.y,E=Math.sqrt(T*T+L*L),I=k.x-r.x,V=k.y-r.y,H=Math.sqrt(I*I+V*V);return E\u003CH?-1:E===H?0:1}),s[0]):(console.log(\\\"NO INTERSECTION FOUND, RETURN NODE CENTER\\\",t),t)}function F0(t,e){var r=t.x,n=t.y,i=e.x-r,s=e.y-n,a=t.width/2,o=t.height/2,l,u;return Math.abs(s)*a>Math.abs(i)*o?(s\u003C0&&(o=-o),l=s===0?0:o*i/s,u=o):(i\u003C0&&(a=-a),l=a,u=i===0?0:a*s/i),{x:r+l,y:n+u}}var P0={rect:IO,ellipse:OO,circle:RO,diamond:FO};function BO(t){P0=t}function IO(t,e,r){var n=t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"rx\\\",r.rx).attr(\\\"ry\\\",r.ry).attr(\\\"x\\\",-e.width/2).attr(\\\"y\\\",-e.height/2).attr(\\\"width\\\",e.width).attr(\\\"height\\\",e.height);return r.intersect=function(i){return F0(r,i)},n}function OO(t,e,r){var n=e.width/2,i=e.height/2,s=t.insert(\\\"ellipse\\\",\\\":first-child\\\").attr(\\\"x\\\",-e.width/2).attr(\\\"y\\\",-e.height/2).attr(\\\"rx\\\",n).attr(\\\"ry\\\",i);return r.intersect=function(a){return s3(r,n,i,a)},s}function RO(t,e,r){var n=Math.max(e.width,e.height)/2,i=t.insert(\\\"circle\\\",\\\":first-child\\\").attr(\\\"x\\\",-e.width/2).attr(\\\"y\\\",-e.height/2).attr(\\\"r\\\",n);return r.intersect=function(s){return MO(r,n,s)},i}function FO(t,e,r){var n=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,s=[{x:0,y:-i},{x:-n,y:0},{x:0,y:i},{x:n,y:0}],a=t.insert(\\\"polygon\\\",\\\":first-child\\\").attr(\\\"points\\\",s.map(function(o){return o.x+\\\",\\\"+o.y}).join(\\\" \\\"));return r.intersect=function(o){return jn(r,s,o)},a}function PO(){var t=function(e,r){UO(r);var n=Wo(e,\\\"output\\\"),i=Wo(n,\\\"clusters\\\"),s=Wo(n,\\\"edgePaths\\\"),a=I0(Wo(n,\\\"edgeLabels\\\"),r),o=R0(Wo(n,\\\"nodes\\\"),r,P0);Ea(r),DO(o,r),LO(a,r),O0(s,r,D0);var l=B0(i,r);AO(l,r),zO(r)};return t.createNodes=function(e){return arguments.length?(SO(e),t):R0},t.createClusters=function(e){return arguments.length?(_O(e),t):B0},t.createEdgeLabels=function(e){return arguments.length?(xO(e),t):I0},t.createEdgePaths=function(e){return arguments.length?(vO(e),t):O0},t.shapes=function(e){return arguments.length?(BO(e),t):P0},t.arrows=function(e){return arguments.length?(dO(e),t):D0},t}var YO={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:\\\"rect\\\"},VO={arrowhead:\\\"normal\\\",curve:Hr};function UO(t){t.nodes().forEach(function(e){var r=t.node(e);!me(r,\\\"label\\\")&&!t.children(e).length&&(r.label=e),me(r,\\\"paddingX\\\")&&ka(r,{paddingLeft:r.paddingX,paddingRight:r.paddingX}),me(r,\\\"paddingY\\\")&&ka(r,{paddingTop:r.paddingY,paddingBottom:r.paddingY}),me(r,\\\"padding\\\")&&ka(r,{paddingLeft:r.padding,paddingRight:r.padding,paddingTop:r.padding,paddingBottom:r.padding}),ka(r,YO),vt([\\\"paddingLeft\\\",\\\"paddingRight\\\",\\\"paddingTop\\\",\\\"paddingBottom\\\"],function(n){r[n]=Number(r[n])}),me(r,\\\"width\\\")&&(r._prevWidth=r.width),me(r,\\\"height\\\")&&(r._prevHeight=r.height)}),t.edges().forEach(function(e){var r=t.edge(e);me(r,\\\"label\\\")||(r.label=\\\"\\\"),ka(r,VO)})}function zO(t){vt(t.nodes(),function(e){var r=t.node(e);me(r,\\\"_prevWidth\\\")?r.width=r._prevWidth:delete r.width,me(r,\\\"_prevHeight\\\")?r.height=r._prevHeight:delete r.height,delete r._prevWidth,delete r._prevHeight})}function Wo(t,e){var r=t.select(\\\"g.\\\"+e);return r.empty()&&(r=t.append(\\\"g\\\").attr(\\\"class\\\",e)),r}function o3(t,e,r){const n=e.width,i=e.height,s=(n+i)*.9,a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=ki(t,s,s,a);return r.intersect=function(l){return jn(r,a,l)},o}function l3(t,e,r){const i=e.height,s=i/4,a=e.width+2*s,o=[{x:s,y:0},{x:a-s,y:0},{x:a,y:-i/2},{x:a-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}],l=ki(t,a,i,o);return r.intersect=function(u){return jn(r,o,u)},l}function c3(t,e,r){const n=e.width,i=e.height,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function u3(t,e,r){const n=e.width,i=e.height,s=[{x:-2*i/6,y:0},{x:n-i/6,y:0},{x:n+2*i/6,y:-i},{x:i/6,y:-i}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function h3(t,e,r){const n=e.width,i=e.height,s=[{x:2*i/6,y:0},{x:n+i/6,y:0},{x:n-2*i/6,y:-i},{x:-i/6,y:-i}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function d3(t,e,r){const n=e.width,i=e.height,s=[{x:-2*i/6,y:0},{x:n+2*i/6,y:0},{x:n-i/6,y:-i},{x:i/6,y:-i}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function f3(t,e,r){const n=e.width,i=e.height,s=[{x:i/6,y:0},{x:n-i/6,y:0},{x:n+2*i/6,y:-i},{x:-2*i/6,y:-i}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function p3(t,e,r){const n=e.width,i=e.height,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function g3(t,e,r){const n=e.height,i=e.width+n/4,s=t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"rx\\\",n/2).attr(\\\"ry\\\",n/2).attr(\\\"x\\\",-i/2).attr(\\\"y\\\",-n/2).attr(\\\"width\\\",i).attr(\\\"height\\\",n);return r.intersect=function(a){return F0(r,a)},s}function y3(t,e,r){const n=e.width,i=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],a=ki(t,n,i,s);return r.intersect=function(o){return jn(r,s,o)},a}function m3(t,e,r){const n=e.width,i=n/2,s=i/(2.5+n/50),a=e.height+s,o=\\\"M 0,\\\"+s+\\\" a \\\"+i+\\\",\\\"+s+\\\" 0,0,0 \\\"+n+\\\" 0 a \\\"+i+\\\",\\\"+s+\\\" 0,0,0 \\\"+-n+\\\" 0 l 0,\\\"+a+\\\" a \\\"+i+\\\",\\\"+s+\\\" 0,0,0 \\\"+n+\\\" 0 l 0,\\\"+-a,l=t.attr(\\\"label-offset-y\\\",s).insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"d\\\",o).attr(\\\"transform\\\",\\\"translate(\\\"+-n/2+\\\",\\\"+-(a/2+s)+\\\")\\\");return r.intersect=function(u){const d=F0(r,u),f=d.x-r.x;if(i!=0&&(Math.abs(f)\u003Cr.width/2||Math.abs(f)==r.width/2&&Math.abs(d.y-r.y)>r.height/2-s)){let p=s*s*(1-f*f/(i*i));p!=0&&(p=Math.sqrt(p)),p=s-p,u.y-r.y>0&&(p=-p),d.y+=p}return d},l}function WO(t){t.shapes().question=o3,t.shapes().hexagon=l3,t.shapes().stadium=g3,t.shapes().subroutine=y3,t.shapes().cylinder=m3,t.shapes().rect_left_inv_arrow=c3,t.shapes().lean_right=u3,t.shapes().lean_left=h3,t.shapes().trapezoid=d3,t.shapes().inv_trapezoid=f3,t.shapes().rect_right_inv_arrow=p3}function HO(t){t({question:o3}),t({hexagon:l3}),t({stadium:g3}),t({subroutine:y3}),t({cylinder:m3}),t({rect_left_inv_arrow:c3}),t({lean_right:u3}),t({lean_left:h3}),t({trapezoid:d3}),t({inv_trapezoid:f3}),t({rect_right_inv_arrow:p3})}function ki(t,e,r,n){return t.insert(\\\"polygon\\\",\\\":first-child\\\").attr(\\\"points\\\",n.map(function(i){return i.x+\\\",\\\"+i.y}).join(\\\" \\\")).attr(\\\"transform\\\",\\\"translate(\\\"+-e/2+\\\",\\\"+r/2+\\\")\\\")}const GO={addToRender:WO,addToRenderV2:HO},b3={},qO=function(t){const e=Object.keys(t);for(const r of e)b3[r]=t[r]},_3=function(t,e,r,n,i,s){const a=n?n.select(`[id=\\\"${r}\\\"]`):St(`[id=\\\"${r}\\\"]`),o=i||document;Object.keys(t).forEach(function(u){const d=t[u];let f=\\\"default\\\";d.classes.length>0&&(f=d.classes.join(\\\" \\\"));const p=Vi(d.styles);let g=d.text!==void 0?d.text:d.id,b;if(pr($().flowchart.htmlLabels)){const L={label:g.replace(/fa[blrs]?:fa-[\\\\w-]+/g,E=>`\u003Ci class='${E.replace(\\\":\\\",\\\" \\\")}'>\u003C/i>`)};b=M0(a,L).node(),b.parentNode.removeChild(b)}else{const L=o.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");L.setAttribute(\\\"style\\\",p.labelStyle.replace(\\\"color:\\\",\\\"fill:\\\"));const E=g.split(he.lineBreakRegex);for(const I of E){const V=o.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\");V.setAttributeNS(\\\"http://www.w3.org/XML/1998/namespace\\\",\\\"xml:space\\\",\\\"preserve\\\"),V.setAttribute(\\\"dy\\\",\\\"1em\\\"),V.setAttribute(\\\"x\\\",\\\"1\\\"),V.textContent=I,L.appendChild(V)}b=L}let k=0,T=\\\"\\\";switch(d.type){case\\\"round\\\":k=5,T=\\\"rect\\\";break;case\\\"square\\\":T=\\\"rect\\\";break;case\\\"diamond\\\":T=\\\"question\\\";break;case\\\"hexagon\\\":T=\\\"hexagon\\\";break;case\\\"odd\\\":T=\\\"rect_left_inv_arrow\\\";break;case\\\"lean_right\\\":T=\\\"lean_right\\\";break;case\\\"lean_left\\\":T=\\\"lean_left\\\";break;case\\\"trapezoid\\\":T=\\\"trapezoid\\\";break;case\\\"inv_trapezoid\\\":T=\\\"inv_trapezoid\\\";break;case\\\"odd_right\\\":T=\\\"rect_left_inv_arrow\\\";break;case\\\"circle\\\":T=\\\"circle\\\";break;case\\\"ellipse\\\":T=\\\"ellipse\\\";break;case\\\"stadium\\\":T=\\\"stadium\\\";break;case\\\"subroutine\\\":T=\\\"subroutine\\\";break;case\\\"cylinder\\\":T=\\\"cylinder\\\";break;case\\\"group\\\":T=\\\"rect\\\";break;default:T=\\\"rect\\\"}B.warn(\\\"Adding node\\\",d.id,d.domId),e.setNode(s.db.lookUpDomId(d.id),{labelType:\\\"svg\\\",labelStyle:p.labelStyle,shape:T,label:b,rx:k,ry:k,class:f,style:p.style,id:s.db.lookUpDomId(d.id)})})},x3=function(t,e,r){let n=0,i,s;if(t.defaultStyle!==void 0){const a=Vi(t.defaultStyle);i=a.style,s=a.labelStyle}t.forEach(function(a){n++;var o=\\\"L-\\\"+a.start+\\\"-\\\"+a.end,l=\\\"LS-\\\"+a.start,u=\\\"LE-\\\"+a.end;const d={};a.type===\\\"arrow_open\\\"?d.arrowhead=\\\"none\\\":d.arrowhead=\\\"normal\\\";let f=\\\"\\\",p=\\\"\\\";if(a.style!==void 0){const g=Vi(a.style);f=g.style,p=g.labelStyle}else switch(a.stroke){case\\\"normal\\\":f=\\\"fill:none\\\",i!==void 0&&(f=i),s!==void 0&&(p=s);break;case\\\"dotted\\\":f=\\\"fill:none;stroke-width:2px;stroke-dasharray:3;\\\";break;case\\\"thick\\\":f=\\\" stroke-width: 3.5px;fill:none\\\";break}d.style=f,d.labelStyle=p,a.interpolate!==void 0?d.curve=bn(a.interpolate,Hr):t.defaultInterpolate!==void 0?d.curve=bn(t.defaultInterpolate,Hr):d.curve=bn(b3.curve,Hr),a.text===void 0?a.style!==void 0&&(d.arrowheadStyle=\\\"fill: #333\\\"):(d.arrowheadStyle=\\\"fill: #333\\\",d.labelpos=\\\"c\\\",pr($().flowchart.htmlLabels)?(d.labelType=\\\"html\\\",d.label=`\u003Cspan id=\\\"L-${o}\\\" class=\\\"edgeLabel L-${l}' L-${u}\\\" style=\\\"${d.labelStyle}\\\">${a.text.replace(/fa[blrs]?:fa-[\\\\w-]+/g,g=>`\u003Ci class='${g.replace(\\\":\\\",\\\" \\\")}'>\u003C/i>`)}\u003C/span>`):(d.labelType=\\\"text\\\",d.label=a.text.replace(he.lineBreakRegex,`\\n`),a.style===void 0&&(d.style=d.style||\\\"stroke: #333; stroke-width: 1.5px;fill:none\\\"),d.labelStyle=d.labelStyle.replace(\\\"color:\\\",\\\"fill:\\\"))),d.id=o,d.class=l+\\\" \\\"+u,d.minlen=a.length||1,e.setEdge(r.db.lookUpDomId(a.start),r.db.lookUpDomId(a.end),d,n)})},jO={setConf:qO,addVertices:_3,addEdges:x3,getClasses:function(t,e){B.info(\\\"Extracting classes\\\"),e.db.clear();try{return e.parse(t),e.db.getClasses()}catch(r){return B.error(r),{}}},draw:function(t,e,r,n){B.info(\\\"Drawing flowchart\\\"),n.db.clear();const{securityLevel:i,flowchart:s}=$();let a;i===\\\"sandbox\\\"&&(a=St(\\\"#i\\\"+e));const o=St(i===\\\"sandbox\\\"?a.nodes()[0].contentDocument.body:\\\"body\\\"),l=i===\\\"sandbox\\\"?a.nodes()[0].contentDocument:document;try{n.parser.parse(t)}catch{B.debug(\\\"Parsing failed\\\")}let u=n.db.getDirection();u===void 0&&(u=\\\"TD\\\");const d=s.nodeSpacing||50,f=s.rankSpacing||50,p=new sr({multigraph:!0,compound:!0}).setGraph({rankdir:u,nodesep:d,ranksep:f,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let g;const b=n.db.getSubGraphs();for(let G=b.length-1;G>=0;G--)g=b[G],n.db.addVertex(g.id,g.title,\\\"group\\\",void 0,g.classes);const k=n.db.getVertices();B.warn(\\\"Get vertices\\\",k);const T=n.db.getEdges();let L=0;for(L=b.length-1;L>=0;L--){g=b[L],hh(\\\"cluster\\\").append(\\\"text\\\");for(let G=0;G\u003Cg.nodes.length;G++)B.warn(\\\"Setting subgraph\\\",g.nodes[G],n.db.lookUpDomId(g.nodes[G]),n.db.lookUpDomId(g.id)),p.setParent(n.db.lookUpDomId(g.nodes[G]),n.db.lookUpDomId(g.id))}_3(k,p,e,o,l,n),x3(T,p,n);const E=new PO;GO.addToRender(E),E.arrows().none=function(Y,W,N,D){const v=Y.append(\\\"marker\\\").attr(\\\"id\\\",W).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"strokeWidth\\\").attr(\\\"markerWidth\\\",8).attr(\\\"markerHeight\\\",6).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 0 0 L 0 0 z\\\");qn(v,N[D+\\\"Style\\\"])},E.arrows().normal=function(Y,W){Y.append(\\\"marker\\\").attr(\\\"id\\\",W).attr(\\\"viewBox\\\",\\\"0 0 10 10\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"strokeWidth\\\").attr(\\\"markerWidth\\\",8).attr(\\\"markerHeight\\\",6).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 10 5 L 0 10 z\\\").attr(\\\"class\\\",\\\"arrowheadPath\\\").style(\\\"stroke-width\\\",1).style(\\\"stroke-dasharray\\\",\\\"1,0\\\")};const I=o.select(`[id=\\\"${e}\\\"]`),V=o.select(\\\"#\\\"+e+\\\" g\\\");for(E(V,p),V.selectAll(\\\"g.node\\\").attr(\\\"title\\\",function(){return n.db.getTooltip(this.id)}),n.db.indexNodes(\\\"subGraph\\\"+L),L=0;L\u003Cb.length;L++)if(g=b[L],g.title!==\\\"undefined\\\"){const G=l.querySelectorAll(\\\"#\\\"+e+' [id=\\\"'+n.db.lookUpDomId(g.id)+'\\\"] rect'),Y=l.querySelectorAll(\\\"#\\\"+e+' [id=\\\"'+n.db.lookUpDomId(g.id)+'\\\"]'),W=G[0].x.baseVal.value,N=G[0].y.baseVal.value,D=G[0].width.baseVal.value,v=St(Y[0]).select(\\\".label\\\");v.attr(\\\"transform\\\",`translate(${W+D/2}, ${N+14})`),v.attr(\\\"id\\\",e+\\\"Text\\\");for(let M=0;M\u003Cg.classes.length;M++)Y[0].classList.add(g.classes[M])}if(!s.htmlLabels){const G=l.querySelectorAll('[id=\\\"'+e+'\\\"] .edgeLabel .label');for(const Y of G){const W=Y.getBBox(),N=l.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\");N.setAttribute(\\\"rx\\\",0),N.setAttribute(\\\"ry\\\",0),N.setAttribute(\\\"width\\\",W.width),N.setAttribute(\\\"height\\\",W.height),Y.insertBefore(N,Y.firstChild)}}Sc(p,I,s.diagramPadding,s.useMaxWidth),Object.keys(k).forEach(function(G){const Y=k[G];if(Y.link){const W=o.select(\\\"#\\\"+e+' [id=\\\"'+n.db.lookUpDomId(G)+'\\\"]');if(W){const N=l.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"a\\\");N.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"class\\\",Y.classes.join(\\\" \\\")),N.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"href\\\",Y.link),N.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rel\\\",\\\"noopener\\\"),i===\\\"sandbox\\\"?N.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"target\\\",\\\"_top\\\"):Y.linkTarget&&N.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"target\\\",Y.linkTarget);const D=W.insert(function(){return N},\\\":first-child\\\"),w=W.select(\\\".label-container\\\");w&&D.append(function(){return w.node()});const v=W.select(\\\".label\\\");v&&D.append(function(){return v.node()})}}})}},v3={},$O=function(t){const e=Object.keys(t);for(const r of e)v3[r]=t[r]},k3=function(t,e,r,n,i,s){const a=n.select(`[id=\\\"${r}\\\"]`);Object.keys(t).forEach(function(l){const u=t[l];let d=\\\"default\\\";u.classes.length>0&&(d=u.classes.join(\\\" \\\"));const f=Vi(u.styles);let p=u.text!==void 0?u.text:u.id,g;if(pr($().flowchart.htmlLabels)){const T={label:p.replace(/fa[blrs]?:fa-[\\\\w-]+/g,L=>`\u003Ci class='${L.replace(\\\":\\\",\\\" \\\")}'>\u003C/i>`)};g=M0(a,T).node(),g.parentNode.removeChild(g)}else{const T=i.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");T.setAttribute(\\\"style\\\",f.labelStyle.replace(\\\"color:\\\",\\\"fill:\\\"));const L=p.split(he.lineBreakRegex);for(const E of L){const I=i.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\");I.setAttributeNS(\\\"http://www.w3.org/XML/1998/namespace\\\",\\\"xml:space\\\",\\\"preserve\\\"),I.setAttribute(\\\"dy\\\",\\\"1em\\\"),I.setAttribute(\\\"x\\\",\\\"1\\\"),I.textContent=E,T.appendChild(I)}g=T}let b=0,k=\\\"\\\";switch(u.type){case\\\"round\\\":b=5,k=\\\"rect\\\";break;case\\\"square\\\":k=\\\"rect\\\";break;case\\\"diamond\\\":k=\\\"question\\\";break;case\\\"hexagon\\\":k=\\\"hexagon\\\";break;case\\\"odd\\\":k=\\\"rect_left_inv_arrow\\\";break;case\\\"lean_right\\\":k=\\\"lean_right\\\";break;case\\\"lean_left\\\":k=\\\"lean_left\\\";break;case\\\"trapezoid\\\":k=\\\"trapezoid\\\";break;case\\\"inv_trapezoid\\\":k=\\\"inv_trapezoid\\\";break;case\\\"odd_right\\\":k=\\\"rect_left_inv_arrow\\\";break;case\\\"circle\\\":k=\\\"circle\\\";break;case\\\"ellipse\\\":k=\\\"ellipse\\\";break;case\\\"stadium\\\":k=\\\"stadium\\\";break;case\\\"subroutine\\\":k=\\\"subroutine\\\";break;case\\\"cylinder\\\":k=\\\"cylinder\\\";break;case\\\"group\\\":k=\\\"rect\\\";break;case\\\"doublecircle\\\":k=\\\"doublecircle\\\";break;default:k=\\\"rect\\\"}e.setNode(u.id,{labelStyle:f.labelStyle,shape:k,labelText:p,rx:b,ry:b,class:d,style:f.style,id:u.id,link:u.link,linkTarget:u.linkTarget,tooltip:s.db.getTooltip(u.id)||\\\"\\\",domId:s.db.lookUpDomId(u.id),haveCallback:u.haveCallback,width:u.type===\\\"group\\\"?500:void 0,dir:u.dir,type:u.type,props:u.props,padding:$().flowchart.padding}),B.info(\\\"setNode\\\",{labelStyle:f.labelStyle,shape:k,labelText:p,rx:b,ry:b,class:d,style:f.style,id:u.id,domId:s.db.lookUpDomId(u.id),width:u.type===\\\"group\\\"?500:void 0,type:u.type,dir:u.dir,props:u.props,padding:$().flowchart.padding})})},w3=function(t,e,r){B.info(\\\"abc78 edges = \\\",t);let n=0,i={},s,a;if(t.defaultStyle!==void 0){const o=Vi(t.defaultStyle);s=o.style,a=o.labelStyle}t.forEach(function(o){n++;var l=\\\"L-\\\"+o.start+\\\"-\\\"+o.end;i[l]===void 0?(i[l]=0,B.info(\\\"abc78 new entry\\\",l,i[l])):(i[l]++,B.info(\\\"abc78 new entry\\\",l,i[l]));let u=l+\\\"-\\\"+i[l];B.info(\\\"abc78 new link id to be used is\\\",l,u,i[l]);var d=\\\"LS-\\\"+o.start,f=\\\"LE-\\\"+o.end;const p={style:\\\"\\\",labelStyle:\\\"\\\"};switch(p.minlen=o.length||1,o.type===\\\"arrow_open\\\"?p.arrowhead=\\\"none\\\":p.arrowhead=\\\"normal\\\",p.arrowTypeStart=\\\"arrow_open\\\",p.arrowTypeEnd=\\\"arrow_open\\\",o.type){case\\\"double_arrow_cross\\\":p.arrowTypeStart=\\\"arrow_cross\\\";case\\\"arrow_cross\\\":p.arrowTypeEnd=\\\"arrow_cross\\\";break;case\\\"double_arrow_point\\\":p.arrowTypeStart=\\\"arrow_point\\\";case\\\"arrow_point\\\":p.arrowTypeEnd=\\\"arrow_point\\\";break;case\\\"double_arrow_circle\\\":p.arrowTypeStart=\\\"arrow_circle\\\";case\\\"arrow_circle\\\":p.arrowTypeEnd=\\\"arrow_circle\\\";break}let g=\\\"\\\",b=\\\"\\\";switch(o.stroke){case\\\"normal\\\":g=\\\"fill:none;\\\",s!==void 0&&(g=s),a!==void 0&&(b=a),p.thickness=\\\"normal\\\",p.pattern=\\\"solid\\\";break;case\\\"dotted\\\":p.thickness=\\\"normal\\\",p.pattern=\\\"dotted\\\",p.style=\\\"fill:none;stroke-width:2px;stroke-dasharray:3;\\\";break;case\\\"thick\\\":p.thickness=\\\"thick\\\",p.pattern=\\\"solid\\\",p.style=\\\"stroke-width: 3.5px;fill:none;\\\";break}if(o.style!==void 0){const k=Vi(o.style);g=k.style,b=k.labelStyle}p.style=p.style+=g,p.labelStyle=p.labelStyle+=b,o.interpolate!==void 0?p.curve=bn(o.interpolate,Hr):t.defaultInterpolate!==void 0?p.curve=bn(t.defaultInterpolate,Hr):p.curve=bn(v3.curve,Hr),o.text===void 0?o.style!==void 0&&(p.arrowheadStyle=\\\"fill: #333\\\"):(p.arrowheadStyle=\\\"fill: #333\\\",p.labelpos=\\\"c\\\"),p.labelType=\\\"text\\\",p.label=o.text.replace(he.lineBreakRegex,`\\n`),o.style===void 0&&(p.style=p.style||\\\"stroke: #333; stroke-width: 1.5px;fill:none;\\\"),p.labelStyle=p.labelStyle.replace(\\\"color:\\\",\\\"fill:\\\"),p.id=u,p.classes=\\\"flowchart-link \\\"+d+\\\" \\\"+f,e.setEdge(o.start,o.end,p,n)})},Y0={setConf:$O,addVertices:k3,addEdges:w3,getClasses:function(t,e){B.info(\\\"Extracting classes\\\"),e.db.clear();try{return e.parse(t),e.db.getClasses()}catch{return}},draw:function(t,e,r,n){B.info(\\\"Drawing flowchart\\\"),n.db.clear(),vi.setGen(\\\"gen-2\\\"),n.parser.parse(t);let i=n.db.getDirection();i===void 0&&(i=\\\"TD\\\");const{securityLevel:s,flowchart:a}=$(),o=a.nodeSpacing||50,l=a.rankSpacing||50;let u;s===\\\"sandbox\\\"&&(u=St(\\\"#i\\\"+e));const d=St(s===\\\"sandbox\\\"?u.nodes()[0].contentDocument.body:\\\"body\\\"),f=s===\\\"sandbox\\\"?u.nodes()[0].contentDocument:document,p=new sr({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:o,ranksep:l,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let g;const b=n.db.getSubGraphs();B.info(\\\"Subgraphs - \\\",b);for(let H=b.length-1;H>=0;H--)g=b[H],B.info(\\\"Subgraph - \\\",g),n.db.addVertex(g.id,g.title,\\\"group\\\",void 0,g.classes,g.dir);const k=n.db.getVertices(),T=n.db.getEdges();B.info(T);let L=0;for(L=b.length-1;L>=0;L--){g=b[L],hh(\\\"cluster\\\").append(\\\"text\\\");for(let H=0;H\u003Cg.nodes.length;H++)B.info(\\\"Setting up subgraphs\\\",g.nodes[H],g.id),p.setParent(g.nodes[H],g.id)}k3(k,p,e,d,f,n),w3(T,p);const E=d.select(`[id=\\\"${e}\\\"]`),I=d.select(\\\"#\\\"+e+\\\" g\\\");if(v0(I,p,[\\\"point\\\",\\\"circle\\\",\\\"cross\\\"],\\\"flowchart\\\",e),ge.insertTitle(E,\\\"flowchartTitleText\\\",a.titleTopMargin,n.db.getDiagramTitle()),Sc(p,E,a.diagramPadding,a.useMaxWidth),n.db.indexNodes(\\\"subGraph\\\"+L),!a.htmlLabels){const H=f.querySelectorAll('[id=\\\"'+e+'\\\"] .edgeLabel .label');for(const G of H){const Y=G.getBBox(),W=f.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\");W.setAttribute(\\\"rx\\\",0),W.setAttribute(\\\"ry\\\",0),W.setAttribute(\\\"width\\\",Y.width),W.setAttribute(\\\"height\\\",Y.height),G.insertBefore(W,G.firstChild)}}Object.keys(k).forEach(function(H){const G=k[H];if(G.link){const Y=St(\\\"#\\\"+e+' [id=\\\"'+H+'\\\"]');if(Y){const W=f.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"a\\\");W.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"class\\\",G.classes.join(\\\" \\\")),W.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"href\\\",G.link),W.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rel\\\",\\\"noopener\\\"),s===\\\"sandbox\\\"?W.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"target\\\",\\\"_top\\\"):G.linkTarget&&W.setAttributeNS(\\\"http://www.w3.org/2000/svg\\\",\\\"target\\\",G.linkTarget);const N=Y.insert(function(){return W},\\\":first-child\\\"),D=Y.select(\\\".label-container\\\");D&&N.append(function(){return D.node()});const w=Y.select(\\\".label\\\");w&&N.append(function(){return w.node()})}}})}};var V0=function(){var t=function(W,N,D,w){for(D=D||{},w=W.length;w--;D[W[w]]=N);return D},e=[1,3],r=[1,5],n=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],i=[1,15],s=[1,16],a=[1,17],o=[1,18],l=[1,19],u=[1,20],d=[1,21],f=[1,22],p=[1,23],g=[1,24],b=[1,25],k=[1,26],T=[1,27],L=[1,29],E=[1,31],I=[1,34],V=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],H={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,\\\":\\\":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:\\\"error\\\",5:\\\"gantt\\\",7:\\\"EOF\\\",9:\\\"SPACE\\\",11:\\\"NL\\\",12:\\\"dateFormat\\\",13:\\\"inclusiveEndDates\\\",14:\\\"topAxis\\\",15:\\\"axisFormat\\\",16:\\\"tickInterval\\\",17:\\\"excludes\\\",18:\\\"includes\\\",19:\\\"todayMarker\\\",20:\\\"title\\\",21:\\\"acc_title\\\",22:\\\"acc_title_value\\\",23:\\\"acc_descr\\\",24:\\\"acc_descr_value\\\",25:\\\"acc_descr_multiline_value\\\",26:\\\"section\\\",28:\\\"taskTxt\\\",29:\\\"taskData\\\",33:\\\":\\\",35:\\\"click\\\",36:\\\"callbackname\\\",37:\\\"callbackargs\\\",38:\\\"href\\\",40:\\\"open_directive\\\",41:\\\"type_directive\\\",42:\\\"arg_directive\\\",43:\\\"close_directive\\\"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(N,D,w,v,M,m,Q){var x=m.length-1;switch(M){case 2:return m[x-1];case 3:this.$=[];break;case 4:m[x-1].push(m[x]),this.$=m[x-1];break;case 5:case 6:this.$=m[x];break;case 7:case 8:this.$=[];break;case 9:v.setDateFormat(m[x].substr(11)),this.$=m[x].substr(11);break;case 10:v.enableInclusiveEndDates(),this.$=m[x].substr(18);break;case 11:v.TopAxis(),this.$=m[x].substr(8);break;case 12:v.setAxisFormat(m[x].substr(11)),this.$=m[x].substr(11);break;case 13:v.setTickInterval(m[x].substr(13)),this.$=m[x].substr(13);break;case 14:v.setExcludes(m[x].substr(9)),this.$=m[x].substr(9);break;case 15:v.setIncludes(m[x].substr(9)),this.$=m[x].substr(9);break;case 16:v.setTodayMarker(m[x].substr(12)),this.$=m[x].substr(12);break;case 17:v.setDiagramTitle(m[x].substr(6)),this.$=m[x].substr(6);break;case 18:this.$=m[x].trim(),v.setAccTitle(this.$);break;case 19:case 20:this.$=m[x].trim(),v.setAccDescription(this.$);break;case 21:v.addSection(m[x].substr(8)),this.$=m[x].substr(8);break;case 23:v.addTask(m[x-1],m[x]),this.$=\\\"task\\\";break;case 27:this.$=m[x-1],v.setClickEvent(m[x-1],m[x],null);break;case 28:this.$=m[x-2],v.setClickEvent(m[x-2],m[x-1],m[x]);break;case 29:this.$=m[x-2],v.setClickEvent(m[x-2],m[x-1],null),v.setLink(m[x-2],m[x]);break;case 30:this.$=m[x-3],v.setClickEvent(m[x-3],m[x-2],m[x-1]),v.setLink(m[x-3],m[x]);break;case 31:this.$=m[x-2],v.setClickEvent(m[x-2],m[x],null),v.setLink(m[x-2],m[x-1]);break;case 32:this.$=m[x-3],v.setClickEvent(m[x-3],m[x-1],m[x]),v.setLink(m[x-3],m[x-2]);break;case 33:this.$=m[x-1],v.setLink(m[x-1],m[x]);break;case 34:case 40:this.$=m[x-1]+\\\" \\\"+m[x];break;case 35:case 36:case 38:this.$=m[x-2]+\\\" \\\"+m[x-1]+\\\" \\\"+m[x];break;case 37:case 39:this.$=m[x-3]+\\\" \\\"+m[x-2]+\\\" \\\"+m[x-1]+\\\" \\\"+m[x];break;case 41:v.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 42:v.parseDirective(m[x],\\\"type_directive\\\");break;case 43:m[x]=m[x].trim().replace(/'/g,'\\\"'),v.parseDirective(m[x],\\\"arg_directive\\\");break;case 44:v.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"gantt\\\");break}},table:[{3:1,4:2,5:e,30:4,40:r},{1:[3]},{3:6,4:2,5:e,30:4,40:r},t(n,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:s,14:a,15:o,16:l,17:u,18:d,19:f,20:p,21:g,23:b,25:k,26:T,27:28,28:L,30:4,35:E,40:r},{32:32,33:[1,33],43:I},t([33,43],[2,42]),t(n,[2,8],{1:[2,2]}),t(n,[2,4]),{4:30,10:35,12:i,13:s,14:a,15:o,16:l,17:u,18:d,19:f,20:p,21:g,23:b,25:k,26:T,27:28,28:L,30:4,35:E,40:r},t(n,[2,6]),t(n,[2,7]),t(n,[2,9]),t(n,[2,10]),t(n,[2,11]),t(n,[2,12]),t(n,[2,13]),t(n,[2,14]),t(n,[2,15]),t(n,[2,16]),t(n,[2,17]),{22:[1,36]},{24:[1,37]},t(n,[2,20]),t(n,[2,21]),t(n,[2,22]),{29:[1,38]},t(n,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(n,[2,5]),t(n,[2,18]),t(n,[2,19]),t(n,[2,23]),t(n,[2,27],{37:[1,44],38:[1,45]}),t(n,[2,33],{36:[1,46]}),t(V,[2,25]),{32:47,43:I},{43:[2,43]},t(n,[2,28],{38:[1,48]}),t(n,[2,29]),t(n,[2,31],{37:[1,49]}),{11:[1,50]},t(n,[2,30]),t(n,[2,32]),t(V,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(N,D){if(D.recoverable)this.trace(N);else{var w=new Error(N);throw w.hash=D,w}},parse:function(N){var D=this,w=[0],v=[],M=[null],m=[],Q=this.table,x=\\\"\\\",ct=0,Dt=0,kt=2,j=1,ot=m.slice.call(arguments,1),rt=Object.create(this.lexer),nt={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(nt.yy[ut]=this.yy[ut]);rt.setInput(N,nt.yy),nt.yy.lexer=rt,nt.yy.parser=this,typeof rt.yylloc>\\\"u\\\"&&(rt.yylloc={});var _t=rt.yylloc;m.push(_t);var K=rt.options&&rt.options.ranges;typeof nt.yy.parseError==\\\"function\\\"?this.parseError=nt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var Yt;return Yt=v.pop()||rt.lex()||j,typeof Yt!=\\\"number\\\"&&(Yt instanceof Array&&(v=Yt,Yt=v.pop()),Yt=D.symbols_[Yt]||Yt),Yt}for(var P,z,X,F,O={},A,J,C,ht;;){if(z=w[w.length-1],this.defaultActions[z]?X=this.defaultActions[z]:((P===null||typeof P>\\\"u\\\")&&(P=Ot()),X=Q[z]&&Q[z][P]),typeof X>\\\"u\\\"||!X.length||!X[0]){var U=\\\"\\\";ht=[];for(A in Q[z])this.terminals_[A]&&A>kt&&ht.push(\\\"'\\\"+this.terminals_[A]+\\\"'\\\");rt.showPosition?U=\\\"Parse error on line \\\"+(ct+1)+`:\\n`+rt.showPosition()+`\\nExpecting `+ht.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[P]||P)+\\\"'\\\":U=\\\"Parse error on line \\\"+(ct+1)+\\\": Unexpected \\\"+(P==j?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[P]||P)+\\\"'\\\"),this.parseError(U,{text:rt.match,token:this.terminals_[P]||P,line:rt.yylineno,loc:_t,expected:ht})}if(X[0]instanceof Array&&X.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+z+\\\", token: \\\"+P);switch(X[0]){case 1:w.push(P),M.push(rt.yytext),m.push(rt.yylloc),w.push(X[1]),P=null,Dt=rt.yyleng,x=rt.yytext,ct=rt.yylineno,_t=rt.yylloc;break;case 2:if(J=this.productions_[X[1]][1],O.$=M[M.length-J],O._$={first_line:m[m.length-(J||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(J||1)].first_column,last_column:m[m.length-1].last_column},K&&(O._$.range=[m[m.length-(J||1)].range[0],m[m.length-1].range[1]]),F=this.performAction.apply(O,[x,Dt,ct,nt.yy,X[1],M,m].concat(ot)),typeof F\u003C\\\"u\\\")return F;J&&(w=w.slice(0,-1*J*2),M=M.slice(0,-1*J),m=m.slice(0,-1*J)),w.push(this.productions_[X[1]][0]),M.push(O.$),m.push(O._$),C=Q[w[w.length-2]][w[w.length-1]],w.push(C);break;case 3:return!0}}return!0}},G=function(){var W={EOF:1,parseError:function(D,w){if(this.yy.parser)this.yy.parser.parseError(D,w);else throw new Error(D)},setInput:function(N,D){return this.yy=D||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var D=N.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return D?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},unput:function(N){var D=N.length,w=N.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-D),this.offset-=D;var v=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),w.length-1&&(this.yylineno-=w.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:w?(w.length===v.length?this.yylloc.first_column:0)+v[v.length-w.length].length-w[0].length:this.yylloc.first_column-D},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-D]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(N){this.unput(this.match.slice(N))},pastInput:function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?\\\"...\\\":\\\"\\\")+N.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var N=this.match;return N.length\u003C20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var N=this.pastInput(),D=new Array(N.length+1).join(\\\"-\\\");return N+this.upcomingInput()+`\\n`+D+\\\"^\\\"},test_match:function(N,D){var w,v,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),v=N[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],w=this.performAction.call(this,this.yy,this,D,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),w)return w;if(this._backtrack){for(var m in M)this[m]=M[m];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,D,w,v;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var M=this._currentRules(),m=0;m\u003CM.length;m++)if(w=this._input.match(this.rules[M[m]]),w&&(!D||w[0].length>D[0].length)){if(D=w,v=m,this.options.backtrack_lexer){if(N=this.test_match(w,M[m]),N!==!1)return N;if(this._backtrack){D=!1;continue}else return!1}else if(!this.options.flex)break}return D?(N=this.test_match(D,M[v]),N!==!1?N:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var D=this.next();return D||this.lex()},begin:function(D){this.conditionStack.push(D)},popState:function(){var D=this.conditionStack.length-1;return D>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(D){return D=this.conditionStack.length-1-Math.abs(D||0),D>=0?this.conditionStack[D]:\\\"INITIAL\\\"},pushState:function(D){this.begin(D)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(D,w,v,M){switch(v){case 0:return this.begin(\\\"open_directive\\\"),40;case 1:return this.begin(\\\"type_directive\\\"),41;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),33;case 3:return this.popState(),this.popState(),43;case 4:return 42;case 5:return this.begin(\\\"acc_title\\\"),21;case 6:return this.popState(),\\\"acc_title_value\\\";case 7:return this.begin(\\\"acc_descr\\\"),23;case 8:return this.popState(),\\\"acc_descr_value\\\";case 9:this.begin(\\\"acc_descr_multiline\\\");break;case 10:this.popState();break;case 11:return\\\"acc_descr_multiline_value\\\";case 12:break;case 13:break;case 14:break;case 15:return 11;case 16:break;case 17:break;case 18:break;case 19:this.begin(\\\"href\\\");break;case 20:this.popState();break;case 21:return 38;case 22:this.begin(\\\"callbackname\\\");break;case 23:this.popState();break;case 24:this.popState(),this.begin(\\\"callbackargs\\\");break;case 25:return 36;case 26:this.popState();break;case 27:return 37;case 28:this.begin(\\\"click\\\");break;case 29:this.popState();break;case 30:return 35;case 31:return 5;case 32:return 12;case 33:return 13;case 34:return 14;case 35:return 15;case 36:return 16;case 37:return 18;case 38:return 17;case 39:return 19;case 40:return\\\"date\\\";case 41:return 20;case 42:return\\\"accDescription\\\";case 43:return 26;case 44:return 28;case 45:return 29;case 46:return 33;case 47:return 7;case 48:return\\\"INVALID\\\"}},rules:[/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:%%(?!\\\\{)*[^\\\\n]*)/i,/^(?:[^\\\\}]%%*[^\\\\n]*)/i,/^(?:%%*[^\\\\n]*[\\\\n]*)/i,/^(?:[\\\\n]+)/i,/^(?:\\\\s+)/i,/^(?:#[^\\\\n]*)/i,/^(?:%[^\\\\n]*)/i,/^(?:href[\\\\s]+[\\\"])/i,/^(?:[\\\"])/i,/^(?:[^\\\"]*)/i,/^(?:call[\\\\s]+)/i,/^(?:\\\\([\\\\s]*\\\\))/i,/^(?:\\\\()/i,/^(?:[^(]*)/i,/^(?:\\\\))/i,/^(?:[^)]*)/i,/^(?:click[\\\\s]+)/i,/^(?:[\\\\s\\\\n])/i,/^(?:[^\\\\s\\\\n]*)/i,/^(?:gantt\\\\b)/i,/^(?:dateFormat\\\\s[^#\\\\n;]+)/i,/^(?:inclusiveEndDates\\\\b)/i,/^(?:topAxis\\\\b)/i,/^(?:axisFormat\\\\s[^#\\\\n;]+)/i,/^(?:tickInterval\\\\s[^#\\\\n;]+)/i,/^(?:includes\\\\s[^#\\\\n;]+)/i,/^(?:excludes\\\\s[^#\\\\n;]+)/i,/^(?:todayMarker\\\\s[^\\\\n;]+)/i,/^(?:\\\\d\\\\d\\\\d\\\\d-\\\\d\\\\d-\\\\d\\\\d\\\\b)/i,/^(?:title\\\\s[^#\\\\n;]+)/i,/^(?:accDescription\\\\s[^#\\\\n;]+)/i,/^(?:section\\\\s[^#:\\\\n;]+)/i,/^(?:[^#:\\\\n;]+)/i,/^(?::[^#\\\\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return W}();H.lexer=G;function Y(){this.yy={}}return Y.prototype=H,H.Parser=Y,new Y}();V0.parser=V0;const XO=V0,KO=t=>t.match(/^\\\\s*gantt/)!==null;let $n=\\\"\\\",U0=\\\"\\\",z0,W0=\\\"\\\",Ho=[],Go=[],H0={},G0=[],wu=[],Aa=\\\"\\\";const T3=[\\\"active\\\",\\\"done\\\",\\\"crit\\\",\\\"milestone\\\"];let q0=[],qo=!1,j0=!1,$0=0;const ZO=function(t,e,r){ze.parseDirective(this,t,e,r)},QO=function(){G0=[],wu=[],Aa=\\\"\\\",q0=[],Tu=0,K0=void 0,Eu=void 0,hr=[],$n=\\\"\\\",U0=\\\"\\\",z0=void 0,W0=\\\"\\\",Ho=[],Go=[],qo=!1,j0=!1,$0=0,H0={},vn()},JO=function(t){U0=t},tR=function(){return U0},eR=function(t){z0=t},rR=function(){return z0},nR=function(t){W0=t},iR=function(){return W0},sR=function(t){$n=t},aR=function(){qo=!0},oR=function(){return qo},lR=function(){j0=!0},cR=function(){return j0},uR=function(){return $n},hR=function(t){Ho=t.toLowerCase().split(/[\\\\s,]+/)},dR=function(){return Ho},fR=function(t){Go=t.toLowerCase().split(/[\\\\s,]+/)},pR=function(){return Go},gR=function(){return H0},yR=function(t){Aa=t,G0.push(t)},mR=function(){return G0},bR=function(){let t=D3();const e=10;let r=0;for(;!t&&r\u003Ce;)t=D3(),r++;return wu=hr,wu},E3=function(t,e,r,n){return n.includes(t.format(e.trim()))?!1:t.isoWeekday()>=6&&r.includes(\\\"weekends\\\")||r.includes(t.format(\\\"dddd\\\").toLowerCase())?!0:r.includes(t.format(e.trim()))},C3=function(t,e,r,n){if(!r.length||t.manualEndTime)return;let i=cn(t.startTime,e,!0);i.add(1,\\\"d\\\");let s=cn(t.endTime,e,!0),a=_R(i,s,e,r,n);t.endTime=s.toDate(),t.renderEndTime=a},_R=function(t,e,r,n,i){let s=!1,a=null;for(;t\u003C=e;)s||(a=e.toDate()),s=E3(t,r,n,i),s&&e.add(1,\\\"d\\\"),t.add(1,\\\"d\\\");return a},X0=function(t,e,r){r=r.trim();const i=/^after\\\\s+([\\\\d\\\\w- ]+)/.exec(r.trim());if(i!==null){let a=null;if(i[1].split(\\\" \\\").forEach(function(o){let l=Da(o);l!==void 0&&(a?l.endTime>a.endTime&&(a=l):a=l)}),a)return a.endTime;{const o=new Date;return o.setHours(0,0,0,0),o}}let s=cn(r,e.trim(),!0);if(s.isValid())return s.toDate();{B.debug(\\\"Invalid date:\\\"+r),B.debug(\\\"With date format:\\\"+e.trim());const a=new Date(r);if(a===void 0||isNaN(a.getTime()))throw new Error(\\\"Invalid date:\\\"+r);return a}},S3=function(t){const e=/^(\\\\d+(?:\\\\.\\\\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?cn.duration(Number.parseFloat(e[1]),e[2]):cn.duration.invalid()},A3=function(t,e,r,n=!1){r=r.trim();let i=cn(r,e.trim(),!0);if(i.isValid())return n&&i.add(1,\\\"d\\\"),i.toDate();const s=cn(t),a=S3(r);return a.isValid()&&s.add(a),s.toDate()};let Tu=0;const La=function(t){return t===void 0?(Tu=Tu+1,\\\"task\\\"+Tu):t},xR=function(t,e){let r;e.substr(0,1)===\\\":\\\"?r=e.substr(1,e.length):r=e;const n=r.split(\\\",\\\"),i={};B3(n,i,T3);for(let a=0;a\u003Cn.length;a++)n[a]=n[a].trim();let s=\\\"\\\";switch(n.length){case 1:i.id=La(),i.startTime=t.endTime,s=n[0];break;case 2:i.id=La(),i.startTime=X0(void 0,$n,n[0]),s=n[1];break;case 3:i.id=La(n[0]),i.startTime=X0(void 0,$n,n[1]),s=n[2];break}return s&&(i.endTime=A3(i.startTime,$n,s,qo),i.manualEndTime=cn(s,\\\"YYYY-MM-DD\\\",!0).isValid(),C3(i,$n,Go,Ho)),i},vR=function(t,e){let r;e.substr(0,1)===\\\":\\\"?r=e.substr(1,e.length):r=e;const n=r.split(\\\",\\\"),i={};B3(n,i,T3);for(let s=0;s\u003Cn.length;s++)n[s]=n[s].trim();switch(n.length){case 1:i.id=La(),i.startTime={type:\\\"prevTaskEnd\\\",id:t},i.endTime={data:n[0]};break;case 2:i.id=La(),i.startTime={type:\\\"getStartDate\\\",startData:n[0]},i.endTime={data:n[1]};break;case 3:i.id=La(n[0]),i.startTime={type:\\\"getStartDate\\\",startData:n[1]},i.endTime={data:n[2]};break}return i};let K0,Eu,hr=[];const L3={},kR=function(t,e){const r={section:Aa,type:Aa,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},n=vR(Eu,e);r.raw.startTime=n.startTime,r.raw.endTime=n.endTime,r.id=n.id,r.prevTaskId=Eu,r.active=n.active,r.done=n.done,r.crit=n.crit,r.milestone=n.milestone,r.order=$0,$0++;const i=hr.push(r);Eu=r.id,L3[r.id]=i-1},Da=function(t){const e=L3[t];return hr[e]},wR=function(t,e){const r={section:Aa,type:Aa,description:t,task:t,classes:[]},n=xR(K0,e);r.startTime=n.startTime,r.endTime=n.endTime,r.id=n.id,r.active=n.active,r.done=n.done,r.crit=n.crit,r.milestone=n.milestone,K0=r,wu.push(r)},D3=function(){const t=function(r){const n=hr[r];let i=\\\"\\\";switch(hr[r].raw.startTime.type){case\\\"prevTaskEnd\\\":{const s=Da(n.prevTaskId);n.startTime=s.endTime;break}case\\\"getStartDate\\\":i=X0(void 0,$n,hr[r].raw.startTime.startData),i&&(hr[r].startTime=i);break}return hr[r].startTime&&(hr[r].endTime=A3(hr[r].startTime,$n,hr[r].raw.endTime.data,qo),hr[r].endTime&&(hr[r].processed=!0,hr[r].manualEndTime=cn(hr[r].raw.endTime.data,\\\"YYYY-MM-DD\\\",!0).isValid(),C3(hr[r],$n,Go,Ho))),hr[r].processed};let e=!0;for(const[r,n]of hr.entries())t(r),e=e&&n.processed;return e},TR=function(t,e){let r=e;$().securityLevel!==\\\"loose\\\"&&(r=ti(e)),t.split(\\\",\\\").forEach(function(n){Da(n)!==void 0&&(N3(n,()=>{window.open(r,\\\"_self\\\")}),H0[n]=r)}),M3(t,\\\"clickable\\\")},M3=function(t,e){t.split(\\\",\\\").forEach(function(r){let n=Da(r);n!==void 0&&n.classes.push(e)})},ER=function(t,e,r){if($().securityLevel!==\\\"loose\\\"||e===void 0)return;let n=[];if(typeof r==\\\"string\\\"){n=r.split(/,(?=(?:(?:[^\\\"]*\\\"){2})*[^\\\"]*$)/);for(let s=0;s\u003Cn.length;s++){let a=n[s].trim();a.charAt(0)==='\\\"'&&a.charAt(a.length-1)==='\\\"'&&(a=a.substr(1,a.length-2)),n[s]=a}}n.length===0&&n.push(t),Da(t)!==void 0&&N3(t,()=>{ge.runFunc(e,...n)})},N3=function(t,e){q0.push(function(){const r=document.querySelector(`[id=\\\"${t}\\\"]`);r!==null&&r.addEventListener(\\\"click\\\",function(){e()})},function(){const r=document.querySelector(`[id=\\\"${t}-text\\\"]`);r!==null&&r.addEventListener(\\\"click\\\",function(){e()})})},Z0={parseDirective:ZO,getConfig:()=>$().gantt,clear:QO,setDateFormat:sR,getDateFormat:uR,enableInclusiveEndDates:aR,endDatesAreInclusive:oR,enableTopAxis:lR,topAxisEnabled:cR,setAxisFormat:JO,getAxisFormat:tR,setTickInterval:eR,getTickInterval:rR,setTodayMarker:nR,getTodayMarker:iR,setAccTitle:nn,getAccTitle:kn,setDiagramTitle:hi,getDiagramTitle:di,setAccDescription:wn,getAccDescription:Tn,addSection:yR,getSections:mR,getTasks:bR,addTask:kR,findTaskById:Da,addTaskOrg:wR,setIncludes:hR,getIncludes:dR,setExcludes:fR,getExcludes:pR,setClickEvent:function(t,e,r){t.split(\\\",\\\").forEach(function(n){ER(n,e,r)}),M3(t,\\\"clickable\\\")},setLink:TR,getLinks:gR,bindFunctions:function(t){q0.forEach(function(e){e(t)})},parseDuration:S3,isInvalidDate:E3};function B3(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const s=\\\"^\\\\\\\\s*\\\"+i+\\\"\\\\\\\\s*$\\\",a=new RegExp(s);t[0].match(a)&&(e[i]=!0,t.shift(1),n=!0)})}const CR=function(){B.debug(\\\"Something is calling, setConf, remove the call\\\")};let wi;const SR={setConf:CR,draw:function(t,e,r,n){const i=$().gantt,s=$().securityLevel;let a;s===\\\"sandbox\\\"&&(a=St(\\\"#i\\\"+e));const o=St(s===\\\"sandbox\\\"?a.nodes()[0].contentDocument.body:\\\"body\\\"),l=s===\\\"sandbox\\\"?a.nodes()[0].contentDocument:document,u=l.getElementById(e);wi=u.parentElement.offsetWidth,wi===void 0&&(wi=1200),i.useWidth!==void 0&&(wi=i.useWidth);const d=n.db.getTasks(),f=d.length*(i.barHeight+i.barGap)+2*i.topPadding;u.setAttribute(\\\"viewBox\\\",\\\"0 0 \\\"+wi+\\\" \\\"+f);const p=o.select(`[id=\\\"${e}\\\"]`),g=hk().domain([Wb(d,function(D){return D.startTime}),zb(d,function(D){return D.endTime})]).rangeRound([0,wi-i.leftPadding-i.rightPadding]);let b=[];for(const D of d)b.push(D.type);const k=b;b=Y(b);function T(D,w){const v=D.startTime,M=w.startTime;let m=0;return v>M?m=1:v\u003CM&&(m=-1),m}d.sort(T),L(d,wi,f),xn(p,f,wi,i.useMaxWidth),p.append(\\\"text\\\").text(n.db.getDiagramTitle()).attr(\\\"x\\\",wi/2).attr(\\\"y\\\",i.titleTopMargin).attr(\\\"class\\\",\\\"titleText\\\");function L(D,w,v){const M=i.barHeight,m=M+i.barGap,Q=i.topPadding,x=i.leftPadding,ct=n2().domain([0,b.length]).range([\\\"#00B9FA\\\",\\\"#F95002\\\"]).interpolate(ux);I(m,Q,x,w,v,D,n.db.getExcludes(),n.db.getIncludes()),V(x,Q,w,v),E(D,m,Q,x,M,ct,w),H(m,Q),G(x,Q,w,v)}function E(D,w,v,M,m,Q,x){p.append(\\\"g\\\").selectAll(\\\"rect\\\").data(D).enter().append(\\\"rect\\\").attr(\\\"x\\\",0).attr(\\\"y\\\",function(j,ot){return ot=j.order,ot*w+v-2}).attr(\\\"width\\\",function(){return x-i.rightPadding/2}).attr(\\\"height\\\",w).attr(\\\"class\\\",function(j){for(const[ot,rt]of b.entries())if(j.type===rt)return\\\"section section\\\"+ot%i.numberSectionStyles;return\\\"section section0\\\"});const ct=p.append(\\\"g\\\").selectAll(\\\"rect\\\").data(D).enter(),Dt=n.db.getLinks();if(ct.append(\\\"rect\\\").attr(\\\"id\\\",function(j){return j.id}).attr(\\\"rx\\\",3).attr(\\\"ry\\\",3).attr(\\\"x\\\",function(j){return j.milestone?g(j.startTime)+M+.5*(g(j.endTime)-g(j.startTime))-.5*m:g(j.startTime)+M}).attr(\\\"y\\\",function(j,ot){return ot=j.order,ot*w+v}).attr(\\\"width\\\",function(j){return j.milestone?m:g(j.renderEndTime||j.endTime)-g(j.startTime)}).attr(\\\"height\\\",m).attr(\\\"transform-origin\\\",function(j,ot){return ot=j.order,(g(j.startTime)+M+.5*(g(j.endTime)-g(j.startTime))).toString()+\\\"px \\\"+(ot*w+v+.5*m).toString()+\\\"px\\\"}).attr(\\\"class\\\",function(j){const ot=\\\"task\\\";let rt=\\\"\\\";j.classes.length>0&&(rt=j.classes.join(\\\" \\\"));let nt=0;for(const[_t,K]of b.entries())j.type===K&&(nt=_t%i.numberSectionStyles);let ut=\\\"\\\";return j.active?j.crit?ut+=\\\" activeCrit\\\":ut=\\\" active\\\":j.done?j.crit?ut=\\\" doneCrit\\\":ut=\\\" done\\\":j.crit&&(ut+=\\\" crit\\\"),ut.length===0&&(ut=\\\" task\\\"),j.milestone&&(ut=\\\" milestone \\\"+ut),ut+=nt,ut+=\\\" \\\"+rt,ot+ut}),ct.append(\\\"text\\\").attr(\\\"id\\\",function(j){return j.id+\\\"-text\\\"}).text(function(j){return j.task}).attr(\\\"font-size\\\",i.fontSize).attr(\\\"x\\\",function(j){let ot=g(j.startTime),rt=g(j.renderEndTime||j.endTime);j.milestone&&(ot+=.5*(g(j.endTime)-g(j.startTime))-.5*m),j.milestone&&(rt=ot+m);const nt=this.getBBox().width;return nt>rt-ot?rt+nt+1.5*i.leftPadding>x?ot+M-5:rt+M+5:(rt-ot)/2+ot+M}).attr(\\\"y\\\",function(j,ot){return ot=j.order,ot*w+i.barHeight/2+(i.fontSize/2-2)+v}).attr(\\\"text-height\\\",m).attr(\\\"class\\\",function(j){const ot=g(j.startTime);let rt=g(j.endTime);j.milestone&&(rt=ot+m);const nt=this.getBBox().width;let ut=\\\"\\\";j.classes.length>0&&(ut=j.classes.join(\\\" \\\"));let _t=0;for(const[Ot,P]of b.entries())j.type===P&&(_t=Ot%i.numberSectionStyles);let K=\\\"\\\";return j.active&&(j.crit?K=\\\"activeCritText\\\"+_t:K=\\\"activeText\\\"+_t),j.done?j.crit?K=K+\\\" doneCritText\\\"+_t:K=K+\\\" doneText\\\"+_t:j.crit&&(K=K+\\\" critText\\\"+_t),j.milestone&&(K+=\\\" milestoneText\\\"),nt>rt-ot?rt+nt+1.5*i.leftPadding>x?ut+\\\" taskTextOutsideLeft taskTextOutside\\\"+_t+\\\" \\\"+K:ut+\\\" taskTextOutsideRight taskTextOutside\\\"+_t+\\\" \\\"+K+\\\" width-\\\"+nt:ut+\\\" taskText taskText\\\"+_t+\\\" \\\"+K+\\\" width-\\\"+nt}),$().securityLevel===\\\"sandbox\\\"){let j;j=St(\\\"#i\\\"+e);const ot=j.nodes()[0].contentDocument;ct.filter(function(rt){return Dt[rt.id]!==void 0}).each(function(rt){var nt=ot.querySelector(\\\"#\\\"+rt.id),ut=ot.querySelector(\\\"#\\\"+rt.id+\\\"-text\\\");const _t=nt.parentNode;var K=ot.createElement(\\\"a\\\");K.setAttribute(\\\"xlink:href\\\",Dt[rt.id]),K.setAttribute(\\\"target\\\",\\\"_top\\\"),_t.appendChild(K),K.appendChild(nt),K.appendChild(ut)})}}function I(D,w,v,M,m,Q,x,ct){const Dt=Q.reduce((_t,{startTime:K})=>_t?Math.min(_t,K):K,0),kt=Q.reduce((_t,{endTime:K})=>_t?Math.max(_t,K):K,0),j=n.db.getDateFormat();if(!Dt||!kt)return;const ot=[];let rt=null,nt=cn(Dt);for(;nt.valueOf()\u003C=kt;)n.db.isInvalidDate(nt,j,x,ct)?rt?rt.end=nt.clone():rt={start:nt.clone(),end:nt.clone()}:rt&&(ot.push(rt),rt=null),nt.add(1,\\\"d\\\");p.append(\\\"g\\\").selectAll(\\\"rect\\\").data(ot).enter().append(\\\"rect\\\").attr(\\\"id\\\",function(_t){return\\\"exclude-\\\"+_t.start.format(\\\"YYYY-MM-DD\\\")}).attr(\\\"x\\\",function(_t){return g(_t.start)+v}).attr(\\\"y\\\",i.gridLineStartPadding).attr(\\\"width\\\",function(_t){const K=_t.end.clone().add(1,\\\"day\\\");return g(K)-g(_t.start)}).attr(\\\"height\\\",m-w-i.gridLineStartPadding).attr(\\\"transform-origin\\\",function(_t,K){return(g(_t.start)+v+.5*(g(_t.end)-g(_t.start))).toString()+\\\"px \\\"+(K*D+.5*m).toString()+\\\"px\\\"}).attr(\\\"class\\\",\\\"exclude-range\\\")}function V(D,w,v,M){let m=Zb(g).tickSize(-M+w+i.gridLineStartPadding).tickFormat(Ul(n.db.getAxisFormat()||i.axisFormat||\\\"%Y-%m-%d\\\"));const x=/^([1-9]\\\\d*)(minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(x!==null){const ct=x[1];switch(x[2]){case\\\"minute\\\":m.ticks(Rl.every(ct));break;case\\\"hour\\\":m.ticks(Fl.every(ct));break;case\\\"day\\\":m.ticks(qs.every(ct));break;case\\\"week\\\":m.ticks(js.every(ct));break;case\\\"month\\\":m.ticks(Yl.every(ct));break}}if(p.append(\\\"g\\\").attr(\\\"class\\\",\\\"grid\\\").attr(\\\"transform\\\",\\\"translate(\\\"+D+\\\", \\\"+(M-50)+\\\")\\\").call(m).selectAll(\\\"text\\\").style(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"fill\\\",\\\"#000\\\").attr(\\\"stroke\\\",\\\"none\\\").attr(\\\"font-size\\\",10).attr(\\\"dy\\\",\\\"1em\\\"),n.db.topAxisEnabled()||i.topAxis){let ct=Kb(g).tickSize(-M+w+i.gridLineStartPadding).tickFormat(Ul(n.db.getAxisFormat()||i.axisFormat||\\\"%Y-%m-%d\\\"));if(x!==null){const Dt=x[1];switch(x[2]){case\\\"minute\\\":ct.ticks(Rl.every(Dt));break;case\\\"hour\\\":ct.ticks(Fl.every(Dt));break;case\\\"day\\\":ct.ticks(qs.every(Dt));break;case\\\"week\\\":ct.ticks(js.every(Dt));break;case\\\"month\\\":ct.ticks(Yl.every(Dt));break}}p.append(\\\"g\\\").attr(\\\"class\\\",\\\"grid\\\").attr(\\\"transform\\\",\\\"translate(\\\"+D+\\\", \\\"+w+\\\")\\\").call(ct).selectAll(\\\"text\\\").style(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"fill\\\",\\\"#000\\\").attr(\\\"stroke\\\",\\\"none\\\").attr(\\\"font-size\\\",10)}}function H(D,w){const v=[];let M=0;for(const[m,Q]of b.entries())v[m]=[Q,N(Q,k)];p.append(\\\"g\\\").selectAll(\\\"text\\\").data(v).enter().append(function(m){const Q=m[0].split(he.lineBreakRegex),x=-(Q.length-1)/2,ct=l.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");ct.setAttribute(\\\"dy\\\",x+\\\"em\\\");for(const[Dt,kt]of Q.entries()){const j=l.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\");j.setAttribute(\\\"alignment-baseline\\\",\\\"central\\\"),j.setAttribute(\\\"x\\\",\\\"10\\\"),Dt>0&&j.setAttribute(\\\"dy\\\",\\\"1em\\\"),j.textContent=kt,ct.appendChild(j)}return ct}).attr(\\\"x\\\",10).attr(\\\"y\\\",function(m,Q){if(Q>0)for(let x=0;x\u003CQ;x++)return M+=v[Q-1][1],m[1]*D/2+M*D+w;else return m[1]*D/2+w}).attr(\\\"font-size\\\",i.sectionFontSize).attr(\\\"font-size\\\",i.sectionFontSize).attr(\\\"class\\\",function(m){for(const[Q,x]of b.entries())if(m[0]===x)return\\\"sectionTitle sectionTitle\\\"+Q%i.numberSectionStyles;return\\\"sectionTitle\\\"})}function G(D,w,v,M){const m=n.db.getTodayMarker();if(m===\\\"off\\\")return;const Q=p.append(\\\"g\\\").attr(\\\"class\\\",\\\"today\\\"),x=new Date,ct=Q.append(\\\"line\\\");ct.attr(\\\"x1\\\",g(x)+D).attr(\\\"x2\\\",g(x)+D).attr(\\\"y1\\\",i.titleTopMargin).attr(\\\"y2\\\",M-i.titleTopMargin).attr(\\\"class\\\",\\\"today\\\"),m!==\\\"\\\"&&ct.attr(\\\"style\\\",m.replace(/,/g,\\\";\\\"))}function Y(D){const w={},v=[];for(let M=0,m=D.length;M\u003Cm;++M)Object.prototype.hasOwnProperty.call(w,D[M])||(w[D[M]]=!0,v.push(D[M]));return v}function W(D){let w=D.length;const v={};for(;w;)v[D[--w]]=(v[D[w]]||0)+1;return v}function N(D,w){return W(w)[D]||0}}};var Q0=function(){var t=function(s,a,o,l){for(o=o||{},l=s.length;l--;o[s[l]]=a);return o},e=[6,9,10],r={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:\\\"error\\\",4:\\\"info\\\",6:\\\"EOF\\\",9:\\\"NL\\\",10:\\\"showInfo\\\"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(a,o,l,u,d,f,p){switch(f.length-1,d){case 1:return u;case 4:break;case 6:u.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var l=new Error(a);throw l.hash=o,l}},parse:function(a){var o=this,l=[0],u=[],d=[null],f=[],p=this.table,g=\\\"\\\",b=0,k=0,T=2,L=1,E=f.slice.call(arguments,1),I=Object.create(this.lexer),V={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(V.yy[H]=this.yy[H]);I.setInput(a,V.yy),V.yy.lexer=I,V.yy.parser=this,typeof I.yylloc>\\\"u\\\"&&(I.yylloc={});var G=I.yylloc;f.push(G);var Y=I.options&&I.options.ranges;typeof V.yy.parseError==\\\"function\\\"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function W(){var kt;return kt=u.pop()||I.lex()||L,typeof kt!=\\\"number\\\"&&(kt instanceof Array&&(u=kt,kt=u.pop()),kt=o.symbols_[kt]||kt),kt}for(var N,D,w,v,M={},m,Q,x,ct;;){if(D=l[l.length-1],this.defaultActions[D]?w=this.defaultActions[D]:((N===null||typeof N>\\\"u\\\")&&(N=W()),w=p[D]&&p[D][N]),typeof w>\\\"u\\\"||!w.length||!w[0]){var Dt=\\\"\\\";ct=[];for(m in p[D])this.terminals_[m]&&m>T&&ct.push(\\\"'\\\"+this.terminals_[m]+\\\"'\\\");I.showPosition?Dt=\\\"Parse error on line \\\"+(b+1)+`:\\n`+I.showPosition()+`\\nExpecting `+ct.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[N]||N)+\\\"'\\\":Dt=\\\"Parse error on line \\\"+(b+1)+\\\": Unexpected \\\"+(N==L?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[N]||N)+\\\"'\\\"),this.parseError(Dt,{text:I.match,token:this.terminals_[N]||N,line:I.yylineno,loc:G,expected:ct})}if(w[0]instanceof Array&&w.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+D+\\\", token: \\\"+N);switch(w[0]){case 1:l.push(N),d.push(I.yytext),f.push(I.yylloc),l.push(w[1]),N=null,k=I.yyleng,g=I.yytext,b=I.yylineno,G=I.yylloc;break;case 2:if(Q=this.productions_[w[1]][1],M.$=d[d.length-Q],M._$={first_line:f[f.length-(Q||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(Q||1)].first_column,last_column:f[f.length-1].last_column},Y&&(M._$.range=[f[f.length-(Q||1)].range[0],f[f.length-1].range[1]]),v=this.performAction.apply(M,[g,k,b,V.yy,w[1],d,f].concat(E)),typeof v\u003C\\\"u\\\")return v;Q&&(l=l.slice(0,-1*Q*2),d=d.slice(0,-1*Q),f=f.slice(0,-1*Q)),l.push(this.productions_[w[1]][0]),d.push(M.$),f.push(M._$),x=p[l[l.length-2]][l[l.length-1]],l.push(x);break;case 3:return!0}}return!0}},n=function(){var s={EOF:1,parseError:function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,l=a.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var u=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===u.length?this.yylloc.first_column:0)+u[u.length-l.length].length-l[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?\\\"...\\\":\\\"\\\")+a.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var a=this.match;return a.length\u003C20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join(\\\"-\\\");return a+this.upcomingInput()+`\\n`+o+\\\"^\\\"},test_match:function(a,o){var l,u,d;if(this.options.backtrack_lexer&&(d={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(d.yylloc.range=this.yylloc.range.slice(0))),u=a[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],l=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var f in d)this[f]=d[f];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,o,l,u;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var d=this._currentRules(),f=0;f\u003Cd.length;f++)if(l=this._input.match(this.rules[d[f]]),l&&(!o||l[0].length>o[0].length)){if(o=l,u=f,this.options.backtrack_lexer){if(a=this.test_match(l,d[f]),a!==!1)return a;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(a=this.test_match(o,d[u]),a!==!1?a:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:\\\"INITIAL\\\"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(o,l,u,d){switch(u){case 0:return 4;case 1:return 9;case 2:return\\\"space\\\";case 3:return 10;case 4:return 6;case 5:return\\\"TXT\\\"}},rules:[/^(?:info\\\\b)/i,/^(?:[\\\\s\\\\n\\\\r]+)/i,/^(?:[\\\\s]+)/i,/^(?:showInfo\\\\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return s}();r.lexer=n;function i(){this.yy={}}return i.prototype=r,r.Parser=i,new i}();Q0.parser=Q0;const AR=Q0;var I3=\\\"\\\",O3=!1;const LR={setMessage:t=>{B.debug(\\\"Setting message to: \\\"+t),I3=t},getMessage:()=>I3,setInfo:t=>{O3=t},getInfo:()=>O3,clear:vn},DR={draw:(t,e,r)=>{try{B.debug(`Rendering info diagram\\n`+t);const n=$().securityLevel;let i;n===\\\"sandbox\\\"&&(i=St(\\\"#i\\\"+e));const a=St(n===\\\"sandbox\\\"?i.nodes()[0].contentDocument.body:\\\"body\\\").select(\\\"#\\\"+e);a.append(\\\"g\\\").append(\\\"text\\\").attr(\\\"x\\\",100).attr(\\\"y\\\",40).attr(\\\"class\\\",\\\"version\\\").attr(\\\"font-size\\\",\\\"32px\\\").style(\\\"text-anchor\\\",\\\"middle\\\").text(\\\"v \\\"+r),a.attr(\\\"height\\\",100),a.attr(\\\"width\\\",400)}catch(n){B.error(\\\"Error while rendering info diagram\\\"),B.error(n.message)}}},MR=t=>t.match(/^\\\\s*info/)!==null;var J0=function(){var t=function(G,Y,W,N){for(W=W||{},N=G.length;N--;W[G[N]]=Y);return W},e=[1,4],r=[1,5],n=[1,6],i=[1,7],s=[1,9],a=[1,11,13,15,17,19,20,26,27,28,29],o=[2,5],l=[1,6,11,13,15,17,19,20,26,27,28,29],u=[26,27,28],d=[2,8],f=[1,18],p=[1,19],g=[1,20],b=[1,21],k=[1,22],T=[1,23],L=[1,28],E=[6,26,27,28,29],I={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,\\\":\\\":24,argDirective:25,NEWLINE:26,\\\";\\\":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:\\\"error\\\",6:\\\"PIE\\\",8:\\\"showData\\\",11:\\\"txt\\\",12:\\\"value\\\",13:\\\"title\\\",14:\\\"title_value\\\",15:\\\"acc_title\\\",16:\\\"acc_title_value\\\",17:\\\"acc_descr\\\",18:\\\"acc_descr_value\\\",19:\\\"acc_descr_multiline_value\\\",20:\\\"section\\\",24:\\\":\\\",26:\\\"NEWLINE\\\",27:\\\";\\\",28:\\\"EOF\\\",29:\\\"open_directive\\\",30:\\\"type_directive\\\",31:\\\"arg_directive\\\",32:\\\"close_directive\\\"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(Y,W,N,D,w,v,M){var m=v.length-1;switch(w){case 4:D.setShowData(!0);break;case 7:this.$=v[m-1];break;case 9:D.addSection(v[m-1],D.cleanupValue(v[m]));break;case 10:this.$=v[m].trim(),D.setDiagramTitle(this.$);break;case 11:this.$=v[m].trim(),D.setAccTitle(this.$);break;case 12:case 13:this.$=v[m].trim(),D.setAccDescription(this.$);break;case 14:D.addSection(v[m].substr(8)),this.$=v[m].substr(8);break;case 21:D.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 22:D.parseDirective(v[m],\\\"type_directive\\\");break;case 23:v[m]=v[m].trim().replace(/'/g,'\\\"'),D.parseDirective(v[m],\\\"arg_directive\\\");break;case 24:D.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"pie\\\");break}},table:[{3:1,4:2,5:3,6:e,21:8,26:r,27:n,28:i,29:s},{1:[3]},{3:10,4:2,5:3,6:e,21:8,26:r,27:n,28:i,29:s},{3:11,4:2,5:3,6:e,21:8,26:r,27:n,28:i,29:s},t(a,o,{7:12,8:[1,13]}),t(l,[2,18]),t(l,[2,19]),t(l,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(u,d,{21:8,9:16,10:17,5:24,1:[2,3],11:f,13:p,15:g,17:b,19:k,20:T,29:s}),t(a,o,{7:25}),{23:26,24:[1,27],32:L},t([24,32],[2,22]),t(a,[2,6]),{4:29,26:r,27:n,28:i},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(u,[2,13]),t(u,[2,14]),t(u,[2,15]),t(u,d,{21:8,9:16,10:17,5:24,1:[2,4],11:f,13:p,15:g,17:b,19:k,20:T,29:s}),t(E,[2,16]),{25:34,31:[1,35]},t(E,[2,24]),t(a,[2,7]),t(u,[2,9]),t(u,[2,10]),t(u,[2,11]),t(u,[2,12]),{23:36,32:L},{32:[2,23]},t(E,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(Y,W){if(W.recoverable)this.trace(Y);else{var N=new Error(Y);throw N.hash=W,N}},parse:function(Y){var W=this,N=[0],D=[],w=[null],v=[],M=this.table,m=\\\"\\\",Q=0,x=0,ct=2,Dt=1,kt=v.slice.call(arguments,1),j=Object.create(this.lexer),ot={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&(ot.yy[rt]=this.yy[rt]);j.setInput(Y,ot.yy),ot.yy.lexer=j,ot.yy.parser=this,typeof j.yylloc>\\\"u\\\"&&(j.yylloc={});var nt=j.yylloc;v.push(nt);var ut=j.options&&j.options.ranges;typeof ot.yy.parseError==\\\"function\\\"?this.parseError=ot.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var ht;return ht=D.pop()||j.lex()||Dt,typeof ht!=\\\"number\\\"&&(ht instanceof Array&&(D=ht,ht=D.pop()),ht=W.symbols_[ht]||ht),ht}for(var K,Ot,P,z,X={},F,O,A,J;;){if(Ot=N[N.length-1],this.defaultActions[Ot]?P=this.defaultActions[Ot]:((K===null||typeof K>\\\"u\\\")&&(K=_t()),P=M[Ot]&&M[Ot][K]),typeof P>\\\"u\\\"||!P.length||!P[0]){var C=\\\"\\\";J=[];for(F in M[Ot])this.terminals_[F]&&F>ct&&J.push(\\\"'\\\"+this.terminals_[F]+\\\"'\\\");j.showPosition?C=\\\"Parse error on line \\\"+(Q+1)+`:\\n`+j.showPosition()+`\\nExpecting `+J.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[K]||K)+\\\"'\\\":C=\\\"Parse error on line \\\"+(Q+1)+\\\": Unexpected \\\"+(K==Dt?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[K]||K)+\\\"'\\\"),this.parseError(C,{text:j.match,token:this.terminals_[K]||K,line:j.yylineno,loc:nt,expected:J})}if(P[0]instanceof Array&&P.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+Ot+\\\", token: \\\"+K);switch(P[0]){case 1:N.push(K),w.push(j.yytext),v.push(j.yylloc),N.push(P[1]),K=null,x=j.yyleng,m=j.yytext,Q=j.yylineno,nt=j.yylloc;break;case 2:if(O=this.productions_[P[1]][1],X.$=w[w.length-O],X._$={first_line:v[v.length-(O||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(O||1)].first_column,last_column:v[v.length-1].last_column},ut&&(X._$.range=[v[v.length-(O||1)].range[0],v[v.length-1].range[1]]),z=this.performAction.apply(X,[m,x,Q,ot.yy,P[1],w,v].concat(kt)),typeof z\u003C\\\"u\\\")return z;O&&(N=N.slice(0,-1*O*2),w=w.slice(0,-1*O),v=v.slice(0,-1*O)),N.push(this.productions_[P[1]][0]),w.push(X.$),v.push(X._$),A=M[N[N.length-2]][N[N.length-1]],N.push(A);break;case 3:return!0}}return!0}},V=function(){var G={EOF:1,parseError:function(W,N){if(this.yy.parser)this.yy.parser.parseError(W,N);else throw new Error(W)},setInput:function(Y,W){return this.yy=W||this.yy||{},this._input=Y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var W=Y.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return W?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},unput:function(Y){var W=Y.length,N=Y.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-W),this.offset-=W;var D=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===D.length?this.yylloc.first_column:0)+D[D.length-N.length].length-N[0].length:this.yylloc.first_column-W},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-W]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(Y){this.unput(this.match.slice(Y))},pastInput:function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?\\\"...\\\":\\\"\\\")+Y.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var Y=this.match;return Y.length\u003C20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var Y=this.pastInput(),W=new Array(Y.length+1).join(\\\"-\\\");return Y+this.upcomingInput()+`\\n`+W+\\\"^\\\"},test_match:function(Y,W){var N,D,w;if(this.options.backtrack_lexer&&(w={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(w.yylloc.range=this.yylloc.range.slice(0))),D=Y[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),D&&(this.yylineno+=D.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:D?D[D.length-1].length-D[D.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Y[0].length),this.matched+=Y[0],N=this.performAction.call(this,this.yy,this,W,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var v in w)this[v]=w[v];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,W,N,D;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var w=this._currentRules(),v=0;v\u003Cw.length;v++)if(N=this._input.match(this.rules[w[v]]),N&&(!W||N[0].length>W[0].length)){if(W=N,D=v,this.options.backtrack_lexer){if(Y=this.test_match(N,w[v]),Y!==!1)return Y;if(this._backtrack){W=!1;continue}else return!1}else if(!this.options.flex)break}return W?(Y=this.test_match(W,w[D]),Y!==!1?Y:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var W=this.next();return W||this.lex()},begin:function(W){this.conditionStack.push(W)},popState:function(){var W=this.conditionStack.length-1;return W>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(W){return W=this.conditionStack.length-1-Math.abs(W||0),W>=0?this.conditionStack[W]:\\\"INITIAL\\\"},pushState:function(W){this.begin(W)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(W,N,D,w){switch(D){case 0:return this.begin(\\\"open_directive\\\"),29;case 1:return this.begin(\\\"type_directive\\\"),30;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:break;case 6:break;case 7:return 26;case 8:break;case 9:break;case 10:return this.begin(\\\"title\\\"),13;case 11:return this.popState(),\\\"title_value\\\";case 12:return this.begin(\\\"acc_title\\\"),15;case 13:return this.popState(),\\\"acc_title_value\\\";case 14:return this.begin(\\\"acc_descr\\\"),17;case 15:return this.popState(),\\\"acc_descr_value\\\";case 16:this.begin(\\\"acc_descr_multiline\\\");break;case 17:this.popState();break;case 18:return\\\"acc_descr_multiline_value\\\";case 19:this.begin(\\\"string\\\");break;case 20:this.popState();break;case 21:return\\\"txt\\\";case 22:return 6;case 23:return 8;case 24:return\\\"value\\\";case 25:return 28}},rules:[/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:%%(?!\\\\{)[^\\\\n]*)/i,/^(?:[^\\\\}]%%[^\\\\n]*)/i,/^(?:[\\\\n\\\\r]+)/i,/^(?:%%[^\\\\n]*)/i,/^(?:[\\\\s]+)/i,/^(?:title\\\\b)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:[\\\"])/i,/^(?:[\\\"])/i,/^(?:[^\\\"]*)/i,/^(?:pie\\\\b)/i,/^(?:showData\\\\b)/i,/^(?::[\\\\s]*[\\\\d]+(?:\\\\.[\\\\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}};return G}();I.lexer=V;function H(){this.yy={}}return H.prototype=I,I.Parser=H,new H}();J0.parser=J0;const NR=J0,BR=t=>t.match(/^\\\\s*pie/)!==null||t.match(/^\\\\s*bar/)!==null;let Cu={},td=!1;const IR={parseDirective:function(t,e,r){ze.parseDirective(this,t,e,r)},getConfig:()=>$().pie,addSection:function(t,e){t=he.sanitizeText(t,$()),Cu[t]===void 0&&(Cu[t]=e,B.debug(\\\"Added new section :\\\",t))},getSections:()=>Cu,cleanupValue:function(t){return t.substring(0,1)===\\\":\\\"&&(t=t.substring(1).trim()),Number(t.trim())},clear:function(){Cu={},td=!1,vn()},setAccTitle:nn,getAccTitle:kn,setDiagramTitle:hi,getDiagramTitle:di,setShowData:function(t){td=t},getShowData:function(){return td},getAccDescription:Tn,setAccDescription:wn};let Ti=$(),Ei;const jo=450,OR={draw:(t,e,r,n)=>{try{Ti=$(),B.debug(`Rendering info diagram\\n`+t);const E=$().securityLevel;let I;E===\\\"sandbox\\\"&&(I=St(\\\"#i\\\"+e));const V=St(E===\\\"sandbox\\\"?I.nodes()[0].contentDocument.body:\\\"body\\\"),H=E===\\\"sandbox\\\"?I.nodes()[0].contentDocument:document;n.db.clear(),n.parser.parse(t),B.debug(\\\"Parsed info diagram\\\");const G=H.getElementById(e);Ei=G.parentElement.offsetWidth,Ei===void 0&&(Ei=1200),Ti.useWidth!==void 0&&(Ei=Ti.useWidth),Ti.pie.useWidth!==void 0&&(Ei=Ti.pie.useWidth);const Y=V.select(\\\"#\\\"+e);xn(Y,jo,Ei,Ti.pie.useMaxWidth),G.setAttribute(\\\"viewBox\\\",\\\"0 0 \\\"+Ei+\\\" \\\"+jo);var i=40,s=18,a=4,o=Math.min(Ei,jo)/2-i,l=Y.append(\\\"g\\\").attr(\\\"transform\\\",\\\"translate(\\\"+Ei/2+\\\",\\\"+jo/2+\\\")\\\"),u=n.db.getSections(),d=0;Object.keys(u).forEach(function(N){d+=u[N]});const W=Ti.themeVariables;var f=[W.pie1,W.pie2,W.pie3,W.pie4,W.pie5,W.pie6,W.pie7,W.pie8,W.pie9,W.pie10,W.pie11,W.pie12],p=Jf().range(f),g=Object.entries(u).map(function(N,D){return{order:D,name:N[0],value:N[1]}}),b=Tk().value(function(N){return N.value}).sort(function(N,D){return N.order-D.order}),k=b(g),T=jh().innerRadius(0).outerRadius(o);l.selectAll(\\\"mySlices\\\").data(k).enter().append(\\\"path\\\").attr(\\\"d\\\",T).attr(\\\"fill\\\",function(N){return p(N.data.name)}).attr(\\\"class\\\",\\\"pieCircle\\\"),l.selectAll(\\\"mySlices\\\").data(k).enter().append(\\\"text\\\").text(function(N){return(N.data.value/d*100).toFixed(0)+\\\"%\\\"}).attr(\\\"transform\\\",function(N){return\\\"translate(\\\"+T.centroid(N)+\\\")\\\"}).style(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"class\\\",\\\"slice\\\"),l.append(\\\"text\\\").text(n.db.getDiagramTitle()).attr(\\\"x\\\",0).attr(\\\"y\\\",-(jo-50)/2).attr(\\\"class\\\",\\\"pieTitleText\\\");var L=l.selectAll(\\\".legend\\\").data(p.domain()).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"legend\\\").attr(\\\"transform\\\",function(N,D){const w=s+a,v=w*p.domain().length/2,M=12*s,m=D*w-v;return\\\"translate(\\\"+M+\\\",\\\"+m+\\\")\\\"});L.append(\\\"rect\\\").attr(\\\"width\\\",s).attr(\\\"height\\\",s).style(\\\"fill\\\",p).style(\\\"stroke\\\",p),L.data(k).append(\\\"text\\\").attr(\\\"x\\\",s+a).attr(\\\"y\\\",s-a).text(function(N){return n.db.getShowData()||Ti.showData||Ti.pie.showData?N.data.name+\\\" [\\\"+N.data.value+\\\"]\\\":N.data.name})}catch(E){B.error(\\\"Error while rendering info diagram\\\"),B.error(E)}}};var ed=function(){var t=function(Ot,P,z,X){for(z=z||{},X=Ot.length;X--;z[Ot[X]]=P);return z},e=[1,3],r=[1,5],n=[1,6],i=[1,7],s=[1,8],a=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],o=[1,22],l=[2,13],u=[1,26],d=[1,27],f=[1,28],p=[1,29],g=[1,30],b=[1,31],k=[1,24],T=[1,32],L=[1,33],E=[1,36],I=[71,72],V=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],H=[1,56],G=[1,57],Y=[1,58],W=[1,59],N=[1,60],D=[1,61],w=[1,62],v=[62,63],M=[1,74],m=[1,70],Q=[1,71],x=[1,72],ct=[1,73],Dt=[1,75],kt=[1,79],j=[1,80],ot=[1,77],rt=[1,78],nt=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],ut={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,\\\":\\\":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:\\\"error\\\",5:\\\"NEWLINE\\\",6:\\\"RD\\\",8:\\\"EOF\\\",12:\\\":\\\",14:\\\"acc_title\\\",15:\\\"acc_title_value\\\",16:\\\"acc_descr\\\",17:\\\"acc_descr_value\\\",18:\\\"acc_descr_multiline_value\\\",19:\\\"open_directive\\\",20:\\\"type_directive\\\",21:\\\"arg_directive\\\",22:\\\"close_directive\\\",28:\\\"STRUCT_START\\\",30:\\\"ID\\\",31:\\\"COLONSEP\\\",33:\\\"TEXT\\\",35:\\\"RISK\\\",37:\\\"VERIFYMTHD\\\",39:\\\"STRUCT_STOP\\\",40:\\\"REQUIREMENT\\\",41:\\\"FUNCTIONAL_REQUIREMENT\\\",42:\\\"INTERFACE_REQUIREMENT\\\",43:\\\"PERFORMANCE_REQUIREMENT\\\",44:\\\"PHYSICAL_REQUIREMENT\\\",45:\\\"DESIGN_CONSTRAINT\\\",46:\\\"LOW_RISK\\\",47:\\\"MED_RISK\\\",48:\\\"HIGH_RISK\\\",49:\\\"VERIFY_ANALYSIS\\\",50:\\\"VERIFY_DEMONSTRATION\\\",51:\\\"VERIFY_INSPECTION\\\",52:\\\"VERIFY_TEST\\\",53:\\\"ELEMENT\\\",56:\\\"TYPE\\\",58:\\\"DOCREF\\\",60:\\\"END_ARROW_L\\\",62:\\\"LINE\\\",63:\\\"END_ARROW_R\\\",64:\\\"CONTAINS\\\",65:\\\"COPIES\\\",66:\\\"DERIVES\\\",67:\\\"SATISFIES\\\",68:\\\"VERIFIES\\\",69:\\\"REFINES\\\",70:\\\"TRACES\\\",71:\\\"unqString\\\",72:\\\"qString\\\"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(P,z,X,F,O,A,J){var C=A.length-1;switch(O){case 6:this.$=A[C].trim(),F.setAccTitle(this.$);break;case 7:case 8:this.$=A[C].trim(),F.setAccDescription(this.$);break;case 9:F.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 10:F.parseDirective(A[C],\\\"type_directive\\\");break;case 11:A[C]=A[C].trim().replace(/'/g,'\\\"'),F.parseDirective(A[C],\\\"arg_directive\\\");break;case 12:F.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"pie\\\");break;case 13:this.$=[];break;case 19:F.addRequirement(A[C-3],A[C-4]);break;case 20:F.setNewReqId(A[C-2]);break;case 21:F.setNewReqText(A[C-2]);break;case 22:F.setNewReqRisk(A[C-2]);break;case 23:F.setNewReqVerifyMethod(A[C-2]);break;case 26:this.$=F.RequirementType.REQUIREMENT;break;case 27:this.$=F.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=F.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=F.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=F.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=F.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=F.RiskLevel.LOW_RISK;break;case 33:this.$=F.RiskLevel.MED_RISK;break;case 34:this.$=F.RiskLevel.HIGH_RISK;break;case 35:this.$=F.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=F.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=F.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=F.VerifyType.VERIFY_TEST;break;case 39:F.addElement(A[C-3]);break;case 40:F.setNewElementType(A[C-2]);break;case 41:F.setNewElementDocRef(A[C-2]);break;case 44:F.addRelationship(A[C-2],A[C],A[C-4]);break;case 45:F.addRelationship(A[C-2],A[C-4],A[C]);break;case 46:this.$=F.Relationships.CONTAINS;break;case 47:this.$=F.Relationships.COPIES;break;case 48:this.$=F.Relationships.DERIVES;break;case 49:this.$=F.Relationships.SATISFIES;break;case 50:this.$=F.Relationships.VERIFIES;break;case 51:this.$=F.Relationships.REFINES;break;case 52:this.$=F.Relationships.TRACES;break}},table:[{3:1,4:2,6:e,9:4,14:r,16:n,18:i,19:s},{1:[3]},{3:10,4:2,5:[1,9],6:e,9:4,14:r,16:n,18:i,19:s},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},t(a,[2,8]),{20:[2,9]},{3:16,4:2,6:e,9:4,14:r,16:n,18:i,19:s},{1:[2,2]},{4:21,5:o,7:17,8:l,9:4,14:r,16:n,18:i,19:s,23:18,24:19,25:20,26:23,32:25,40:u,41:d,42:f,43:p,44:g,45:b,53:k,71:T,72:L},{11:34,12:[1,35],22:E},t([12,22],[2,10]),t(a,[2,6]),t(a,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:o,7:38,8:l,9:4,14:r,16:n,18:i,19:s,23:18,24:19,25:20,26:23,32:25,40:u,41:d,42:f,43:p,44:g,45:b,53:k,71:T,72:L},{4:21,5:o,7:39,8:l,9:4,14:r,16:n,18:i,19:s,23:18,24:19,25:20,26:23,32:25,40:u,41:d,42:f,43:p,44:g,45:b,53:k,71:T,72:L},{4:21,5:o,7:40,8:l,9:4,14:r,16:n,18:i,19:s,23:18,24:19,25:20,26:23,32:25,40:u,41:d,42:f,43:p,44:g,45:b,53:k,71:T,72:L},{4:21,5:o,7:41,8:l,9:4,14:r,16:n,18:i,19:s,23:18,24:19,25:20,26:23,32:25,40:u,41:d,42:f,43:p,44:g,45:b,53:k,71:T,72:L},{4:21,5:o,7:42,8:l,9:4,14:r,16:n,18:i,19:s,23:18,24:19,25:20,26:23,32:25,40:u,41:d,42:f,43:p,44:g,45:b,53:k,71:T,72:L},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},t(I,[2,26]),t(I,[2,27]),t(I,[2,28]),t(I,[2,29]),t(I,[2,30]),t(I,[2,31]),t(V,[2,55]),t(V,[2,56]),t(a,[2,4]),{13:51,21:[1,52]},t(a,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:H,65:G,66:Y,67:W,68:N,69:D,70:w},{61:63,64:H,65:G,66:Y,67:W,68:N,69:D,70:w},{11:64,22:E},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},t(v,[2,46]),t(v,[2,47]),t(v,[2,48]),t(v,[2,49]),t(v,[2,50]),t(v,[2,51]),t(v,[2,52]),{63:[1,68]},t(a,[2,5]),{5:M,29:69,30:m,33:Q,35:x,37:ct,39:Dt},{5:kt,39:j,55:76,56:ot,58:rt},{32:81,71:T,72:L},{32:82,71:T,72:L},t(nt,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:m,33:Q,35:x,37:ct,39:Dt},t(nt,[2,25]),t(nt,[2,39]),{31:[1,88]},{31:[1,89]},{5:kt,39:j,55:90,56:ot,58:rt},t(nt,[2,43]),t(nt,[2,44]),t(nt,[2,45]),{32:91,71:T,72:L},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},t(nt,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},t(nt,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:m,33:Q,35:x,37:ct,39:Dt},{5:M,29:117,30:m,33:Q,35:x,37:ct,39:Dt},{5:M,29:118,30:m,33:Q,35:x,37:ct,39:Dt},{5:M,29:119,30:m,33:Q,35:x,37:ct,39:Dt},{5:kt,39:j,55:120,56:ot,58:rt},{5:kt,39:j,55:121,56:ot,58:rt},t(nt,[2,20]),t(nt,[2,21]),t(nt,[2,22]),t(nt,[2,23]),t(nt,[2,40]),t(nt,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(P,z){if(z.recoverable)this.trace(P);else{var X=new Error(P);throw X.hash=z,X}},parse:function(P){var z=this,X=[0],F=[],O=[null],A=[],J=this.table,C=\\\"\\\",ht=0,U=0,Yt=2,et=1,Mt=A.slice.call(arguments,1),Tt=Object.create(this.lexer),gt={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(gt.yy[Et]=this.yy[Et]);Tt.setInput(P,gt.yy),gt.yy.lexer=Tt,gt.yy.parser=this,typeof Tt.yylloc>\\\"u\\\"&&(Tt.yylloc={});var wt=Tt.yylloc;A.push(wt);var pt=Tt.options&&Tt.options.ranges;typeof gt.yy.parseError==\\\"function\\\"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function st(){var ft;return ft=F.pop()||Tt.lex()||et,typeof ft!=\\\"number\\\"&&(ft instanceof Array&&(F=ft,ft=F.pop()),ft=z.symbols_[ft]||ft),ft}for(var le,Xt,jt,Kt,Gt={},Ee,Ht,Vt,Ft;;){if(Xt=X[X.length-1],this.defaultActions[Xt]?jt=this.defaultActions[Xt]:((le===null||typeof le>\\\"u\\\")&&(le=st()),jt=J[Xt]&&J[Xt][le]),typeof jt>\\\"u\\\"||!jt.length||!jt[0]){var xt=\\\"\\\";Ft=[];for(Ee in J[Xt])this.terminals_[Ee]&&Ee>Yt&&Ft.push(\\\"'\\\"+this.terminals_[Ee]+\\\"'\\\");Tt.showPosition?xt=\\\"Parse error on line \\\"+(ht+1)+`:\\n`+Tt.showPosition()+`\\nExpecting `+Ft.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[le]||le)+\\\"'\\\":xt=\\\"Parse error on line \\\"+(ht+1)+\\\": Unexpected \\\"+(le==et?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[le]||le)+\\\"'\\\"),this.parseError(xt,{text:Tt.match,token:this.terminals_[le]||le,line:Tt.yylineno,loc:wt,expected:Ft})}if(jt[0]instanceof Array&&jt.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+Xt+\\\", token: \\\"+le);switch(jt[0]){case 1:X.push(le),O.push(Tt.yytext),A.push(Tt.yylloc),X.push(jt[1]),le=null,U=Tt.yyleng,C=Tt.yytext,ht=Tt.yylineno,wt=Tt.yylloc;break;case 2:if(Ht=this.productions_[jt[1]][1],Gt.$=O[O.length-Ht],Gt._$={first_line:A[A.length-(Ht||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(Ht||1)].first_column,last_column:A[A.length-1].last_column},pt&&(Gt._$.range=[A[A.length-(Ht||1)].range[0],A[A.length-1].range[1]]),Kt=this.performAction.apply(Gt,[C,U,ht,gt.yy,jt[1],O,A].concat(Mt)),typeof Kt\u003C\\\"u\\\")return Kt;Ht&&(X=X.slice(0,-1*Ht*2),O=O.slice(0,-1*Ht),A=A.slice(0,-1*Ht)),X.push(this.productions_[jt[1]][0]),O.push(Gt.$),A.push(Gt._$),Vt=J[X[X.length-2]][X[X.length-1]],X.push(Vt);break;case 3:return!0}}return!0}},_t=function(){var Ot={EOF:1,parseError:function(z,X){if(this.yy.parser)this.yy.parser.parseError(z,X);else throw new Error(z)},setInput:function(P,z){return this.yy=z||this.yy||{},this._input=P,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var P=this._input[0];this.yytext+=P,this.yyleng++,this.offset++,this.match+=P,this.matched+=P;var z=P.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),P},unput:function(P){var z=P.length,X=P.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=P+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var F=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),X.length-1&&(this.yylineno-=X.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:X?(X.length===F.length?this.yylloc.first_column:0)+F[F.length-X.length].length-X[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(P){this.unput(this.match.slice(P))},pastInput:function(){var P=this.matched.substr(0,this.matched.length-this.match.length);return(P.length>20?\\\"...\\\":\\\"\\\")+P.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var P=this.match;return P.length\u003C20&&(P+=this._input.substr(0,20-P.length)),(P.substr(0,20)+(P.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var P=this.pastInput(),z=new Array(P.length+1).join(\\\"-\\\");return P+this.upcomingInput()+`\\n`+z+\\\"^\\\"},test_match:function(P,z){var X,F,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),F=P[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),F&&(this.yylineno+=F.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:F?F[F.length-1].length-F[F.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+P[0].length},this.yytext+=P[0],this.match+=P[0],this.matches=P,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(P[0].length),this.matched+=P[0],X=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),X)return X;if(this._backtrack){for(var A in O)this[A]=O[A];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var P,z,X,F;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var O=this._currentRules(),A=0;A\u003CO.length;A++)if(X=this._input.match(this.rules[O[A]]),X&&(!z||X[0].length>z[0].length)){if(z=X,F=A,this.options.backtrack_lexer){if(P=this.test_match(X,O[A]),P!==!1)return P;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(P=this.test_match(z,O[F]),P!==!1?P:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var z=this.next();return z||this.lex()},begin:function(z){this.conditionStack.push(z)},popState:function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:\\\"INITIAL\\\"},pushState:function(z){this.begin(z)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(z,X,F,O){switch(F){case 0:return this.begin(\\\"open_directive\\\"),19;case 1:return this.begin(\\\"type_directive\\\"),20;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return\\\"title\\\";case 6:return this.begin(\\\"acc_title\\\"),14;case 7:return this.popState(),\\\"acc_title_value\\\";case 8:return this.begin(\\\"acc_descr\\\"),16;case 9:return this.popState(),\\\"acc_descr_value\\\";case 10:this.begin(\\\"acc_descr_multiline\\\");break;case 11:this.popState();break;case 12:return\\\"acc_descr_multiline_value\\\";case 13:return 5;case 14:break;case 15:break;case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin(\\\"string\\\");break;case 53:this.popState();break;case 54:return\\\"qString\\\";case 55:return X.yytext=X.yytext.trim(),71}},rules:[/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:title\\\\s[^#\\\\n;]+)/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:(\\\\r?\\\\n)+)/i,/^(?:\\\\s+)/i,/^(?:#[^\\\\n]*)/i,/^(?:%[^\\\\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\\\\b)/i,/^(?:\\\\{)/i,/^(?:\\\\})/i,/^(?::)/i,/^(?:id\\\\b)/i,/^(?:text\\\\b)/i,/^(?:risk\\\\b)/i,/^(?:verifyMethod\\\\b)/i,/^(?:requirement\\\\b)/i,/^(?:functionalRequirement\\\\b)/i,/^(?:interfaceRequirement\\\\b)/i,/^(?:performanceRequirement\\\\b)/i,/^(?:physicalRequirement\\\\b)/i,/^(?:designConstraint\\\\b)/i,/^(?:low\\\\b)/i,/^(?:medium\\\\b)/i,/^(?:high\\\\b)/i,/^(?:analysis\\\\b)/i,/^(?:demonstration\\\\b)/i,/^(?:inspection\\\\b)/i,/^(?:test\\\\b)/i,/^(?:element\\\\b)/i,/^(?:contains\\\\b)/i,/^(?:copies\\\\b)/i,/^(?:derives\\\\b)/i,/^(?:satisfies\\\\b)/i,/^(?:verifies\\\\b)/i,/^(?:refines\\\\b)/i,/^(?:traces\\\\b)/i,/^(?:type\\\\b)/i,/^(?:docref\\\\b)/i,/^(?:\u003C-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:[\\\"])/i,/^(?:[\\\"])/i,/^(?:[^\\\"]*)/i,/^(?:[\\\\w][^\\\\r\\\\n\\\\{\\\\\u003C\\\\>\\\\-\\\\=]*)/i],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,55],inclusive:!0}}};return Ot}();ut.lexer=_t;function K(){this.yy={}}return K.prototype=ut,ut.Parser=K,new K}();ed.parser=ed;const RR=ed,FR=t=>t.match(/^\\\\s*requirement(Diagram)?/)!==null;let rd=[],Ur={},$o={},qi={},Xo={};const PR={RequirementType:{REQUIREMENT:\\\"Requirement\\\",FUNCTIONAL_REQUIREMENT:\\\"Functional Requirement\\\",INTERFACE_REQUIREMENT:\\\"Interface Requirement\\\",PERFORMANCE_REQUIREMENT:\\\"Performance Requirement\\\",PHYSICAL_REQUIREMENT:\\\"Physical Requirement\\\",DESIGN_CONSTRAINT:\\\"Design Constraint\\\"},RiskLevel:{LOW_RISK:\\\"Low\\\",MED_RISK:\\\"Medium\\\",HIGH_RISK:\\\"High\\\"},VerifyType:{VERIFY_ANALYSIS:\\\"Analysis\\\",VERIFY_DEMONSTRATION:\\\"Demonstration\\\",VERIFY_INSPECTION:\\\"Inspection\\\",VERIFY_TEST:\\\"Test\\\"},Relationships:{CONTAINS:\\\"contains\\\",COPIES:\\\"copies\\\",DERIVES:\\\"derives\\\",SATISFIES:\\\"satisfies\\\",VERIFIES:\\\"verifies\\\",REFINES:\\\"refines\\\",TRACES:\\\"traces\\\"},parseDirective:function(t,e,r){ze.parseDirective(this,t,e,r)},getConfig:()=>$().req,addRequirement:(t,e)=>($o[t]===void 0&&($o[t]={name:t,type:e,id:Ur.id,text:Ur.text,risk:Ur.risk,verifyMethod:Ur.verifyMethod}),Ur={},$o[t]),getRequirements:()=>$o,setNewReqId:t=>{Ur!==void 0&&(Ur.id=t)},setNewReqText:t=>{Ur!==void 0&&(Ur.text=t)},setNewReqRisk:t=>{Ur!==void 0&&(Ur.risk=t)},setNewReqVerifyMethod:t=>{Ur!==void 0&&(Ur.verifyMethod=t)},setAccTitle:nn,getAccTitle:kn,setAccDescription:wn,getAccDescription:Tn,addElement:t=>(Xo[t]===void 0&&(Xo[t]={name:t,type:qi.type,docRef:qi.docRef},B.info(\\\"Added new requirement: \\\",t)),qi={},Xo[t]),getElements:()=>Xo,setNewElementType:t=>{qi!==void 0&&(qi.type=t)},setNewElementDocRef:t=>{qi!==void 0&&(qi.docRef=t)},addRelationship:(t,e,r)=>{rd.push({type:t,src:e,dst:r})},getRelationships:()=>rd,clear:()=>{rd=[],Ur={},$o={},qi={},Xo={},vn()}},nd={CONTAINS:\\\"contains\\\",ARROW:\\\"arrow\\\"},R3={ReqMarkers:nd,insertLineEndings:(t,e)=>{let r=t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",nd.CONTAINS+\\\"_line_ending\\\").attr(\\\"refX\\\",0).attr(\\\"refY\\\",e.line_height/2).attr(\\\"markerWidth\\\",e.line_height).attr(\\\"markerHeight\\\",e.line_height).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"g\\\");r.append(\\\"circle\\\").attr(\\\"cx\\\",e.line_height/2).attr(\\\"cy\\\",e.line_height/2).attr(\\\"r\\\",e.line_height/2).attr(\\\"fill\\\",\\\"none\\\"),r.append(\\\"line\\\").attr(\\\"x1\\\",0).attr(\\\"x2\\\",e.line_height).attr(\\\"y1\\\",e.line_height/2).attr(\\\"y2\\\",e.line_height/2).attr(\\\"stroke-width\\\",1),r.append(\\\"line\\\").attr(\\\"y1\\\",0).attr(\\\"y2\\\",e.line_height).attr(\\\"x1\\\",e.line_height/2).attr(\\\"x2\\\",e.line_height/2).attr(\\\"stroke-width\\\",1),t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",nd.ARROW+\\\"_line_ending\\\").attr(\\\"refX\\\",e.line_height).attr(\\\"refY\\\",.5*e.line_height).attr(\\\"markerWidth\\\",e.line_height).attr(\\\"markerHeight\\\",e.line_height).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",`M0,0\\n L${e.line_height},${e.line_height/2}\\n M${e.line_height},${e.line_height/2}\\n L0,${e.line_height}`).attr(\\\"stroke-width\\\",1)}};let qe={},F3=0;const P3=(t,e)=>t.insert(\\\"rect\\\",\\\"#\\\"+e).attr(\\\"class\\\",\\\"req reqBox\\\").attr(\\\"x\\\",0).attr(\\\"y\\\",0).attr(\\\"width\\\",qe.rect_min_width+\\\"px\\\").attr(\\\"height\\\",qe.rect_min_height+\\\"px\\\"),Y3=(t,e,r)=>{let n=qe.rect_min_width/2,i=t.append(\\\"text\\\").attr(\\\"class\\\",\\\"req reqLabel reqTitle\\\").attr(\\\"id\\\",e).attr(\\\"x\\\",n).attr(\\\"y\\\",qe.rect_padding).attr(\\\"dominant-baseline\\\",\\\"hanging\\\"),s=0;r.forEach(u=>{s==0?i.append(\\\"tspan\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"x\\\",qe.rect_min_width/2).attr(\\\"dy\\\",0).text(u):i.append(\\\"tspan\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"x\\\",qe.rect_min_width/2).attr(\\\"dy\\\",qe.line_height*.75).text(u),s++});let a=1.5*qe.rect_padding,o=s*qe.line_height*.75,l=a+o;return t.append(\\\"line\\\").attr(\\\"class\\\",\\\"req-title-line\\\").attr(\\\"x1\\\",\\\"0\\\").attr(\\\"x2\\\",qe.rect_min_width).attr(\\\"y1\\\",l).attr(\\\"y2\\\",l),{titleNode:i,y:l}},V3=(t,e,r,n)=>{let i=t.append(\\\"text\\\").attr(\\\"class\\\",\\\"req reqLabel\\\").attr(\\\"id\\\",e).attr(\\\"x\\\",qe.rect_padding).attr(\\\"y\\\",n).attr(\\\"dominant-baseline\\\",\\\"hanging\\\"),s=0;const a=30;let o=[];return r.forEach(l=>{let u=l.length;for(;u>a&&s\u003C3;){let d=l.substring(0,a);l=l.substring(a,l.length),u=l.length,o[o.length]=d,s++}if(s==3){let d=o[o.length-1];o[o.length-1]=d.substring(0,d.length-4)+\\\"...\\\"}else o[o.length]=l;s=0}),o.forEach(l=>{i.append(\\\"tspan\\\").attr(\\\"x\\\",qe.rect_padding).attr(\\\"dy\\\",qe.line_height).text(l)}),i},YR=(t,e,r,n)=>{const i=e.node().getTotalLength(),s=e.node().getPointAtLength(i*.5),a=\\\"rel\\\"+F3;F3++;const l=t.append(\\\"text\\\").attr(\\\"class\\\",\\\"req relationshipLabel\\\").attr(\\\"id\\\",a).attr(\\\"x\\\",s.x).attr(\\\"y\\\",s.y).attr(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"dominant-baseline\\\",\\\"middle\\\").text(n).node().getBBox();t.insert(\\\"rect\\\",\\\"#\\\"+a).attr(\\\"class\\\",\\\"req reqLabelBox\\\").attr(\\\"x\\\",s.x-l.width/2).attr(\\\"y\\\",s.y-l.height/2).attr(\\\"width\\\",l.width).attr(\\\"height\\\",l.height).attr(\\\"fill\\\",\\\"white\\\").attr(\\\"fill-opacity\\\",\\\"85%\\\")},VR=function(t,e,r,n,i){const s=r.edge(Ma(e.src),Ma(e.dst)),a=Js().x(function(l){return l.x}).y(function(l){return l.y}),o=t.insert(\\\"path\\\",\\\"#\\\"+n).attr(\\\"class\\\",\\\"er relationshipLine\\\").attr(\\\"d\\\",a(s.points)).attr(\\\"fill\\\",\\\"none\\\");e.type==i.db.Relationships.CONTAINS?o.attr(\\\"marker-start\\\",\\\"url(\\\"+he.getUrl(qe.arrowMarkerAbsolute)+\\\"#\\\"+e.type+\\\"_line_ending)\\\"):(o.attr(\\\"stroke-dasharray\\\",\\\"10,7\\\"),o.attr(\\\"marker-end\\\",\\\"url(\\\"+he.getUrl(qe.arrowMarkerAbsolute)+\\\"#\\\"+R3.ReqMarkers.ARROW+\\\"_line_ending)\\\")),YR(t,o,qe,`\u003C\u003C${e.type}>>`)},UR=(t,e,r)=>{Object.keys(t).forEach(n=>{let i=t[n];n=Ma(n),B.info(\\\"Added new requirement: \\\",n);const s=r.append(\\\"g\\\").attr(\\\"id\\\",n),a=\\\"req-\\\"+n,o=P3(s,a);let l=Y3(s,n+\\\"_title\\\",[`\u003C\u003C${i.type}>>`,`${i.name}`]);V3(s,n+\\\"_body\\\",[`Id: ${i.id}`,`Text: ${i.text}`,`Risk: ${i.risk}`,`Verification: ${i.verifyMethod}`],l.y);const u=o.node().getBBox();e.setNode(n,{width:u.width,height:u.height,shape:\\\"rect\\\",id:n})})},zR=(t,e,r)=>{Object.keys(t).forEach(n=>{let i=t[n];const s=Ma(n),a=r.append(\\\"g\\\").attr(\\\"id\\\",s),o=\\\"element-\\\"+s,l=P3(a,o);let u=Y3(a,o+\\\"_title\\\",[\\\"\u003C\u003CElement>>\\\",`${n}`]);V3(a,o+\\\"_body\\\",[`Type: ${i.type||\\\"Not Specified\\\"}`,`Doc Ref: ${i.docRef||\\\"None\\\"}`],u.y);const d=l.node().getBBox();e.setNode(s,{width:d.width,height:d.height,shape:\\\"rect\\\",id:s})})},WR=(t,e)=>(t.forEach(function(r){let n=Ma(r.src),i=Ma(r.dst);e.setEdge(n,i,{relationship:r})}),t),HR=function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&(t.select(\\\"#\\\"+r),t.select(\\\"#\\\"+r).attr(\\\"transform\\\",\\\"translate(\\\"+(e.node(r).x-e.node(r).width/2)+\\\",\\\"+(e.node(r).y-e.node(r).height/2)+\\\" )\\\"))})},Ma=t=>t.replace(/\\\\s/g,\\\"\\\").replace(/\\\\./g,\\\"_\\\"),GR={draw:(t,e,r,n)=>{qe=$().requirement,n.db.clear(),n.parser.parse(t);const i=qe.securityLevel;let s;i===\\\"sandbox\\\"&&(s=St(\\\"#i\\\"+e));const o=St(i===\\\"sandbox\\\"?s.nodes()[0].contentDocument.body:\\\"body\\\").select(`[id='${e}']`);R3.insertLineEndings(o,qe);const l=new sr({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:qe.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let u=n.db.getRequirements(),d=n.db.getElements(),f=n.db.getRelationships();UR(u,l,o),zR(d,l,o),WR(f,l),Ea(l),HR(o,l),f.forEach(function(T){VR(o,T,l,e,n)});const p=qe.rect_padding,g=o.node().getBBox(),b=g.width+p*2,k=g.height+p*2;xn(o,k,b,qe.useMaxWidth),o.attr(\\\"viewBox\\\",`${g.x-p} ${g.y-p} ${b} ${k}`)}};var id=function(){var t=function(Ot,P,z,X){for(z=z||{},X=Ot.length;X--;z[Ot[X]]=P);return z},e=[1,2],r=[1,3],n=[1,5],i=[1,7],s=[2,5],a=[1,15],o=[1,17],l=[1,18],u=[1,19],d=[1,21],f=[1,22],p=[1,23],g=[1,29],b=[1,30],k=[1,31],T=[1,32],L=[1,33],E=[1,34],I=[1,35],V=[1,36],H=[1,37],G=[1,38],Y=[1,39],W=[1,40],N=[1,43],D=[1,44],w=[1,45],v=[1,46],M=[1,47],m=[1,48],Q=[1,51],x=[1,4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,51,52,53,58,59,60,61,69,79],ct=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,53,58,59,60,61,69,79],Dt=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,52,53,58,59,60,61,69,79],kt=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,51,53,58,59,60,61,69,79],j=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,53,58,59,60,61,69,79],ot=[67,68,69],rt=[1,121],nt=[1,4,5,7,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,51,52,53,58,59,60,61,69,79],ut={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,openDirective:11,typeDirective:12,closeDirective:13,\\\":\\\":14,argDirective:15,participant:16,actor:17,AS:18,restOfLine:19,participant_actor:20,signal:21,autonumber:22,NUM:23,off:24,activate:25,deactivate:26,note_statement:27,links_statement:28,link_statement:29,properties_statement:30,details_statement:31,title:32,legacy_title:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,loop:39,end:40,rect:41,opt:42,alt:43,else_sections:44,par:45,par_sections:46,critical:47,option_sections:48,break:49,option:50,and:51,else:52,note:53,placement:54,text2:55,over:56,actor_pair:57,links:58,link:59,properties:60,details:61,spaceList:62,\\\",\\\":63,left_of:64,right_of:65,signaltype:66,\\\"+\\\":67,\\\"-\\\":68,ACTOR:69,SOLID_OPEN_ARROW:70,DOTTED_OPEN_ARROW:71,SOLID_ARROW:72,DOTTED_ARROW:73,SOLID_CROSS:74,DOTTED_CROSS:75,SOLID_POINT:76,DOTTED_POINT:77,TXT:78,open_directive:79,type_directive:80,arg_directive:81,close_directive:82,$accept:0,$end:1},terminals_:{2:\\\"error\\\",4:\\\"SPACE\\\",5:\\\"NEWLINE\\\",7:\\\"SD\\\",14:\\\":\\\",16:\\\"participant\\\",18:\\\"AS\\\",19:\\\"restOfLine\\\",20:\\\"participant_actor\\\",22:\\\"autonumber\\\",23:\\\"NUM\\\",24:\\\"off\\\",25:\\\"activate\\\",26:\\\"deactivate\\\",32:\\\"title\\\",33:\\\"legacy_title\\\",34:\\\"acc_title\\\",35:\\\"acc_title_value\\\",36:\\\"acc_descr\\\",37:\\\"acc_descr_value\\\",38:\\\"acc_descr_multiline_value\\\",39:\\\"loop\\\",40:\\\"end\\\",41:\\\"rect\\\",42:\\\"opt\\\",43:\\\"alt\\\",45:\\\"par\\\",47:\\\"critical\\\",49:\\\"break\\\",50:\\\"option\\\",51:\\\"and\\\",52:\\\"else\\\",53:\\\"note\\\",56:\\\"over\\\",58:\\\"links\\\",59:\\\"link\\\",60:\\\"properties\\\",61:\\\"details\\\",63:\\\",\\\",64:\\\"left_of\\\",65:\\\"right_of\\\",67:\\\"+\\\",68:\\\"-\\\",69:\\\"ACTOR\\\",70:\\\"SOLID_OPEN_ARROW\\\",71:\\\"DOTTED_OPEN_ARROW\\\",72:\\\"SOLID_ARROW\\\",73:\\\"DOTTED_ARROW\\\",74:\\\"SOLID_CROSS\\\",75:\\\"DOTTED_CROSS\\\",76:\\\"SOLID_POINT\\\",77:\\\"DOTTED_POINT\\\",78:\\\"TXT\\\",79:\\\"open_directive\\\",80:\\\"type_directive\\\",81:\\\"arg_directive\\\",82:\\\"close_directive\\\"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,5],[10,3],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[48,1],[48,4],[46,1],[46,4],[44,1],[44,4],[27,4],[27,4],[28,3],[29,3],[30,3],[31,3],[62,2],[62,1],[57,3],[57,1],[54,1],[54,1],[21,5],[21,5],[21,4],[17,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[55,1],[11,1],[12,1],[15,1],[13,1]],performAction:function(P,z,X,F,O,A,J){var C=A.length-1;switch(O){case 4:return F.apply(A[C]),A[C];case 5:this.$=[];break;case 6:A[C-1].push(A[C]),this.$=A[C-1];break;case 7:case 8:this.$=A[C];break;case 9:this.$=[];break;case 12:A[C-3].type=\\\"addParticipant\\\",A[C-3].description=F.parseMessage(A[C-1]),this.$=A[C-3];break;case 13:A[C-1].type=\\\"addParticipant\\\",this.$=A[C-1];break;case 14:A[C-3].type=\\\"addActor\\\",A[C-3].description=F.parseMessage(A[C-1]),this.$=A[C-3];break;case 15:A[C-1].type=\\\"addActor\\\",this.$=A[C-1];break;case 17:this.$={type:\\\"sequenceIndex\\\",sequenceIndex:Number(A[C-2]),sequenceIndexStep:Number(A[C-1]),sequenceVisible:!0,signalType:F.LINETYPE.AUTONUMBER};break;case 18:this.$={type:\\\"sequenceIndex\\\",sequenceIndex:Number(A[C-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:F.LINETYPE.AUTONUMBER};break;case 19:this.$={type:\\\"sequenceIndex\\\",sequenceVisible:!1,signalType:F.LINETYPE.AUTONUMBER};break;case 20:this.$={type:\\\"sequenceIndex\\\",sequenceVisible:!0,signalType:F.LINETYPE.AUTONUMBER};break;case 21:this.$={type:\\\"activeStart\\\",signalType:F.LINETYPE.ACTIVE_START,actor:A[C-1]};break;case 22:this.$={type:\\\"activeEnd\\\",signalType:F.LINETYPE.ACTIVE_END,actor:A[C-1]};break;case 28:F.setDiagramTitle(A[C].substring(6)),this.$=A[C].substring(6);break;case 29:F.setDiagramTitle(A[C].substring(7)),this.$=A[C].substring(7);break;case 30:this.$=A[C].trim(),F.setAccTitle(this.$);break;case 31:case 32:this.$=A[C].trim(),F.setAccDescription(this.$);break;case 33:A[C-1].unshift({type:\\\"loopStart\\\",loopText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.LOOP_START}),A[C-1].push({type:\\\"loopEnd\\\",loopText:A[C-2],signalType:F.LINETYPE.LOOP_END}),this.$=A[C-1];break;case 34:A[C-1].unshift({type:\\\"rectStart\\\",color:F.parseMessage(A[C-2]),signalType:F.LINETYPE.RECT_START}),A[C-1].push({type:\\\"rectEnd\\\",color:F.parseMessage(A[C-2]),signalType:F.LINETYPE.RECT_END}),this.$=A[C-1];break;case 35:A[C-1].unshift({type:\\\"optStart\\\",optText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.OPT_START}),A[C-1].push({type:\\\"optEnd\\\",optText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.OPT_END}),this.$=A[C-1];break;case 36:A[C-1].unshift({type:\\\"altStart\\\",altText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.ALT_START}),A[C-1].push({type:\\\"altEnd\\\",signalType:F.LINETYPE.ALT_END}),this.$=A[C-1];break;case 37:A[C-1].unshift({type:\\\"parStart\\\",parText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.PAR_START}),A[C-1].push({type:\\\"parEnd\\\",signalType:F.LINETYPE.PAR_END}),this.$=A[C-1];break;case 38:A[C-1].unshift({type:\\\"criticalStart\\\",criticalText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.CRITICAL_START}),A[C-1].push({type:\\\"criticalEnd\\\",signalType:F.LINETYPE.CRITICAL_END}),this.$=A[C-1];break;case 39:A[C-1].unshift({type:\\\"breakStart\\\",breakText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.BREAK_START}),A[C-1].push({type:\\\"breakEnd\\\",optText:F.parseMessage(A[C-2]),signalType:F.LINETYPE.BREAK_END}),this.$=A[C-1];break;case 42:this.$=A[C-3].concat([{type:\\\"option\\\",optionText:F.parseMessage(A[C-1]),signalType:F.LINETYPE.CRITICAL_OPTION},A[C]]);break;case 44:this.$=A[C-3].concat([{type:\\\"and\\\",parText:F.parseMessage(A[C-1]),signalType:F.LINETYPE.PAR_AND},A[C]]);break;case 46:this.$=A[C-3].concat([{type:\\\"else\\\",altText:F.parseMessage(A[C-1]),signalType:F.LINETYPE.ALT_ELSE},A[C]]);break;case 47:this.$=[A[C-1],{type:\\\"addNote\\\",placement:A[C-2],actor:A[C-1].actor,text:A[C]}];break;case 48:A[C-2]=[].concat(A[C-1],A[C-1]).slice(0,2),A[C-2][0]=A[C-2][0].actor,A[C-2][1]=A[C-2][1].actor,this.$=[A[C-1],{type:\\\"addNote\\\",placement:F.PLACEMENT.OVER,actor:A[C-2].slice(0,2),text:A[C]}];break;case 49:this.$=[A[C-1],{type:\\\"addLinks\\\",actor:A[C-1].actor,text:A[C]}];break;case 50:this.$=[A[C-1],{type:\\\"addALink\\\",actor:A[C-1].actor,text:A[C]}];break;case 51:this.$=[A[C-1],{type:\\\"addProperties\\\",actor:A[C-1].actor,text:A[C]}];break;case 52:this.$=[A[C-1],{type:\\\"addDetails\\\",actor:A[C-1].actor,text:A[C]}];break;case 55:this.$=[A[C-2],A[C]];break;case 56:this.$=A[C];break;case 57:this.$=F.PLACEMENT.LEFTOF;break;case 58:this.$=F.PLACEMENT.RIGHTOF;break;case 59:this.$=[A[C-4],A[C-1],{type:\\\"addMessage\\\",from:A[C-4].actor,to:A[C-1].actor,signalType:A[C-3],msg:A[C]},{type:\\\"activeStart\\\",signalType:F.LINETYPE.ACTIVE_START,actor:A[C-1]}];break;case 60:this.$=[A[C-4],A[C-1],{type:\\\"addMessage\\\",from:A[C-4].actor,to:A[C-1].actor,signalType:A[C-3],msg:A[C]},{type:\\\"activeEnd\\\",signalType:F.LINETYPE.ACTIVE_END,actor:A[C-4]}];break;case 61:this.$=[A[C-3],A[C-1],{type:\\\"addMessage\\\",from:A[C-3].actor,to:A[C-1].actor,signalType:A[C-2],msg:A[C]}];break;case 62:this.$={type:\\\"addParticipant\\\",actor:A[C]};break;case 63:this.$=F.LINETYPE.SOLID_OPEN;break;case 64:this.$=F.LINETYPE.DOTTED_OPEN;break;case 65:this.$=F.LINETYPE.SOLID;break;case 66:this.$=F.LINETYPE.DOTTED;break;case 67:this.$=F.LINETYPE.SOLID_CROSS;break;case 68:this.$=F.LINETYPE.DOTTED_CROSS;break;case 69:this.$=F.LINETYPE.SOLID_POINT;break;case 70:this.$=F.LINETYPE.DOTTED_POINT;break;case 71:this.$=F.parseMessage(A[C].trim().substring(1));break;case 72:F.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 73:F.parseDirective(A[C],\\\"type_directive\\\");break;case 74:A[C]=A[C].trim().replace(/'/g,'\\\"'),F.parseDirective(A[C],\\\"arg_directive\\\");break;case 75:F.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"sequence\\\");break}},table:[{3:1,4:e,5:r,6:4,7:n,11:6,79:i},{1:[3]},{3:8,4:e,5:r,6:4,7:n,11:6,79:i},{3:9,4:e,5:r,6:4,7:n,11:6,79:i},{3:10,4:e,5:r,6:4,7:n,11:6,79:i},t([1,4,5,16,20,22,25,26,32,33,34,36,38,39,41,42,43,45,47,49,53,58,59,60,61,69,79],s,{8:11}),{12:12,80:[1,13]},{80:[2,72]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,41:I,42:V,43:H,45:G,47:Y,49:W,53:N,58:D,59:w,60:v,61:M,69:m,79:i},{13:49,14:[1,50],82:Q},t([14,82],[2,73]),t(x,[2,6]),{6:41,10:52,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,41:I,42:V,43:H,45:G,47:Y,49:W,53:N,58:D,59:w,60:v,61:M,69:m,79:i},t(x,[2,8]),t(x,[2,9]),{17:53,69:m},{17:54,69:m},{5:[1,55]},{5:[1,58],23:[1,56],24:[1,57]},{17:59,69:m},{17:60,69:m},{5:[1,61]},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},t(x,[2,28]),t(x,[2,29]),{35:[1,66]},{37:[1,67]},t(x,[2,32]),{19:[1,68]},{19:[1,69]},{19:[1,70]},{19:[1,71]},{19:[1,72]},{19:[1,73]},{19:[1,74]},t(x,[2,40]),{66:75,70:[1,76],71:[1,77],72:[1,78],73:[1,79],74:[1,80],75:[1,81],76:[1,82],77:[1,83]},{54:84,56:[1,85],64:[1,86],65:[1,87]},{17:88,69:m},{17:89,69:m},{17:90,69:m},{17:91,69:m},t([5,18,63,70,71,72,73,74,75,76,77,78],[2,62]),{5:[1,92]},{15:93,81:[1,94]},{5:[2,75]},t(x,[2,7]),{5:[1,96],18:[1,95]},{5:[1,98],18:[1,97]},t(x,[2,16]),{5:[1,100],23:[1,99]},{5:[1,101]},t(x,[2,20]),{5:[1,102]},{5:[1,103]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(x,[2,26]),t(x,[2,27]),t(x,[2,30]),t(x,[2,31]),t(ct,s,{8:104}),t(ct,s,{8:105}),t(ct,s,{8:106}),t(Dt,s,{44:107,8:108}),t(kt,s,{46:109,8:110}),t(j,s,{48:111,8:112}),t(ct,s,{8:113}),{17:116,67:[1,114],68:[1,115],69:m},t(ot,[2,63]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),{17:117,69:m},{17:119,57:118,69:m},{69:[2,57]},{69:[2,58]},{55:120,78:rt},{55:122,78:rt},{55:123,78:rt},{55:124,78:rt},t(nt,[2,10]),{13:125,82:Q},{82:[2,74]},{19:[1,126]},t(x,[2,13]),{19:[1,127]},t(x,[2,15]),{5:[1,128]},t(x,[2,18]),t(x,[2,19]),t(x,[2,21]),t(x,[2,22]),{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[1,129],41:I,42:V,43:H,45:G,47:Y,49:W,53:N,58:D,59:w,60:v,61:M,69:m,79:i},{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[1,130],41:I,42:V,43:H,45:G,47:Y,49:W,53:N,58:D,59:w,60:v,61:M,69:m,79:i},{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[1,131],41:I,42:V,43:H,45:G,47:Y,49:W,53:N,58:D,59:w,60:v,61:M,69:m,79:i},{40:[1,132]},{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[2,45],41:I,42:V,43:H,45:G,47:Y,49:W,52:[1,133],53:N,58:D,59:w,60:v,61:M,69:m,79:i},{40:[1,134]},{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[2,43],41:I,42:V,43:H,45:G,47:Y,49:W,51:[1,135],53:N,58:D,59:w,60:v,61:M,69:m,79:i},{40:[1,136]},{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[2,41],41:I,42:V,43:H,45:G,47:Y,49:W,50:[1,137],53:N,58:D,59:w,60:v,61:M,69:m,79:i},{4:a,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:u,21:20,22:d,25:f,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:b,34:k,36:T,38:L,39:E,40:[1,138],41:I,42:V,43:H,45:G,47:Y,49:W,53:N,58:D,59:w,60:v,61:M,69:m,79:i},{17:139,69:m},{17:140,69:m},{55:141,78:rt},{55:142,78:rt},{55:143,78:rt},{63:[1,144],78:[2,56]},{5:[2,49]},{5:[2,71]},{5:[2,50]},{5:[2,51]},{5:[2,52]},{5:[1,145]},{5:[1,146]},{5:[1,147]},t(x,[2,17]),t(x,[2,33]),t(x,[2,34]),t(x,[2,35]),t(x,[2,36]),{19:[1,148]},t(x,[2,37]),{19:[1,149]},t(x,[2,38]),{19:[1,150]},t(x,[2,39]),{55:151,78:rt},{55:152,78:rt},{5:[2,61]},{5:[2,47]},{5:[2,48]},{17:153,69:m},t(nt,[2,11]),t(x,[2,12]),t(x,[2,14]),t(Dt,s,{8:108,44:154}),t(kt,s,{8:110,46:155}),t(j,s,{8:112,48:156}),{5:[2,59]},{5:[2,60]},{78:[2,55]},{40:[2,46]},{40:[2,44]},{40:[2,42]}],defaultActions:{7:[2,72],8:[2,1],9:[2,2],10:[2,3],51:[2,75],86:[2,57],87:[2,58],94:[2,74],120:[2,49],121:[2,71],122:[2,50],123:[2,51],124:[2,52],141:[2,61],142:[2,47],143:[2,48],151:[2,59],152:[2,60],153:[2,55],154:[2,46],155:[2,44],156:[2,42]},parseError:function(P,z){if(z.recoverable)this.trace(P);else{var X=new Error(P);throw X.hash=z,X}},parse:function(P){var z=this,X=[0],F=[],O=[null],A=[],J=this.table,C=\\\"\\\",ht=0,U=0,Yt=2,et=1,Mt=A.slice.call(arguments,1),Tt=Object.create(this.lexer),gt={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(gt.yy[Et]=this.yy[Et]);Tt.setInput(P,gt.yy),gt.yy.lexer=Tt,gt.yy.parser=this,typeof Tt.yylloc>\\\"u\\\"&&(Tt.yylloc={});var wt=Tt.yylloc;A.push(wt);var pt=Tt.options&&Tt.options.ranges;typeof gt.yy.parseError==\\\"function\\\"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function st(){var ft;return ft=F.pop()||Tt.lex()||et,typeof ft!=\\\"number\\\"&&(ft instanceof Array&&(F=ft,ft=F.pop()),ft=z.symbols_[ft]||ft),ft}for(var le,Xt,jt,Kt,Gt={},Ee,Ht,Vt,Ft;;){if(Xt=X[X.length-1],this.defaultActions[Xt]?jt=this.defaultActions[Xt]:((le===null||typeof le>\\\"u\\\")&&(le=st()),jt=J[Xt]&&J[Xt][le]),typeof jt>\\\"u\\\"||!jt.length||!jt[0]){var xt=\\\"\\\";Ft=[];for(Ee in J[Xt])this.terminals_[Ee]&&Ee>Yt&&Ft.push(\\\"'\\\"+this.terminals_[Ee]+\\\"'\\\");Tt.showPosition?xt=\\\"Parse error on line \\\"+(ht+1)+`:\\n`+Tt.showPosition()+`\\nExpecting `+Ft.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[le]||le)+\\\"'\\\":xt=\\\"Parse error on line \\\"+(ht+1)+\\\": Unexpected \\\"+(le==et?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[le]||le)+\\\"'\\\"),this.parseError(xt,{text:Tt.match,token:this.terminals_[le]||le,line:Tt.yylineno,loc:wt,expected:Ft})}if(jt[0]instanceof Array&&jt.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+Xt+\\\", token: \\\"+le);switch(jt[0]){case 1:X.push(le),O.push(Tt.yytext),A.push(Tt.yylloc),X.push(jt[1]),le=null,U=Tt.yyleng,C=Tt.yytext,ht=Tt.yylineno,wt=Tt.yylloc;break;case 2:if(Ht=this.productions_[jt[1]][1],Gt.$=O[O.length-Ht],Gt._$={first_line:A[A.length-(Ht||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(Ht||1)].first_column,last_column:A[A.length-1].last_column},pt&&(Gt._$.range=[A[A.length-(Ht||1)].range[0],A[A.length-1].range[1]]),Kt=this.performAction.apply(Gt,[C,U,ht,gt.yy,jt[1],O,A].concat(Mt)),typeof Kt\u003C\\\"u\\\")return Kt;Ht&&(X=X.slice(0,-1*Ht*2),O=O.slice(0,-1*Ht),A=A.slice(0,-1*Ht)),X.push(this.productions_[jt[1]][0]),O.push(Gt.$),A.push(Gt._$),Vt=J[X[X.length-2]][X[X.length-1]],X.push(Vt);break;case 3:return!0}}return!0}},_t=function(){var Ot={EOF:1,parseError:function(z,X){if(this.yy.parser)this.yy.parser.parseError(z,X);else throw new Error(z)},setInput:function(P,z){return this.yy=z||this.yy||{},this._input=P,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var P=this._input[0];this.yytext+=P,this.yyleng++,this.offset++,this.match+=P,this.matched+=P;var z=P.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),P},unput:function(P){var z=P.length,X=P.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=P+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var F=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),X.length-1&&(this.yylineno-=X.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:X?(X.length===F.length?this.yylloc.first_column:0)+F[F.length-X.length].length-X[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(P){this.unput(this.match.slice(P))},pastInput:function(){var P=this.matched.substr(0,this.matched.length-this.match.length);return(P.length>20?\\\"...\\\":\\\"\\\")+P.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var P=this.match;return P.length\u003C20&&(P+=this._input.substr(0,20-P.length)),(P.substr(0,20)+(P.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var P=this.pastInput(),z=new Array(P.length+1).join(\\\"-\\\");return P+this.upcomingInput()+`\\n`+z+\\\"^\\\"},test_match:function(P,z){var X,F,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),F=P[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),F&&(this.yylineno+=F.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:F?F[F.length-1].length-F[F.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+P[0].length},this.yytext+=P[0],this.match+=P[0],this.matches=P,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(P[0].length),this.matched+=P[0],X=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),X)return X;if(this._backtrack){for(var A in O)this[A]=O[A];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var P,z,X,F;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var O=this._currentRules(),A=0;A\u003CO.length;A++)if(X=this._input.match(this.rules[O[A]]),X&&(!z||X[0].length>z[0].length)){if(z=X,F=A,this.options.backtrack_lexer){if(P=this.test_match(X,O[A]),P!==!1)return P;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(P=this.test_match(z,O[F]),P!==!1?P:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var z=this.next();return z||this.lex()},begin:function(z){this.conditionStack.push(z)},popState:function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:\\\"INITIAL\\\"},pushState:function(z){this.begin(z)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(z,X,F,O){switch(F){case 0:return this.begin(\\\"open_directive\\\"),79;case 1:return this.begin(\\\"type_directive\\\"),80;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),14;case 3:return this.popState(),this.popState(),82;case 4:return 81;case 5:return 5;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:return 23;case 12:return this.begin(\\\"ID\\\"),16;case 13:return this.begin(\\\"ID\\\"),20;case 14:return X.yytext=X.yytext.trim(),this.begin(\\\"ALIAS\\\"),69;case 15:return this.popState(),this.popState(),this.begin(\\\"LINE\\\"),18;case 16:return this.popState(),this.popState(),5;case 17:return this.begin(\\\"LINE\\\"),39;case 18:return this.begin(\\\"LINE\\\"),41;case 19:return this.begin(\\\"LINE\\\"),42;case 20:return this.begin(\\\"LINE\\\"),43;case 21:return this.begin(\\\"LINE\\\"),52;case 22:return this.begin(\\\"LINE\\\"),45;case 23:return this.begin(\\\"LINE\\\"),51;case 24:return this.begin(\\\"LINE\\\"),47;case 25:return this.begin(\\\"LINE\\\"),50;case 26:return this.begin(\\\"LINE\\\"),49;case 27:return this.popState(),19;case 28:return 40;case 29:return 64;case 30:return 65;case 31:return 58;case 32:return 59;case 33:return 60;case 34:return 61;case 35:return 56;case 36:return 53;case 37:return this.begin(\\\"ID\\\"),25;case 38:return this.begin(\\\"ID\\\"),26;case 39:return 32;case 40:return 33;case 41:return this.begin(\\\"acc_title\\\"),34;case 42:return this.popState(),\\\"acc_title_value\\\";case 43:return this.begin(\\\"acc_descr\\\"),36;case 44:return this.popState(),\\\"acc_descr_value\\\";case 45:this.begin(\\\"acc_descr_multiline\\\");break;case 46:this.popState();break;case 47:return\\\"acc_descr_multiline_value\\\";case 48:return 7;case 49:return 22;case 50:return 24;case 51:return 63;case 52:return 5;case 53:return X.yytext=X.yytext.trim(),69;case 54:return 72;case 55:return 73;case 56:return 70;case 57:return 71;case 58:return 74;case 59:return 75;case 60:return 76;case 61:return 77;case 62:return 78;case 63:return 67;case 64:return 68;case 65:return 5;case 66:return\\\"INVALID\\\"}},rules:[/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:[\\\\n]+)/i,/^(?:\\\\s+)/i,/^(?:((?!\\\\n)\\\\s)+)/i,/^(?:#[^\\\\n]*)/i,/^(?:%(?!\\\\{)[^\\\\n]*)/i,/^(?:[^\\\\}]%%[^\\\\n]*)/i,/^(?:[0-9]+(?=[ \\\\n]+))/i,/^(?:participant\\\\b)/i,/^(?:actor\\\\b)/i,/^(?:[^\\\\->:\\\\n,;]+?([\\\\-]*[^\\\\->:\\\\n,;]+?)*?(?=((?!\\\\n)\\\\s)+as(?!\\\\n)\\\\s|[#\\\\n;]|$))/i,/^(?:as\\\\b)/i,/^(?:(?:))/i,/^(?:loop\\\\b)/i,/^(?:rect\\\\b)/i,/^(?:opt\\\\b)/i,/^(?:alt\\\\b)/i,/^(?:else\\\\b)/i,/^(?:par\\\\b)/i,/^(?:and\\\\b)/i,/^(?:critical\\\\b)/i,/^(?:option\\\\b)/i,/^(?:break\\\\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\\\\n;]*)/i,/^(?:end\\\\b)/i,/^(?:left of\\\\b)/i,/^(?:right of\\\\b)/i,/^(?:links\\\\b)/i,/^(?:link\\\\b)/i,/^(?:properties\\\\b)/i,/^(?:details\\\\b)/i,/^(?:over\\\\b)/i,/^(?:note\\\\b)/i,/^(?:activate\\\\b)/i,/^(?:deactivate\\\\b)/i,/^(?:title\\\\s[^#\\\\n;]+)/i,/^(?:title:\\\\s[^#\\\\n;]+)/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:sequenceDiagram\\\\b)/i,/^(?:autonumber\\\\b)/i,/^(?:off\\\\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\\\\+\\\\->:\\\\n,;]+((?!(-x|--x|-\\\\)|--\\\\)))[\\\\-]*[^\\\\+\\\\->:\\\\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\\\\)])/i,/^(?:--[\\\\)])/i,/^(?::(?:(?:no)?wrap)?[^#\\\\n;]+)/i,/^(?:\\\\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[46,47],inclusive:!1},acc_descr:{rules:[44],inclusive:!1},acc_title:{rules:[42],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,14],inclusive:!1},ALIAS:{rules:[7,8,15,16],inclusive:!1},LINE:{rules:[7,8,27],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,45,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66],inclusive:!0}}};return Ot}();ut.lexer=_t;function K(){this.yy={}}return K.prototype=ut,ut.Parser=K,new K}();id.parser=id;const qR=id,jR=t=>t.match(/^\\\\s*sequenceDiagram/)!==null;let Ko,ji={},Mn=[],Su=!1,sd;const $R=function(t,e,r){ze.parseDirective(this,t,e,r)},ad=function(t,e,r,n){const i=ji[t];i&&e===i.name&&r==null||((r==null||r.text==null)&&(r={text:e,wrap:null,type:n}),(n==null||r.text==null)&&(r={text:e,wrap:null,type:n}),ji[t]={name:e,description:r.text,wrap:r.wrap===void 0&&Na()||!!r.wrap,prevActor:Ko,links:{},properties:{},actorCnt:null,rectData:null,type:n||\\\"participant\\\"},Ko&&ji[Ko]&&(ji[Ko].nextActor=t),Ko=t)},XR=t=>{let e,r=0;for(e=0;e\u003CMn.length;e++)Mn[e].type===Qo.ACTIVE_START&&Mn[e].from.actor===t&&r++,Mn[e].type===Qo.ACTIVE_END&&Mn[e].from.actor===t&&r--;return r},KR=function(t,e,r,n){Mn.push({from:t,to:e,message:r.text,wrap:r.wrap===void 0&&Na()||!!r.wrap,answer:n})},Je=function(t,e,r={text:void 0,wrap:void 0},n){if(n===Qo.ACTIVE_END&&XR(t.actor)\u003C1){let s=new Error(\\\"Trying to inactivate an inactive participant (\\\"+t.actor+\\\")\\\");throw s.hash={text:\\\"->>-\\\",token:\\\"->>-\\\",line:\\\"1\\\",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:[\\\"'ACTIVE_PARTICIPANT'\\\"]},s}return Mn.push({from:t,to:e,message:r.text,wrap:r.wrap===void 0&&Na()||!!r.wrap,type:n}),!0},ZR=function(){return Mn},QR=function(){return ji},Zo=function(t){return ji[t]},JR=function(){return Object.keys(ji)},tF=function(){Su=!0},eF=function(){Su=!1},rF=()=>Su,nF=function(t){sd=t},Na=()=>sd!==void 0?sd:$().sequence.wrap,iF=function(){ji={},Mn=[],Su=!1,vn()},sF=function(t){const e=t.trim(),r={text:e.replace(/^:?(?:no)?wrap:/,\\\"\\\").trim(),wrap:e.match(/^:?wrap:/)!==null?!0:e.match(/^:?nowrap:/)!==null?!1:void 0};return B.debug(\\\"parseMessage:\\\",r),r},Qo={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31},aF={FILLED:0,OPEN:1},oF={LEFTOF:0,RIGHTOF:1,OVER:2},U3=function(t,e,r){r.text,r.wrap===void 0&&Na()||r.wrap;const n=[].concat(t,t);Mn.push({from:n[0],to:n[1],message:r.text,wrap:r.wrap===void 0&&Na()||!!r.wrap,type:Qo.NOTE,placement:e})},z3=function(t,e){const r=Zo(t);try{let n=yn(e.text,$());n=n.replace(/&/g,\\\"&\\\"),n=n.replace(/=/g,\\\"=\\\");const i=JSON.parse(n);od(r,i)}catch(n){B.error(\\\"error while parsing actor link text\\\",n)}},lF=function(t,e){const r=Zo(t);try{const a={};let o=yn(e.text,$());var n=o.indexOf(\\\"@\\\");o=o.replace(/&/g,\\\"&\\\"),o=o.replace(/=/g,\\\"=\\\");var i=o.slice(0,n-1).trim(),s=o.slice(n+1).trim();a[i]=s,od(r,a)}catch(a){B.error(\\\"error while parsing actor link text\\\",a)}};function od(t,e){if(t.links==null)t.links=e;else for(let r in e)t.links[r]=e[r]}const W3=function(t,e){const r=Zo(t);try{let n=yn(e.text,$());const i=JSON.parse(n);H3(r,i)}catch(n){B.error(\\\"error while parsing actor properties text\\\",n)}};function H3(t,e){if(t.properties==null)t.properties=e;else for(let r in e)t.properties[r]=e[r]}const G3=function(t,e){const r=Zo(t),n=document.getElementById(e.text);try{const i=n.innerHTML,s=JSON.parse(i);s.properties&&H3(r,s.properties),s.links&&od(r,s.links)}catch(i){B.error(\\\"error while parsing actor details text\\\",i)}},cF=function(t,e){if(t!==void 0&&t.properties!==void 0)return t.properties[e]},q3=function(t){if(Array.isArray(t))t.forEach(function(e){q3(e)});else switch(t.type){case\\\"sequenceIndex\\\":Mn.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case\\\"addParticipant\\\":ad(t.actor,t.actor,t.description,\\\"participant\\\");break;case\\\"addActor\\\":ad(t.actor,t.actor,t.description,\\\"actor\\\");break;case\\\"activeStart\\\":Je(t.actor,void 0,void 0,t.signalType);break;case\\\"activeEnd\\\":Je(t.actor,void 0,void 0,t.signalType);break;case\\\"addNote\\\":U3(t.actor,t.placement,t.text);break;case\\\"addLinks\\\":z3(t.actor,t.text);break;case\\\"addALink\\\":lF(t.actor,t.text);break;case\\\"addProperties\\\":W3(t.actor,t.text);break;case\\\"addDetails\\\":G3(t.actor,t.text);break;case\\\"addMessage\\\":Je(t.from,t.to,t.msg,t.signalType);break;case\\\"loopStart\\\":Je(void 0,void 0,t.loopText,t.signalType);break;case\\\"loopEnd\\\":Je(void 0,void 0,void 0,t.signalType);break;case\\\"rectStart\\\":Je(void 0,void 0,t.color,t.signalType);break;case\\\"rectEnd\\\":Je(void 0,void 0,void 0,t.signalType);break;case\\\"optStart\\\":Je(void 0,void 0,t.optText,t.signalType);break;case\\\"optEnd\\\":Je(void 0,void 0,void 0,t.signalType);break;case\\\"altStart\\\":Je(void 0,void 0,t.altText,t.signalType);break;case\\\"else\\\":Je(void 0,void 0,t.altText,t.signalType);break;case\\\"altEnd\\\":Je(void 0,void 0,void 0,t.signalType);break;case\\\"setAccTitle\\\":nn(t.text);break;case\\\"parStart\\\":Je(void 0,void 0,t.parText,t.signalType);break;case\\\"and\\\":Je(void 0,void 0,t.parText,t.signalType);break;case\\\"parEnd\\\":Je(void 0,void 0,void 0,t.signalType);break;case\\\"criticalStart\\\":Je(void 0,void 0,t.criticalText,t.signalType);break;case\\\"option\\\":Je(void 0,void 0,t.optionText,t.signalType);break;case\\\"criticalEnd\\\":Je(void 0,void 0,void 0,t.signalType);break;case\\\"breakStart\\\":Je(void 0,void 0,t.breakText,t.signalType);break;case\\\"breakEnd\\\":Je(void 0,void 0,void 0,t.signalType);break}},j3={addActor:ad,addMessage:KR,addSignal:Je,addLinks:z3,addDetails:G3,addProperties:W3,autoWrap:Na,setWrap:nF,enableSequenceNumbers:tF,disableSequenceNumbers:eF,showSequenceNumbers:rF,getMessages:ZR,getActors:QR,getActor:Zo,getActorKeys:JR,getActorProperty:cF,getAccTitle:kn,getDiagramTitle:di,setDiagramTitle:hi,parseDirective:$R,getConfig:()=>$().sequence,clear:iF,parseMessage:sF,LINETYPE:Qo,ARROWTYPE:aF,PLACEMENT:oF,addNote:U3,setAccTitle:nn,apply:q3,setAccDescription:wn,getAccDescription:Tn};let ld=[];const uF=t=>{ld.push(t)},$3=()=>{ld.forEach(t=>{t()}),ld=[]},Au=function(t,e){const r=t.append(\\\"rect\\\");return r.attr(\\\"x\\\",e.x),r.attr(\\\"y\\\",e.y),r.attr(\\\"fill\\\",e.fill),r.attr(\\\"stroke\\\",e.stroke),r.attr(\\\"width\\\",e.width),r.attr(\\\"height\\\",e.height),r.attr(\\\"rx\\\",e.rx),r.attr(\\\"ry\\\",e.ry),e.class!==void 0&&r.attr(\\\"class\\\",e.class),r},X3=(t,e)=>{uF(()=>{const r=document.querySelectorAll(t);r.length!==0&&(r[0].addEventListener(\\\"mouseover\\\",function(){pF(\\\"actor\\\"+e+\\\"_popup\\\")}),r[0].addEventListener(\\\"mouseout\\\",function(){gF(\\\"actor\\\"+e+\\\"_popup\\\")}))})},hF=function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const s=e.links,a=e.actorCnt,o=e.rectData;var l=\\\"none\\\";i&&(l=\\\"block !important\\\");const u=t.append(\\\"g\\\");u.attr(\\\"id\\\",\\\"actor\\\"+a+\\\"_popup\\\"),u.attr(\\\"class\\\",\\\"actorPopupMenu\\\"),u.attr(\\\"display\\\",l),X3(\\\"#actor\\\"+a+\\\"_popup\\\",a);var d=\\\"\\\";o.class!==void 0&&(d=\\\" \\\"+o.class);let f=o.width>r?o.width:r;const p=u.append(\\\"rect\\\");if(p.attr(\\\"class\\\",\\\"actorPopupMenuPanel\\\"+d),p.attr(\\\"x\\\",o.x),p.attr(\\\"y\\\",o.height),p.attr(\\\"fill\\\",o.fill),p.attr(\\\"stroke\\\",o.stroke),p.attr(\\\"width\\\",f),p.attr(\\\"height\\\",o.height),p.attr(\\\"rx\\\",o.rx),p.attr(\\\"ry\\\",o.ry),s!=null){var g=20;for(let T in s){var b=u.append(\\\"a\\\"),k=ti(s[T]);b.attr(\\\"xlink:href\\\",k),b.attr(\\\"target\\\",\\\"_blank\\\"),DF(n)(T,b,o.x+10,o.height+g,f,20,{class:\\\"actor\\\"},n),g+=30}}return p.attr(\\\"height\\\",g),{height:o.height+g,width:f}},K3=function(t,e,r,n){const i=t.append(\\\"image\\\");i.attr(\\\"x\\\",e),i.attr(\\\"y\\\",r);var s=ti(n);i.attr(\\\"xlink:href\\\",s)},Z3=function(t,e,r,n){const i=t.append(\\\"use\\\");i.attr(\\\"x\\\",e),i.attr(\\\"y\\\",r);var s=ti(n);i.attr(\\\"xlink:href\\\",\\\"#\\\"+s)},dF=function(t){return\\\"var pu = document.getElementById('\\\"+t+\\\"'); if (pu != null) { pu.style.display = 'block'; }\\\"},fF=function(t){return\\\"var pu = document.getElementById('\\\"+t+\\\"'); if (pu != null) { pu.style.display = 'none'; }\\\"},pF=function(t){var e=document.getElementById(t);e!=null&&(e.style.display=\\\"block\\\")},gF=function(t){var e=document.getElementById(t);e!=null&&(e.style.display=\\\"none\\\")},Ba=function(t,e){let r=0,n=0;const i=e.text.split(he.lineBreakRegex);let s=[],a=0,o=()=>e.y;if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case\\\"top\\\":case\\\"start\\\":o=()=>Math.round(e.y+e.textMargin);break;case\\\"middle\\\":case\\\"center\\\":o=()=>Math.round(e.y+(r+n+e.textMargin)/2);break;case\\\"bottom\\\":case\\\"end\\\":o=()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin);break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case\\\"left\\\":case\\\"start\\\":e.x=Math.round(e.x+e.textMargin),e.anchor=\\\"start\\\",e.dominantBaseline=\\\"middle\\\",e.alignmentBaseline=\\\"middle\\\";break;case\\\"middle\\\":case\\\"center\\\":e.x=Math.round(e.x+e.width/2),e.anchor=\\\"middle\\\",e.dominantBaseline=\\\"middle\\\",e.alignmentBaseline=\\\"middle\\\";break;case\\\"right\\\":case\\\"end\\\":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor=\\\"end\\\",e.dominantBaseline=\\\"middle\\\",e.alignmentBaseline=\\\"middle\\\";break}for(let[l,u]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&e.fontSize!==void 0&&(a=l*e.fontSize);const d=t.append(\\\"text\\\");if(d.attr(\\\"x\\\",e.x),d.attr(\\\"y\\\",o()),e.anchor!==void 0&&d.attr(\\\"text-anchor\\\",e.anchor).attr(\\\"dominant-baseline\\\",e.dominantBaseline).attr(\\\"alignment-baseline\\\",e.alignmentBaseline),e.fontFamily!==void 0&&d.style(\\\"font-family\\\",e.fontFamily),e.fontSize!==void 0&&d.style(\\\"font-size\\\",e.fontSize),e.fontWeight!==void 0&&d.style(\\\"font-weight\\\",e.fontWeight),e.fill!==void 0&&d.attr(\\\"fill\\\",e.fill),e.class!==void 0&&d.attr(\\\"class\\\",e.class),e.dy!==void 0?d.attr(\\\"dy\\\",e.dy):a!==0&&d.attr(\\\"dy\\\",a),e.tspan){const f=d.append(\\\"tspan\\\");f.attr(\\\"x\\\",e.x),e.fill!==void 0&&f.attr(\\\"fill\\\",e.fill),f.text(u)}else d.text(u);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(d._groups||d)[0][0].getBBox().height,r=n),s.push(d)}return s},Q3=function(t,e){function r(i,s,a,o,l){return i+\\\",\\\"+s+\\\" \\\"+(i+a)+\\\",\\\"+s+\\\" \\\"+(i+a)+\\\",\\\"+(s+o-l)+\\\" \\\"+(i+a-l*1.2)+\\\",\\\"+(s+o)+\\\" \\\"+i+\\\",\\\"+(s+o)}const n=t.append(\\\"polygon\\\");return n.attr(\\\"points\\\",r(e.x,e.y,e.width,e.height,7)),n.attr(\\\"class\\\",\\\"labelBox\\\"),e.y=e.y+e.height/2,Ba(t,e),n};let Xn=-1;const J3=(t,e)=>{!t.selectAll||t.selectAll(\\\".actor-line\\\").attr(\\\"class\\\",\\\"200\\\").attr(\\\"y2\\\",e-55)},yF=function(t,e,r){const n=e.x+e.width/2,i=t.append(\\\"g\\\");var s=i;e.y===0&&(Xn++,s.append(\\\"line\\\").attr(\\\"id\\\",\\\"actor\\\"+Xn).attr(\\\"x1\\\",n).attr(\\\"y1\\\",5).attr(\\\"x2\\\",n).attr(\\\"y2\\\",2e3).attr(\\\"class\\\",\\\"actor-line\\\").attr(\\\"stroke-width\\\",\\\"0.5px\\\").attr(\\\"stroke\\\",\\\"#999\\\"),s=i.append(\\\"g\\\"),e.actorCnt=Xn,e.links!=null&&(s.attr(\\\"id\\\",\\\"root-\\\"+Xn),X3(\\\"#root-\\\"+Xn,Xn)));const a=Lu();var o=\\\"actor\\\";e.properties!=null&&e.properties.class?o=e.properties.class:a.fill=\\\"#eaeaea\\\",a.x=e.x,a.y=e.y,a.width=e.width,a.height=e.height,a.class=o,a.rx=3,a.ry=3;const l=Au(s,a);if(e.rectData=a,e.properties!=null&&e.properties.icon){const d=e.properties.icon.trim();d.charAt(0)===\\\"@\\\"?Z3(s,a.x+a.width-20,a.y+10,d.substr(1)):K3(s,a.x+a.width-20,a.y+10,d)}t4(r)(e.description,s,a.x,a.y,a.width,a.height,{class:\\\"actor\\\"},r);let u=e.height;if(l.node){const d=l.node().getBBox();e.height=d.height,u=d.height}return u},mF=function(t,e,r){const n=e.x+e.width/2;e.y===0&&(Xn++,t.append(\\\"line\\\").attr(\\\"id\\\",\\\"actor\\\"+Xn).attr(\\\"x1\\\",n).attr(\\\"y1\\\",80).attr(\\\"x2\\\",n).attr(\\\"y2\\\",2e3).attr(\\\"class\\\",\\\"actor-line\\\").attr(\\\"stroke-width\\\",\\\"0.5px\\\").attr(\\\"stroke\\\",\\\"#999\\\"));const i=t.append(\\\"g\\\");i.attr(\\\"class\\\",\\\"actor-man\\\");const s=Lu();s.x=e.x,s.y=e.y,s.fill=\\\"#eaeaea\\\",s.width=e.width,s.height=e.height,s.class=\\\"actor\\\",s.rx=3,s.ry=3,i.append(\\\"line\\\").attr(\\\"id\\\",\\\"actor-man-torso\\\"+Xn).attr(\\\"x1\\\",n).attr(\\\"y1\\\",e.y+25).attr(\\\"x2\\\",n).attr(\\\"y2\\\",e.y+45),i.append(\\\"line\\\").attr(\\\"id\\\",\\\"actor-man-arms\\\"+Xn).attr(\\\"x1\\\",n-18).attr(\\\"y1\\\",e.y+33).attr(\\\"x2\\\",n+18).attr(\\\"y2\\\",e.y+33),i.append(\\\"line\\\").attr(\\\"x1\\\",n-18).attr(\\\"y1\\\",e.y+60).attr(\\\"x2\\\",n).attr(\\\"y2\\\",e.y+45),i.append(\\\"line\\\").attr(\\\"x1\\\",n).attr(\\\"y1\\\",e.y+45).attr(\\\"x2\\\",n+16).attr(\\\"y2\\\",e.y+60);const a=i.append(\\\"circle\\\");a.attr(\\\"cx\\\",e.x+e.width/2),a.attr(\\\"cy\\\",e.y+10),a.attr(\\\"r\\\",15),a.attr(\\\"width\\\",e.width),a.attr(\\\"height\\\",e.height);const o=i.node().getBBox();return e.height=o.height,t4(r)(e.description,i,s.x,s.y+35,s.width,s.height,{class:\\\"actor\\\"},r),e.height},bF=function(t,e,r){switch(e.type){case\\\"actor\\\":return mF(t,e,r);case\\\"participant\\\":return yF(t,e,r)}},_F=function(t){return t.append(\\\"g\\\")},xF=function(t,e,r,n,i){const s=Lu(),a=e.anchored;s.x=e.startx,s.y=e.starty,s.class=\\\"activation\\\"+i%3,s.width=e.stopx-e.startx,s.height=r-e.starty,Au(a,s)},vF=function(t,e,r,n){const{boxMargin:i,boxTextMargin:s,labelBoxHeight:a,labelBoxWidth:o,messageFontFamily:l,messageFontSize:u,messageFontWeight:d}=n,f=t.append(\\\"g\\\"),p=function(k,T,L,E){return f.append(\\\"line\\\").attr(\\\"x1\\\",k).attr(\\\"y1\\\",T).attr(\\\"x2\\\",L).attr(\\\"y2\\\",E).attr(\\\"class\\\",\\\"loopLine\\\")};p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(k){p(e.startx,k.y,e.stopx,k.y).style(\\\"stroke-dasharray\\\",\\\"3, 3\\\")});let g=cd();g.text=r,g.x=e.startx,g.y=e.starty,g.fontFamily=l,g.fontSize=u,g.fontWeight=d,g.anchor=\\\"middle\\\",g.valign=\\\"middle\\\",g.tspan=!1,g.width=o||50,g.height=a||20,g.textMargin=s,g.class=\\\"labelText\\\",Q3(f,g),g=cd(),g.text=e.title,g.x=e.startx+o/2+(e.stopx-e.startx)/2,g.y=e.starty+i+s,g.anchor=\\\"middle\\\",g.valign=\\\"middle\\\",g.textMargin=s,g.class=\\\"loopText\\\",g.fontFamily=l,g.fontSize=u,g.fontWeight=d,g.wrap=!0;let b=Ba(f,g);return e.sectionTitles!==void 0&&e.sectionTitles.forEach(function(k,T){if(k.message){g.text=k.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[T].y+i+s,g.class=\\\"loopText\\\",g.anchor=\\\"middle\\\",g.valign=\\\"middle\\\",g.tspan=!1,g.fontFamily=l,g.fontSize=u,g.fontWeight=d,g.wrap=e.wrap,b=Ba(f,g);let L=Math.round(b.map(E=>(E._groups||E)[0][0].getBBox().height).reduce((E,I)=>E+I));e.sections[T].height+=L-(i+s)}}),e.height=Math.round(e.stopy-e.starty),f},kF=function(t,e){Au(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:\\\"rect\\\"}).lower()},wF=function(t){t.append(\\\"defs\\\").append(\\\"symbol\\\").attr(\\\"id\\\",\\\"database\\\").attr(\\\"fill-rule\\\",\\\"evenodd\\\").attr(\\\"clip-rule\\\",\\\"evenodd\\\").append(\\\"path\\\").attr(\\\"transform\\\",\\\"scale(.5)\\\").attr(\\\"d\\\",\\\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\\\")},TF=function(t){t.append(\\\"defs\\\").append(\\\"symbol\\\").attr(\\\"id\\\",\\\"computer\\\").attr(\\\"width\\\",\\\"24\\\").attr(\\\"height\\\",\\\"24\\\").append(\\\"path\\\").attr(\\\"transform\\\",\\\"scale(.5)\\\").attr(\\\"d\\\",\\\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\\\")},EF=function(t){t.append(\\\"defs\\\").append(\\\"symbol\\\").attr(\\\"id\\\",\\\"clock\\\").attr(\\\"width\\\",\\\"24\\\").attr(\\\"height\\\",\\\"24\\\").append(\\\"path\\\").attr(\\\"transform\\\",\\\"scale(.5)\\\").attr(\\\"d\\\",\\\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\\\")},CF=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"arrowhead\\\").attr(\\\"refX\\\",9).attr(\\\"refY\\\",5).attr(\\\"markerUnits\\\",\\\"userSpaceOnUse\\\").attr(\\\"markerWidth\\\",12).attr(\\\"markerHeight\\\",12).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0 0 L 10 5 L 0 10 z\\\")},SF=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"filled-head\\\").attr(\\\"refX\\\",18).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 18,7 L9,13 L14,7 L9,1 Z\\\")},AF=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"sequencenumber\\\").attr(\\\"refX\\\",15).attr(\\\"refY\\\",15).attr(\\\"markerWidth\\\",60).attr(\\\"markerHeight\\\",40).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"circle\\\").attr(\\\"cx\\\",15).attr(\\\"cy\\\",15).attr(\\\"r\\\",6)},LF=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"crosshead\\\").attr(\\\"markerWidth\\\",15).attr(\\\"markerHeight\\\",8).attr(\\\"orient\\\",\\\"auto\\\").attr(\\\"refX\\\",4).attr(\\\"refY\\\",5).append(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"#000000\\\").style(\\\"stroke-dasharray\\\",\\\"0, 0\\\").attr(\\\"stroke-width\\\",\\\"1pt\\\").attr(\\\"d\\\",\\\"M 1,2 L 6,7 M 6,2 L 1,7\\\")},cd=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:\\\"#666\\\",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},Lu=function(){return{x:0,y:0,fill:\\\"#EDF2AE\\\",stroke:\\\"#666\\\",width:100,anchor:\\\"start\\\",height:100,rx:0,ry:0}},t4=function(){function t(i,s,a,o,l,u,d){const f=s.append(\\\"text\\\").attr(\\\"x\\\",a+l/2).attr(\\\"y\\\",o+u/2+5).style(\\\"text-anchor\\\",\\\"middle\\\").text(i);n(f,d)}function e(i,s,a,o,l,u,d,f){const{actorFontSize:p,actorFontFamily:g,actorFontWeight:b}=f;let k=p&&p.replace?p.replace(\\\"px\\\",\\\"\\\"):p;const T=i.split(he.lineBreakRegex);for(let L=0;L\u003CT.length;L++){const E=L*k-k*(T.length-1)/2,I=s.append(\\\"text\\\").attr(\\\"x\\\",a+l/2).attr(\\\"y\\\",o).style(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"font-size\\\",p).style(\\\"font-weight\\\",b).style(\\\"font-family\\\",g);I.append(\\\"tspan\\\").attr(\\\"x\\\",a+l/2).attr(\\\"dy\\\",E).text(T[L]),I.attr(\\\"y\\\",o+u/2).attr(\\\"dominant-baseline\\\",\\\"central\\\").attr(\\\"alignment-baseline\\\",\\\"central\\\"),n(I,d)}}function r(i,s,a,o,l,u,d,f){const p=s.append(\\\"switch\\\"),b=p.append(\\\"foreignObject\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",o).attr(\\\"width\\\",l).attr(\\\"height\\\",u).append(\\\"xhtml:div\\\").style(\\\"display\\\",\\\"table\\\").style(\\\"height\\\",\\\"100%\\\").style(\\\"width\\\",\\\"100%\\\");b.append(\\\"div\\\").style(\\\"display\\\",\\\"table-cell\\\").style(\\\"text-align\\\",\\\"center\\\").style(\\\"vertical-align\\\",\\\"middle\\\").text(i),e(i,p,a,o,l,u,d,f),n(b,d)}function n(i,s){for(const a in s)s.hasOwnProperty(a)&&i.attr(a,s[a])}return function(i){return i.textPlacement===\\\"fo\\\"?r:i.textPlacement===\\\"old\\\"?t:e}}(),DF=function(){function t(i,s,a,o,l,u,d){const f=s.append(\\\"text\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",o).style(\\\"text-anchor\\\",\\\"start\\\").text(i);n(f,d)}function e(i,s,a,o,l,u,d,f){const{actorFontSize:p,actorFontFamily:g,actorFontWeight:b}=f,k=i.split(he.lineBreakRegex);for(let T=0;T\u003Ck.length;T++){const L=T*p-p*(k.length-1)/2,E=s.append(\\\"text\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",o).style(\\\"text-anchor\\\",\\\"start\\\").style(\\\"font-size\\\",p).style(\\\"font-weight\\\",b).style(\\\"font-family\\\",g);E.append(\\\"tspan\\\").attr(\\\"x\\\",a).attr(\\\"dy\\\",L).text(k[T]),E.attr(\\\"y\\\",o+u/2).attr(\\\"dominant-baseline\\\",\\\"central\\\").attr(\\\"alignment-baseline\\\",\\\"central\\\"),n(E,d)}}function r(i,s,a,o,l,u,d,f){const p=s.append(\\\"switch\\\"),b=p.append(\\\"foreignObject\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",o).attr(\\\"width\\\",l).attr(\\\"height\\\",u).append(\\\"xhtml:div\\\").style(\\\"display\\\",\\\"table\\\").style(\\\"height\\\",\\\"100%\\\").style(\\\"width\\\",\\\"100%\\\");b.append(\\\"div\\\").style(\\\"display\\\",\\\"table-cell\\\").style(\\\"text-align\\\",\\\"center\\\").style(\\\"vertical-align\\\",\\\"middle\\\").text(i),e(i,p,a,o,l,u,d,f),n(b,d)}function n(i,s){for(const a in s)s.hasOwnProperty(a)&&i.attr(a,s[a])}return function(i){return i.textPlacement===\\\"fo\\\"?r:i.textPlacement===\\\"old\\\"?t:e}}(),je={drawRect:Au,drawText:Ba,drawLabel:Q3,drawActor:bF,drawPopup:hF,drawImage:K3,drawEmbeddedImage:Z3,anchorElement:_F,drawActivation:xF,drawLoop:vF,drawBackgroundRect:kF,insertArrowHead:CF,insertArrowFilledHead:SF,insertSequenceNumber:AF,insertArrowCrossHead:LF,insertDatabaseIcon:wF,insertComputerIcon:TF,insertClockIcon:EF,getTextObj:cd,getNoteRect:Lu,popupMenu:dF,popdownMenu:fF,fixLifeLineHeights:J3,sanitizeUrl:ti};let lt={};const Bt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},clear:function(){this.actors=[],this.loops=[],this.messages=[],this.notes=[]},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,r4($())},updateVal:function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},updateBounds:function(t,e,r,n){const i=this;let s=0;function a(o){return function(u){s++;const d=i.sequenceItems.length-s+1;i.updateVal(u,\\\"starty\\\",e-d*lt.boxMargin,Math.min),i.updateVal(u,\\\"stopy\\\",n+d*lt.boxMargin,Math.max),i.updateVal(Bt.data,\\\"startx\\\",t-d*lt.boxMargin,Math.min),i.updateVal(Bt.data,\\\"stopx\\\",r+d*lt.boxMargin,Math.max),o!==\\\"activation\\\"&&(i.updateVal(u,\\\"startx\\\",t-d*lt.boxMargin,Math.min),i.updateVal(u,\\\"stopx\\\",r+d*lt.boxMargin,Math.max),i.updateVal(Bt.data,\\\"starty\\\",e-d*lt.boxMargin,Math.min),i.updateVal(Bt.data,\\\"stopy\\\",n+d*lt.boxMargin,Math.max))}}this.sequenceItems.forEach(a()),this.activations.forEach(a(\\\"activation\\\"))},insert:function(t,e,r,n){const i=Math.min(t,r),s=Math.max(t,r),a=Math.min(e,n),o=Math.max(e,n);this.updateVal(Bt.data,\\\"startx\\\",i,Math.min),this.updateVal(Bt.data,\\\"starty\\\",a,Math.min),this.updateVal(Bt.data,\\\"stopx\\\",s,Math.max),this.updateVal(Bt.data,\\\"stopy\\\",o,Math.max),this.updateBounds(i,a,s,o)},newActivation:function(t,e,r){const n=r[t.from.actor],i=Du(t.from.actor).length||0,s=n.x+n.width/2+(i-1)*lt.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+lt.activationWidth,stopy:void 0,actor:t.from.actor,anchored:je.anchorElement(e)})},endActivation:function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Bt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},MF=function(t,e){Bt.bumpVerticalPos(lt.boxMargin),e.height=lt.boxMargin,e.starty=Bt.getVerticalPos();const r=je.getNoteRect();r.x=e.startx,r.y=e.starty,r.width=e.width||lt.width,r.class=\\\"note\\\";const n=t.append(\\\"g\\\"),i=je.drawRect(n,r),s=je.getTextObj();s.x=e.startx,s.y=e.starty,s.width=r.width,s.dy=\\\"1em\\\",s.text=e.message,s.class=\\\"noteText\\\",s.fontFamily=lt.noteFontFamily,s.fontSize=lt.noteFontSize,s.fontWeight=lt.noteFontWeight,s.anchor=lt.noteAlign,s.textMargin=lt.noteMargin,s.valign=\\\"center\\\";const a=Ba(n,s),o=Math.round(a.map(l=>(l._groups||l)[0][0].getBBox().height).reduce((l,u)=>l+u));i.attr(\\\"height\\\",o+2*lt.noteMargin),e.height+=o+2*lt.noteMargin,Bt.bumpVerticalPos(o+2*lt.noteMargin),e.stopy=e.starty+o+2*lt.noteMargin,e.stopx=e.startx+r.width,Bt.insert(e.startx,e.starty,e.stopx,e.stopy),Bt.models.addNote(e)},Ia=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),Oa=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),ud=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});function NF(t,e){Bt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,s=he.splitBreaks(i).length,a=ge.calculateTextDimensions(i,Ia(lt)),o=a.height/s;e.height+=o,Bt.bumpVerticalPos(o);let l,u=a.height-10;const d=a.width;if(r===n){l=Bt.getVerticalPos()+u,lt.rightAngles||(u+=lt.boxMargin,l=Bt.getVerticalPos()+u),u+=30;const f=Math.max(d/2,lt.width/2);Bt.insert(r-f,Bt.getVerticalPos()-10+u,n+f,Bt.getVerticalPos()+30+u)}else u+=lt.boxMargin,l=Bt.getVerticalPos()+u,Bt.insert(r,l-10,n,l);return Bt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Bt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}const BF=function(t,e,r,n){const{startx:i,stopx:s,starty:a,message:o,type:l,sequenceIndex:u,sequenceVisible:d}=e,f=ge.calculateTextDimensions(o,Ia(lt)),p=je.getTextObj();p.x=i,p.y=a+10,p.width=s-i,p.class=\\\"messageText\\\",p.dy=\\\"1em\\\",p.text=o,p.fontFamily=lt.messageFontFamily,p.fontSize=lt.messageFontSize,p.fontWeight=lt.messageFontWeight,p.anchor=lt.messageAlign,p.valign=\\\"center\\\",p.textMargin=lt.wrapPadding,p.tspan=!1,Ba(t,p);const g=f.width;let b;i===s?lt.rightAngles?b=t.append(\\\"path\\\").attr(\\\"d\\\",`M ${i},${r} H ${i+Math.max(lt.width/2,g/2)} V ${r+25} H ${i}`):b=t.append(\\\"path\\\").attr(\\\"d\\\",\\\"M \\\"+i+\\\",\\\"+r+\\\" C \\\"+(i+60)+\\\",\\\"+(r-10)+\\\" \\\"+(i+60)+\\\",\\\"+(r+30)+\\\" \\\"+i+\\\",\\\"+(r+20)):(b=t.append(\\\"line\\\"),b.attr(\\\"x1\\\",i),b.attr(\\\"y1\\\",r),b.attr(\\\"x2\\\",s),b.attr(\\\"y2\\\",r)),l===n.db.LINETYPE.DOTTED||l===n.db.LINETYPE.DOTTED_CROSS||l===n.db.LINETYPE.DOTTED_POINT||l===n.db.LINETYPE.DOTTED_OPEN?(b.style(\\\"stroke-dasharray\\\",\\\"3, 3\\\"),b.attr(\\\"class\\\",\\\"messageLine1\\\")):b.attr(\\\"class\\\",\\\"messageLine0\\\");let k=\\\"\\\";lt.arrowMarkerAbsolute&&(k=window.location.protocol+\\\"//\\\"+window.location.host+window.location.pathname+window.location.search,k=k.replace(/\\\\(/g,\\\"\\\\\\\\(\\\"),k=k.replace(/\\\\)/g,\\\"\\\\\\\\)\\\")),b.attr(\\\"stroke-width\\\",2),b.attr(\\\"stroke\\\",\\\"none\\\"),b.style(\\\"fill\\\",\\\"none\\\"),(l===n.db.LINETYPE.SOLID||l===n.db.LINETYPE.DOTTED)&&b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#arrowhead)\\\"),(l===n.db.LINETYPE.SOLID_POINT||l===n.db.LINETYPE.DOTTED_POINT)&&b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#filled-head)\\\"),(l===n.db.LINETYPE.SOLID_CROSS||l===n.db.LINETYPE.DOTTED_CROSS)&&b.attr(\\\"marker-end\\\",\\\"url(\\\"+k+\\\"#crosshead)\\\"),(d||lt.showSequenceNumbers)&&(b.attr(\\\"marker-start\\\",\\\"url(\\\"+k+\\\"#sequencenumber)\\\"),t.append(\\\"text\\\").attr(\\\"x\\\",i).attr(\\\"y\\\",r+4).attr(\\\"font-family\\\",\\\"sans-serif\\\").attr(\\\"font-size\\\",\\\"12px\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").attr(\\\"class\\\",\\\"sequenceNumber\\\").text(u))},hd=function(t,e,r,n,i,s){if(i.hideUnusedParticipants===!0){const u=new Set;s.forEach(d=>{u.add(d.from),u.add(d.to)}),r=r.filter(d=>u.has(d))}let a=0,o=0,l=0;for(const u of r){const d=e[u];d.width=d.width||lt.width,d.height=Math.max(d.height||lt.height,lt.height),d.margin=d.margin||lt.actorMargin,d.x=a+o,d.y=n;const f=je.drawActor(t,d,lt);l=Math.max(l,f),Bt.insert(d.x,n,d.x+d.width,d.height),a+=d.width,o+=d.margin,Bt.models.addActor(d)}Bt.bumpVerticalPos(l)},e4=function(t,e,r,n){let i=0,s=0;for(const a of r){const o=e[a],l=RF(o),u=je.drawPopup(t,o,l,lt,lt.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>s&&(s=u.width+o.x)}return{maxHeight:i,maxWidth:s}},r4=function(t){gr(lt,t),t.fontFamily&&(lt.actorFontFamily=lt.noteFontFamily=lt.messageFontFamily=t.fontFamily),t.fontSize&&(lt.actorFontSize=lt.noteFontSize=lt.messageFontSize=t.fontSize),t.fontWeight&&(lt.actorFontWeight=lt.noteFontWeight=lt.messageFontWeight=t.fontWeight)},Du=function(t){return Bt.activations.filter(function(e){return e.actor===t})},n4=function(t,e){const r=e[t],n=Du(t),i=n.reduce(function(a,o){return Math.min(a,o.startx)},r.x+r.width/2),s=n.reduce(function(a,o){return Math.max(a,o.stopx)},r.x+r.width/2);return[i,s]};function Kn(t,e,r,n,i){Bt.bumpVerticalPos(r);let s=n;if(e.id&&e.message&&t[e.id]){const a=t[e.id].width,o=Ia(lt);e.message=ge.wrapLabel(`[${e.message}]`,a-2*lt.wrapPadding,o),e.width=a,e.wrap=!0;const l=ge.calculateTextDimensions(e.message,o),u=Math.max(l.height,lt.labelBoxHeight);s=n+u,B.debug(`${u} - ${e.message}`)}i(e),Bt.bumpVerticalPos(s)}const IF=function(t,e,r,n){const{securityLevel:i,sequence:s}=$();lt=s;let a;i===\\\"sandbox\\\"&&(a=St(\\\"#i\\\"+e));const o=St(i===\\\"sandbox\\\"?a.nodes()[0].contentDocument.body:\\\"body\\\"),l=i===\\\"sandbox\\\"?a.nodes()[0].contentDocument:document;Bt.init(),B.debug(n.db);const u=i===\\\"sandbox\\\"?o.select(`[id=\\\"${e}\\\"]`):St(`[id=\\\"${e}\\\"]`),d=n.db.getActors(),f=n.db.getActorKeys(),p=n.db.getMessages(),g=n.db.getDiagramTitle(),b=OF(d,p,n);lt.height=FF(d,b),je.insertComputerIcon(u),je.insertDatabaseIcon(u),je.insertClockIcon(u),hd(u,d,f,0,lt,p);const k=VF(p,d,b,n);je.insertArrowHead(u),je.insertArrowCrossHead(u),je.insertArrowFilledHead(u),je.insertSequenceNumber(u);function T(v,M){const m=Bt.endActivation(v);m.starty+18>M&&(m.starty=M-6,M+=12),je.drawActivation(u,m,M,lt,Du(v.from.actor).length),Bt.insert(m.startx,M-10,m.stopx,M)}let L=1,E=1;const I=[];p.forEach(function(v){let M,m,Q;switch(v.type){case n.db.LINETYPE.NOTE:m=v.noteModel,MF(u,m);break;case n.db.LINETYPE.ACTIVE_START:Bt.newActivation(v,u,d);break;case n.db.LINETYPE.ACTIVE_END:T(v,Bt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Kn(k,v,lt.boxMargin,lt.boxMargin+lt.boxTextMargin,x=>Bt.newLoop(x));break;case n.db.LINETYPE.LOOP_END:M=Bt.endLoop(),je.drawLoop(u,M,\\\"loop\\\",lt),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos()),Bt.models.addLoop(M);break;case n.db.LINETYPE.RECT_START:Kn(k,v,lt.boxMargin,lt.boxMargin,x=>Bt.newLoop(void 0,x.message));break;case n.db.LINETYPE.RECT_END:M=Bt.endLoop(),je.drawBackgroundRect(u,M),Bt.models.addLoop(M),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Kn(k,v,lt.boxMargin,lt.boxMargin+lt.boxTextMargin,x=>Bt.newLoop(x));break;case n.db.LINETYPE.OPT_END:M=Bt.endLoop(),je.drawLoop(u,M,\\\"opt\\\",lt),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos()),Bt.models.addLoop(M);break;case n.db.LINETYPE.ALT_START:Kn(k,v,lt.boxMargin,lt.boxMargin+lt.boxTextMargin,x=>Bt.newLoop(x));break;case n.db.LINETYPE.ALT_ELSE:Kn(k,v,lt.boxMargin+lt.boxTextMargin,lt.boxMargin,x=>Bt.addSectionToLoop(x));break;case n.db.LINETYPE.ALT_END:M=Bt.endLoop(),je.drawLoop(u,M,\\\"alt\\\",lt),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos()),Bt.models.addLoop(M);break;case n.db.LINETYPE.PAR_START:Kn(k,v,lt.boxMargin,lt.boxMargin+lt.boxTextMargin,x=>Bt.newLoop(x));break;case n.db.LINETYPE.PAR_AND:Kn(k,v,lt.boxMargin+lt.boxTextMargin,lt.boxMargin,x=>Bt.addSectionToLoop(x));break;case n.db.LINETYPE.PAR_END:M=Bt.endLoop(),je.drawLoop(u,M,\\\"par\\\",lt),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos()),Bt.models.addLoop(M);break;case n.db.LINETYPE.AUTONUMBER:L=v.message.start||L,E=v.message.step||E,v.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Kn(k,v,lt.boxMargin,lt.boxMargin+lt.boxTextMargin,x=>Bt.newLoop(x));break;case n.db.LINETYPE.CRITICAL_OPTION:Kn(k,v,lt.boxMargin+lt.boxTextMargin,lt.boxMargin,x=>Bt.addSectionToLoop(x));break;case n.db.LINETYPE.CRITICAL_END:M=Bt.endLoop(),je.drawLoop(u,M,\\\"critical\\\",lt),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos()),Bt.models.addLoop(M);break;case n.db.LINETYPE.BREAK_START:Kn(k,v,lt.boxMargin,lt.boxMargin+lt.boxTextMargin,x=>Bt.newLoop(x));break;case n.db.LINETYPE.BREAK_END:M=Bt.endLoop(),je.drawLoop(u,M,\\\"break\\\",lt),Bt.bumpVerticalPos(M.stopy-Bt.getVerticalPos()),Bt.models.addLoop(M);break;default:try{Q=v.msgModel,Q.starty=Bt.getVerticalPos(),Q.sequenceIndex=L,Q.sequenceVisible=n.db.showSequenceNumbers();const x=NF(u,Q);I.push({messageModel:Q,lineStartY:x}),Bt.models.addMessage(Q)}catch(x){B.error(\\\"error while drawing message\\\",x)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT].includes(v.type)&&(L=L+E)}),I.forEach(v=>BF(u,v.messageModel,v.lineStartY,n)),lt.mirrorActors&&(Bt.bumpVerticalPos(lt.boxMargin*2),hd(u,d,f,Bt.getVerticalPos(),lt,p),Bt.bumpVerticalPos(lt.boxMargin),J3(u,Bt.getVerticalPos()));const V=e4(u,d,f,l),{bounds:H}=Bt.getBounds();B.debug(\\\"For line height fix Querying: #\\\"+e+\\\" .actor-line\\\"),hh(\\\"#\\\"+e+\\\" .actor-line\\\").attr(\\\"y2\\\",H.stopy);let Y=H.stopy-H.starty;Y\u003CV.maxHeight&&(Y=V.maxHeight);let W=Y+2*lt.diagramMarginY;lt.mirrorActors&&(W=W-lt.boxMargin+lt.bottomMarginAdj);let N=H.stopx-H.startx;N\u003CV.maxWidth&&(N=V.maxWidth);const D=N+2*lt.diagramMarginX;g&&u.append(\\\"text\\\").text(g).attr(\\\"x\\\",(H.stopx-H.startx)/2-2*lt.diagramMarginX).attr(\\\"y\\\",-25),xn(u,W,D,lt.useMaxWidth);const w=g?40:0;u.attr(\\\"viewBox\\\",H.startx-lt.diagramMarginX+\\\" -\\\"+(lt.diagramMarginY+w)+\\\" \\\"+D+\\\" \\\"+(W+w)),B.debug(\\\"models:\\\",Bt.models)};function OF(t,e,r){const n={};return e.forEach(function(i){if(t[i.to]&&t[i.from]){const s=t[i.to];if(i.placement===r.db.PLACEMENT.LEFTOF&&!s.prevActor||i.placement===r.db.PLACEMENT.RIGHTOF&&!s.nextActor)return;const a=i.placement!==void 0,o=!a,l=a?Oa(lt):Ia(lt),u=i.wrap?ge.wrapLabel(i.message,lt.width-2*lt.wrapPadding,l):i.message,f=ge.calculateTextDimensions(u,l).width+2*lt.wrapPadding;o&&i.from===s.nextActor?n[i.to]=Math.max(n[i.to]||0,f):o&&i.from===s.prevActor?n[i.from]=Math.max(n[i.from]||0,f):o&&i.from===i.to?(n[i.from]=Math.max(n[i.from]||0,f/2),n[i.to]=Math.max(n[i.to]||0,f/2)):i.placement===r.db.PLACEMENT.RIGHTOF?n[i.from]=Math.max(n[i.from]||0,f):i.placement===r.db.PLACEMENT.LEFTOF?n[s.prevActor]=Math.max(n[s.prevActor]||0,f):i.placement===r.db.PLACEMENT.OVER&&(s.prevActor&&(n[s.prevActor]=Math.max(n[s.prevActor]||0,f/2)),s.nextActor&&(n[i.from]=Math.max(n[i.from]||0,f/2)))}}),B.debug(\\\"maxMessageWidthPerActor:\\\",n),n}const RF=function(t){let e=0;const r=ud(lt);for(const n in t.links){const s=ge.calculateTextDimensions(n,r).width+2*lt.wrapPadding+2*lt.boxMargin;e\u003Cs&&(e=s)}return e};function FF(t,e){let r=0;Object.keys(t).forEach(n=>{const i=t[n];i.wrap&&(i.description=ge.wrapLabel(i.description,lt.width-2*lt.wrapPadding,ud(lt)));const s=ge.calculateTextDimensions(i.description,ud(lt));i.width=i.wrap?lt.width:Math.max(lt.width,s.width+2*lt.wrapPadding),i.height=i.wrap?Math.max(s.height,lt.height):lt.height,r=Math.max(r,i.height)});for(const n in e){const i=t[n];if(!i)continue;const s=t[i.nextActor];if(!s)continue;const o=e[n]+lt.actorMargin-i.width/2-s.width/2;i.margin=Math.max(o,lt.actorMargin)}return Math.max(r,lt.height)}const PF=function(t,e,r){const n=e[t.from].x,i=e[t.to].x,s=t.wrap&&t.message;let a=ge.calculateTextDimensions(s?ge.wrapLabel(t.message,lt.width,Oa(lt)):t.message,Oa(lt));const o={width:s?lt.width:Math.max(lt.width,a.width+2*lt.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(o.width=s?Math.max(lt.width,a.width):Math.max(e[t.from].width/2+e[t.to].width/2,a.width+2*lt.noteMargin),o.startx=n+(e[t.from].width+lt.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(o.width=Math.max(s?lt.width:e[t.from].width/2+e[t.to].width/2,a.width+2*lt.noteMargin),o.startx=n-o.width+(e[t.from].width-lt.actorMargin)/2):t.to===t.from?(a=ge.calculateTextDimensions(s?ge.wrapLabel(t.message,Math.max(lt.width,e[t.from].width),Oa(lt)):t.message,Oa(lt)),o.width=s?Math.max(lt.width,e[t.from].width):Math.max(e[t.from].width,lt.width,a.width+2*lt.noteMargin),o.startx=n+(e[t.from].width-o.width)/2):(o.width=Math.abs(n+e[t.from].width/2-(i+e[t.to].width/2))+lt.actorMargin,o.startx=n\u003Ci?n+e[t.from].width/2-lt.actorMargin/2:i+e[t.to].width/2-lt.actorMargin/2),s&&(o.message=ge.wrapLabel(t.message,o.width-2*lt.wrapPadding,Oa(lt))),B.debug(`NM:[${o.startx},${o.stopx},${o.starty},${o.stopy}:${o.width},${o.height}=${t.message}]`),o},YF=function(t,e,r){let n=!1;if([r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(n=!0),!n)return{};const i=n4(t.from,e),s=n4(t.to,e),a=i[0]\u003C=s[0]?1:0,o=i[0]\u003Cs[0]?0:1,l=[...i,...s],u=Math.abs(s[o]-i[a]);t.wrap&&t.message&&(t.message=ge.wrapLabel(t.message,Math.max(u+2*lt.wrapPadding,lt.width),Ia(lt)));const d=ge.calculateTextDimensions(t.message,Ia(lt));return{width:Math.max(t.wrap?0:d.width+2*lt.wrapPadding,u+2*lt.wrapPadding,lt.width),height:0,startx:i[a],stopx:s[o],starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,l),toBounds:Math.max.apply(null,l)}},VF=function(t,e,r,n){const i={},s=[];let a,o,l;return t.forEach(function(u){switch(u.id=ge.random({length:10}),u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:s.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(a=s.pop(),i[a.id]=a,i[u.id]=a,s.push(a));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:a=s.pop(),i[a.id]=a;break;case n.db.LINETYPE.ACTIVE_START:{const f=e[u.from?u.from.actor:u.to.actor],p=Du(u.from?u.from.actor:u.to.actor).length,g=f.x+f.width/2+(p-1)*lt.activationWidth/2,b={startx:g,stopx:g+lt.activationWidth,actor:u.from.actor,enabled:!0};Bt.activations.push(b)}break;case n.db.LINETYPE.ACTIVE_END:{const f=Bt.activations.map(p=>p.actor).lastIndexOf(u.from.actor);delete Bt.activations.splice(f,1)[0]}break}u.placement!==void 0?(o=PF(u,e,n),u.noteModel=o,s.forEach(f=>{a=f,a.from=Math.min(a.from,o.startx),a.to=Math.max(a.to,o.startx+o.width),a.width=Math.max(a.width,Math.abs(a.from-a.to))-lt.labelBoxWidth})):(l=YF(u,e,n),u.msgModel=l,l.startx&&l.stopx&&s.length>0&&s.forEach(f=>{if(a=f,l.startx===l.stopx){const p=e[u.from],g=e[u.to];a.from=Math.min(p.x-l.width/2,p.x-p.width/2,a.from),a.to=Math.max(g.x+l.width/2,g.x+p.width/2,a.to),a.width=Math.max(a.width,Math.abs(a.to-a.from))-lt.labelBoxWidth}else a.from=Math.min(l.startx,a.from),a.to=Math.max(l.stopx,a.to),a.width=Math.max(a.width,l.width)-lt.labelBoxWidth}))}),Bt.activations=[],B.debug(\\\"Loop type widths:\\\",i),i},i4={bounds:Bt,drawActors:hd,drawActorsPopup:e4,setConf:r4,draw:IF};var dd=function(){var t=function(j,ot,rt,nt){for(rt=rt||{},nt=j.length;nt--;rt[j[nt]]=ot);return rt},e=[1,2],r=[1,3],n=[1,5],i=[1,7],s=[2,5],a=[1,15],o=[1,17],l=[1,21],u=[1,22],d=[1,23],f=[1,24],p=[1,37],g=[1,25],b=[1,26],k=[1,27],T=[1,28],L=[1,29],E=[1,32],I=[1,33],V=[1,34],H=[1,35],G=[1,36],Y=[1,39],W=[1,40],N=[1,41],D=[1,42],w=[1,38],v=[1,45],M=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],m=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],Q=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],x=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],ct={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,\\\"-->\\\":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,\\\":\\\":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,\\\";\\\":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:\\\"error\\\",4:\\\"SPACE\\\",5:\\\"NL\\\",7:\\\"SD\\\",14:\\\"DESCR\\\",15:\\\"-->\\\",16:\\\"HIDE_EMPTY\\\",17:\\\"scale\\\",18:\\\"WIDTH\\\",19:\\\"COMPOSIT_STATE\\\",20:\\\"STRUCT_START\\\",21:\\\"STRUCT_STOP\\\",22:\\\"STATE_DESCR\\\",23:\\\"AS\\\",24:\\\"ID\\\",25:\\\"FORK\\\",26:\\\"JOIN\\\",27:\\\"CHOICE\\\",28:\\\"CONCURRENT\\\",29:\\\"note\\\",31:\\\"NOTE_TEXT\\\",33:\\\"acc_title\\\",34:\\\"acc_title_value\\\",35:\\\"acc_descr\\\",36:\\\"acc_descr_value\\\",37:\\\"acc_descr_multiline_value\\\",38:\\\"classDef\\\",39:\\\"CLASSDEF_ID\\\",40:\\\"CLASSDEF_STYLEOPTS\\\",41:\\\"DEFAULT\\\",42:\\\"class\\\",43:\\\"CLASSENTITY_IDS\\\",44:\\\"STYLECLASS\\\",48:\\\":\\\",50:\\\"direction_tb\\\",51:\\\"direction_bt\\\",52:\\\"direction_rl\\\",53:\\\"direction_lr\\\",55:\\\";\\\",56:\\\"EDGE_STATE\\\",57:\\\"STYLE_SEPARATOR\\\",58:\\\"left_of\\\",59:\\\"right_of\\\",60:\\\"open_directive\\\",61:\\\"type_directive\\\",62:\\\"arg_directive\\\",63:\\\"close_directive\\\"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(ot,rt,nt,ut,_t,K,Ot){var P=K.length-1;switch(_t){case 4:return ut.setRootDoc(K[P]),K[P];case 5:this.$=[];break;case 6:K[P]!=\\\"nl\\\"&&(K[P-1].push(K[P]),this.$=K[P-1]);break;case 7:case 8:this.$=K[P];break;case 9:this.$=\\\"nl\\\";break;case 12:this.$=K[P];break;case 13:const O=K[P-1];O.description=ut.trimColon(K[P]),this.$=O;break;case 14:this.$={stmt:\\\"relation\\\",state1:K[P-2],state2:K[P]};break;case 15:const A=ut.trimColon(K[P]);this.$={stmt:\\\"relation\\\",state1:K[P-3],state2:K[P-1],description:A};break;case 19:this.$={stmt:\\\"state\\\",id:K[P-3],type:\\\"default\\\",description:\\\"\\\",doc:K[P-1]};break;case 20:var z=K[P],X=K[P-2].trim();if(K[P].match(\\\":\\\")){var F=K[P].split(\\\":\\\");z=F[0],X=[X,F[1]]}this.$={stmt:\\\"state\\\",id:z,type:\\\"default\\\",description:X};break;case 21:this.$={stmt:\\\"state\\\",id:K[P-3],type:\\\"default\\\",description:K[P-5],doc:K[P-1]};break;case 22:this.$={stmt:\\\"state\\\",id:K[P],type:\\\"fork\\\"};break;case 23:this.$={stmt:\\\"state\\\",id:K[P],type:\\\"join\\\"};break;case 24:this.$={stmt:\\\"state\\\",id:K[P],type:\\\"choice\\\"};break;case 25:this.$={stmt:\\\"state\\\",id:ut.getDividerId(),type:\\\"divider\\\"};break;case 26:this.$={stmt:\\\"state\\\",id:K[P-1].trim(),note:{position:K[P-2].trim(),text:K[P].trim()}};break;case 30:this.$=K[P].trim(),ut.setAccTitle(this.$);break;case 31:case 32:this.$=K[P].trim(),ut.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:\\\"classDef\\\",id:K[P-1].trim(),classes:K[P].trim()};break;case 35:this.$={stmt:\\\"applyClass\\\",id:K[P-1].trim(),styleClass:K[P].trim()};break;case 38:ut.setDirection(\\\"TB\\\"),this.$={stmt:\\\"dir\\\",value:\\\"TB\\\"};break;case 39:ut.setDirection(\\\"BT\\\"),this.$={stmt:\\\"dir\\\",value:\\\"BT\\\"};break;case 40:ut.setDirection(\\\"RL\\\"),this.$={stmt:\\\"dir\\\",value:\\\"RL\\\"};break;case 41:ut.setDirection(\\\"LR\\\"),this.$={stmt:\\\"dir\\\",value:\\\"LR\\\"};break;case 44:case 45:this.$={stmt:\\\"state\\\",id:K[P].trim(),type:\\\"default\\\",description:\\\"\\\"};break;case 46:this.$={stmt:\\\"state\\\",id:K[P-2].trim(),classes:[K[P].trim()],type:\\\"default\\\",description:\\\"\\\"};break;case 47:this.$={stmt:\\\"state\\\",id:K[P-2].trim(),classes:[K[P].trim()],type:\\\"default\\\",description:\\\"\\\"};break;case 50:ut.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 51:ut.parseDirective(K[P],\\\"type_directive\\\");break;case 52:K[P]=K[P].trim().replace(/'/g,'\\\"'),ut.parseDirective(K[P],\\\"arg_directive\\\");break;case 53:ut.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"state\\\");break}},table:[{3:1,4:e,5:r,6:4,7:n,45:6,60:i},{1:[3]},{3:8,4:e,5:r,6:4,7:n,45:6,60:i},{3:9,4:e,5:r,6:4,7:n,45:6,60:i},{3:10,4:e,5:r,6:4,7:n,45:6,60:i},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],s,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:u,19:d,22:f,24:p,25:g,26:b,27:k,28:T,29:L,32:31,33:E,35:I,37:V,38:H,42:G,45:6,50:Y,51:W,52:N,53:D,56:w,60:i},{47:43,48:[1,44],63:v},t([48,63],[2,51]),t(M,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:l,17:u,19:d,22:f,24:p,25:g,26:b,27:k,28:T,29:L,32:31,33:E,35:I,37:V,38:H,42:G,45:6,50:Y,51:W,52:N,53:D,56:w,60:i},t(M,[2,8]),t(M,[2,9]),t(M,[2,10]),t(M,[2,11]),t(M,[2,12],{14:[1,47],15:[1,48]}),t(M,[2,16]),{18:[1,49]},t(M,[2,18],{20:[1,50]}),{23:[1,51]},t(M,[2,22]),t(M,[2,23]),t(M,[2,24]),t(M,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(M,[2,28]),t(M,[2,29]),{34:[1,56]},{36:[1,57]},t(M,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(m,[2,44],{57:[1,61]}),t(m,[2,45],{57:[1,62]}),t(M,[2,38]),t(M,[2,39]),t(M,[2,40]),t(M,[2,41]),t(Q,[2,36]),{49:63,62:[1,64]},t(Q,[2,53]),t(M,[2,7]),t(M,[2,13]),{13:65,24:p,56:w},t(M,[2,17]),t(x,s,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(M,[2,30]),t(M,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:v},{63:[2,52]},t(M,[2,14],{14:[1,76]}),{4:a,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:u,19:d,21:[1,77],22:f,24:p,25:g,26:b,27:k,28:T,29:L,32:31,33:E,35:I,37:V,38:H,42:G,45:6,50:Y,51:W,52:N,53:D,56:w,60:i},t(M,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(M,[2,33]),t(M,[2,34]),t(M,[2,35]),t(m,[2,46]),t(m,[2,47]),t(Q,[2,37]),t(M,[2,15]),t(M,[2,19]),t(x,s,{8:81}),t(M,[2,26]),t(M,[2,27]),{4:a,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:u,19:d,21:[1,82],22:f,24:p,25:g,26:b,27:k,28:T,29:L,32:31,33:E,35:I,37:V,38:H,42:G,45:6,50:Y,51:W,52:N,53:D,56:w,60:i},t(M,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(ot,rt){if(rt.recoverable)this.trace(ot);else{var nt=new Error(ot);throw nt.hash=rt,nt}},parse:function(ot){var rt=this,nt=[0],ut=[],_t=[null],K=[],Ot=this.table,P=\\\"\\\",z=0,X=0,F=2,O=1,A=K.slice.call(arguments,1),J=Object.create(this.lexer),C={yy:{}};for(var ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ht)&&(C.yy[ht]=this.yy[ht]);J.setInput(ot,C.yy),C.yy.lexer=J,C.yy.parser=this,typeof J.yylloc>\\\"u\\\"&&(J.yylloc={});var U=J.yylloc;K.push(U);var Yt=J.options&&J.options.ranges;typeof C.yy.parseError==\\\"function\\\"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(){var Kt;return Kt=ut.pop()||J.lex()||O,typeof Kt!=\\\"number\\\"&&(Kt instanceof Array&&(ut=Kt,Kt=ut.pop()),Kt=rt.symbols_[Kt]||Kt),Kt}for(var Mt,Tt,gt,Et,wt={},pt,st,le,Xt;;){if(Tt=nt[nt.length-1],this.defaultActions[Tt]?gt=this.defaultActions[Tt]:((Mt===null||typeof Mt>\\\"u\\\")&&(Mt=et()),gt=Ot[Tt]&&Ot[Tt][Mt]),typeof gt>\\\"u\\\"||!gt.length||!gt[0]){var jt=\\\"\\\";Xt=[];for(pt in Ot[Tt])this.terminals_[pt]&&pt>F&&Xt.push(\\\"'\\\"+this.terminals_[pt]+\\\"'\\\");J.showPosition?jt=\\\"Parse error on line \\\"+(z+1)+`:\\n`+J.showPosition()+`\\nExpecting `+Xt.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[Mt]||Mt)+\\\"'\\\":jt=\\\"Parse error on line \\\"+(z+1)+\\\": Unexpected \\\"+(Mt==O?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[Mt]||Mt)+\\\"'\\\"),this.parseError(jt,{text:J.match,token:this.terminals_[Mt]||Mt,line:J.yylineno,loc:U,expected:Xt})}if(gt[0]instanceof Array&>.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+Tt+\\\", token: \\\"+Mt);switch(gt[0]){case 1:nt.push(Mt),_t.push(J.yytext),K.push(J.yylloc),nt.push(gt[1]),Mt=null,X=J.yyleng,P=J.yytext,z=J.yylineno,U=J.yylloc;break;case 2:if(st=this.productions_[gt[1]][1],wt.$=_t[_t.length-st],wt._$={first_line:K[K.length-(st||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(st||1)].first_column,last_column:K[K.length-1].last_column},Yt&&(wt._$.range=[K[K.length-(st||1)].range[0],K[K.length-1].range[1]]),Et=this.performAction.apply(wt,[P,X,z,C.yy,gt[1],_t,K].concat(A)),typeof Et\u003C\\\"u\\\")return Et;st&&(nt=nt.slice(0,-1*st*2),_t=_t.slice(0,-1*st),K=K.slice(0,-1*st)),nt.push(this.productions_[gt[1]][0]),_t.push(wt.$),K.push(wt._$),le=Ot[nt[nt.length-2]][nt[nt.length-1]],nt.push(le);break;case 3:return!0}}return!0}},Dt=function(){var j={EOF:1,parseError:function(rt,nt){if(this.yy.parser)this.yy.parser.parseError(rt,nt);else throw new Error(rt)},setInput:function(ot,rt){return this.yy=rt||this.yy||{},this._input=ot,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ot=this._input[0];this.yytext+=ot,this.yyleng++,this.offset++,this.match+=ot,this.matched+=ot;var rt=ot.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return rt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ot},unput:function(ot){var rt=ot.length,nt=ot.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=ot+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-rt),this.offset-=rt;var ut=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),nt.length-1&&(this.yylineno-=nt.length-1);var _t=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:nt?(nt.length===ut.length?this.yylloc.first_column:0)+ut[ut.length-nt.length].length-nt[0].length:this.yylloc.first_column-rt},this.options.ranges&&(this.yylloc.range=[_t[0],_t[0]+this.yyleng-rt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(ot){this.unput(this.match.slice(ot))},pastInput:function(){var ot=this.matched.substr(0,this.matched.length-this.match.length);return(ot.length>20?\\\"...\\\":\\\"\\\")+ot.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var ot=this.match;return ot.length\u003C20&&(ot+=this._input.substr(0,20-ot.length)),(ot.substr(0,20)+(ot.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var ot=this.pastInput(),rt=new Array(ot.length+1).join(\\\"-\\\");return ot+this.upcomingInput()+`\\n`+rt+\\\"^\\\"},test_match:function(ot,rt){var nt,ut,_t;if(this.options.backtrack_lexer&&(_t={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(_t.yylloc.range=this.yylloc.range.slice(0))),ut=ot[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),ut&&(this.yylineno+=ut.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ut?ut[ut.length-1].length-ut[ut.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+ot[0].length},this.yytext+=ot[0],this.match+=ot[0],this.matches=ot,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ot[0].length),this.matched+=ot[0],nt=this.performAction.call(this,this.yy,this,rt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),nt)return nt;if(this._backtrack){for(var K in _t)this[K]=_t[K];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ot,rt,nt,ut;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var _t=this._currentRules(),K=0;K\u003C_t.length;K++)if(nt=this._input.match(this.rules[_t[K]]),nt&&(!rt||nt[0].length>rt[0].length)){if(rt=nt,ut=K,this.options.backtrack_lexer){if(ot=this.test_match(nt,_t[K]),ot!==!1)return ot;if(this._backtrack){rt=!1;continue}else return!1}else if(!this.options.flex)break}return rt?(ot=this.test_match(rt,_t[ut]),ot!==!1?ot:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var rt=this.next();return rt||this.lex()},begin:function(rt){this.conditionStack.push(rt)},popState:function(){var rt=this.conditionStack.length-1;return rt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(rt){return rt=this.conditionStack.length-1-Math.abs(rt||0),rt>=0?this.conditionStack[rt]:\\\"INITIAL\\\"},pushState:function(rt){this.begin(rt)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(rt,nt,ut,_t){switch(ut){case 0:return 41;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return this.begin(\\\"open_directive\\\"),60;case 6:return this.begin(\\\"type_directive\\\"),61;case 7:return this.popState(),this.begin(\\\"arg_directive\\\"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:break;case 11:break;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:break;case 17:return this.pushState(\\\"SCALE\\\"),17;case 18:return 18;case 19:this.popState();break;case 20:return this.begin(\\\"acc_title\\\"),33;case 21:return this.popState(),\\\"acc_title_value\\\";case 22:return this.begin(\\\"acc_descr\\\"),35;case 23:return this.popState(),\\\"acc_descr_value\\\";case 24:this.begin(\\\"acc_descr_multiline\\\");break;case 25:this.popState();break;case 26:return\\\"acc_descr_multiline_value\\\";case 27:return this.pushState(\\\"CLASSDEF\\\"),38;case 28:return this.popState(),this.pushState(\\\"CLASSDEFID\\\"),\\\"DEFAULT_CLASSDEF_ID\\\";case 29:return this.popState(),this.pushState(\\\"CLASSDEFID\\\"),39;case 30:return this.popState(),40;case 31:return this.pushState(\\\"CLASS\\\"),42;case 32:return this.popState(),this.pushState(\\\"CLASS_STYLE\\\"),43;case 33:return this.popState(),44;case 34:return this.pushState(\\\"SCALE\\\"),17;case 35:return 18;case 36:this.popState();break;case 37:this.pushState(\\\"STATE\\\");break;case 38:return this.popState(),nt.yytext=nt.yytext.slice(0,-8).trim(),25;case 39:return this.popState(),nt.yytext=nt.yytext.slice(0,-8).trim(),26;case 40:return this.popState(),nt.yytext=nt.yytext.slice(0,-10).trim(),27;case 41:return this.popState(),nt.yytext=nt.yytext.slice(0,-8).trim(),25;case 42:return this.popState(),nt.yytext=nt.yytext.slice(0,-8).trim(),26;case 43:return this.popState(),nt.yytext=nt.yytext.slice(0,-10).trim(),27;case 44:return 50;case 45:return 51;case 46:return 52;case 47:return 53;case 48:this.begin(\\\"STATE_STRING\\\");break;case 49:return this.popState(),this.pushState(\\\"STATE_ID\\\"),\\\"AS\\\";case 50:return this.popState(),\\\"ID\\\";case 51:this.popState();break;case 52:return\\\"STATE_DESCR\\\";case 53:return 19;case 54:this.popState();break;case 55:return this.popState(),this.pushState(\\\"struct\\\"),20;case 56:break;case 57:return this.popState(),21;case 58:break;case 59:return this.begin(\\\"NOTE\\\"),29;case 60:return this.popState(),this.pushState(\\\"NOTE_ID\\\"),58;case 61:return this.popState(),this.pushState(\\\"NOTE_ID\\\"),59;case 62:this.popState(),this.pushState(\\\"FLOATING_NOTE\\\");break;case 63:return this.popState(),this.pushState(\\\"FLOATING_NOTE_ID\\\"),\\\"AS\\\";case 64:break;case 65:return\\\"NOTE_TEXT\\\";case 66:return this.popState(),\\\"ID\\\";case 67:return this.popState(),this.pushState(\\\"NOTE_TEXT\\\"),24;case 68:return this.popState(),nt.yytext=nt.yytext.substr(2).trim(),31;case 69:return this.popState(),nt.yytext=nt.yytext.slice(0,-8).trim(),31;case 70:return 7;case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return nt.yytext=nt.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 79:return 5;case 80:return\\\"INVALID\\\"}},rules:[/^(?:default\\\\b)/i,/^(?:.*direction\\\\s+TB[^\\\\n]*)/i,/^(?:.*direction\\\\s+BT[^\\\\n]*)/i,/^(?:.*direction\\\\s+RL[^\\\\n]*)/i,/^(?:.*direction\\\\s+LR[^\\\\n]*)/i,/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:%%(?!\\\\{)[^\\\\n]*)/i,/^(?:[^\\\\}]%%[^\\\\n]*)/i,/^(?:[\\\\n]+)/i,/^(?:[\\\\s]+)/i,/^(?:((?!\\\\n)\\\\s)+)/i,/^(?:#[^\\\\n]*)/i,/^(?:%[^\\\\n]*)/i,/^(?:scale\\\\s+)/i,/^(?:\\\\d+)/i,/^(?:\\\\s+width\\\\b)/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:classDef\\\\s+)/i,/^(?:DEFAULT\\\\s+)/i,/^(?:\\\\w+\\\\s+)/i,/^(?:[^\\\\n]*)/i,/^(?:class\\\\s+)/i,/^(?:(\\\\w+)+((,\\\\s*\\\\w+)*))/i,/^(?:[^\\\\n]*)/i,/^(?:scale\\\\s+)/i,/^(?:\\\\d+)/i,/^(?:\\\\s+width\\\\b)/i,/^(?:state\\\\s+)/i,/^(?:.*\u003C\u003Cfork>>)/i,/^(?:.*\u003C\u003Cjoin>>)/i,/^(?:.*\u003C\u003Cchoice>>)/i,/^(?:.*\\\\[\\\\[fork\\\\]\\\\])/i,/^(?:.*\\\\[\\\\[join\\\\]\\\\])/i,/^(?:.*\\\\[\\\\[choice\\\\]\\\\])/i,/^(?:.*direction\\\\s+TB[^\\\\n]*)/i,/^(?:.*direction\\\\s+BT[^\\\\n]*)/i,/^(?:.*direction\\\\s+RL[^\\\\n]*)/i,/^(?:.*direction\\\\s+LR[^\\\\n]*)/i,/^(?:[\\\"])/i,/^(?:\\\\s*as\\\\s+)/i,/^(?:[^\\\\n\\\\{]*)/i,/^(?:[\\\"])/i,/^(?:[^\\\"]*)/i,/^(?:[^\\\\n\\\\s\\\\{]+)/i,/^(?:\\\\n)/i,/^(?:\\\\{)/i,/^(?:%%(?!\\\\{)[^\\\\n]*)/i,/^(?:\\\\})/i,/^(?:[\\\\n])/i,/^(?:note\\\\s+)/i,/^(?:left of\\\\b)/i,/^(?:right of\\\\b)/i,/^(?:\\\")/i,/^(?:\\\\s*as\\\\s*)/i,/^(?:[\\\"])/i,/^(?:[^\\\"]*)/i,/^(?:[^\\\\n]*)/i,/^(?:\\\\s*[^:\\\\n\\\\s\\\\-]+)/i,/^(?:\\\\s*:[^:\\\\n;]+)/i,/^(?:[\\\\s\\\\S]*?end note\\\\b)/i,/^(?:stateDiagram\\\\s+)/i,/^(?:stateDiagram-v2\\\\s+)/i,/^(?:hide empty description\\\\b)/i,/^(?:\\\\[\\\\*\\\\])/i,/^(?:[^:\\\\n\\\\s\\\\-\\\\{]+)/i,/^(?:\\\\s*:[^:\\\\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};return j}();ct.lexer=Dt;function kt(){this.yy={}}return kt.prototype=ct,ct.Parser=kt,new kt}();dd.parser=dd;const s4=dd,UF=(t,e)=>{var r;return((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)===\\\"dagre-wrapper\\\"?!1:t.match(/^\\\\s*stateDiagram/)!==null},zF=(t,e)=>{var r;return!!(t.match(/^\\\\s*stateDiagram-v2/)!==null||t.match(/^\\\\s*stateDiagram/)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)===\\\"dagre-wrapper\\\")},a4=\\\"LR\\\",WF=\\\"TB\\\",Mu=\\\"state\\\",fd=\\\"relation\\\",HF=\\\"classDef\\\",GF=\\\"applyClass\\\",Jo=\\\"default\\\",o4=\\\"divider\\\",pd=\\\"[*]\\\",l4=\\\"start\\\",c4=pd,u4=\\\"end\\\",h4=\\\"color\\\",d4=\\\"fill\\\",qF=\\\"bgFill\\\",jF=\\\",\\\";function f4(){return{}}let p4=a4,Nu=[],tl=f4();const g4=()=>({relations:[],states:{},documents:{}});let Bu={root:g4()},Cr=Bu.root,el=0,y4=0;const $F={LINE:0,DOTTED_LINE:1},XF={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Iu=t=>JSON.parse(JSON.stringify(t)),KF=function(t,e,r){ze.parseDirective(this,t,e,r)},ZF=t=>{B.info(\\\"Setting root doc\\\",t),Nu=t},QF=()=>Nu,Ou=(t,e,r)=>{if(e.stmt===fd)Ou(t,e.state1,!0),Ou(t,e.state2,!1);else if(e.stmt===Mu&&e.id===\\\"[*]\\\"&&(e.id=r?t.id+\\\"_start\\\":t.id+\\\"_end\\\",e.start=r),e.doc){const n=[];let i=[],s;for(s=0;s\u003Ce.doc.length;s++)if(e.doc[s].type===o4){const a=Iu(e.doc[s]);a.doc=Iu(i),n.push(a),i=[]}else i.push(e.doc[s]);if(n.length>0&&i.length>0){const a={stmt:Mu,id:Rp(),type:\\\"divider\\\",doc:Iu(i)};n.push(Iu(a)),e.doc=n}e.doc.forEach(a=>Ou(e,a,!0))}},JF=()=>(Ou({id:\\\"root\\\"},{id:\\\"root\\\",doc:Nu},!0),{id:\\\"root\\\",doc:Nu}),tP=t=>{let e;t.doc?e=t.doc:e=t,B.info(e),m4(!0),B.info(\\\"Extract\\\",e),e.forEach(r=>{switch(r.stmt){case Mu:Ms(r.id,r.type,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles);break;case fd:b4(r.state1,r.state2,r.description);break;case HF:_4(r.id,r.classes);break;case GF:bd(r.id,r.styleClass);break}})},Ms=function(t,e=Jo,r=null,n=null,i=null,s=null,a=null,o=null){Cr.states[t]===void 0?(B.info(\\\"Adding state \\\",t,n),Cr.states[t]={id:t,descriptions:[],type:e,doc:r,note:i,classes:[],styles:[],textStyles:[]}):(Cr.states[t].doc||(Cr.states[t].doc=r),Cr.states[t].type||(Cr.states[t].type=e)),n&&(B.info(\\\"Setting state description\\\",t,n),typeof n==\\\"string\\\"&&md(t,n.trim()),typeof n==\\\"object\\\"&&n.forEach(l=>md(t,l.trim()))),i&&(Cr.states[t].note=i,Cr.states[t].note.text=he.sanitizeText(Cr.states[t].note.text,$())),s&&(B.info(\\\"Setting state classes\\\",t,s),(typeof s==\\\"string\\\"?[s]:s).forEach(u=>bd(t,u.trim()))),a&&(B.info(\\\"Setting state styles\\\",t,a),(typeof a==\\\"string\\\"?[a]:a).forEach(u=>uP(t,u.trim()))),o&&(B.info(\\\"Setting state styles\\\",t,a),(typeof o==\\\"string\\\"?[o]:o).forEach(u=>hP(t,u.trim())))},m4=function(t){Bu={root:g4()},Cr=Bu.root,el=0,tl=f4(),t||vn()},rl=function(t){return Cr.states[t]},eP=function(){return Cr.states},rP=function(){B.info(\\\"Documents = \\\",Bu)},nP=function(){return Cr.relations};function gd(t=\\\"\\\"){let e=t;return t===pd&&(el++,e=`${l4}${el}`),e}function yd(t=\\\"\\\",e=Jo){return t===pd?l4:e}function iP(t=\\\"\\\"){let e=t;return t===c4&&(el++,e=`${u4}${el}`),e}function sP(t=\\\"\\\",e=Jo){return t===c4?u4:e}function aP(t,e,r){let n=gd(t.id),i=yd(t.id,t.type),s=gd(e.id),a=yd(e.id,e.type);Ms(n,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),Ms(s,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),Cr.relations.push({id1:n,id2:s,relationTitle:he.sanitizeText(r,$())})}const b4=function(t,e,r){if(typeof t==\\\"object\\\")aP(t,e,r);else{const n=gd(t),i=yd(t),s=iP(e),a=sP(e);Ms(n,i),Ms(s,a),Cr.relations.push({id1:n,id2:s,title:he.sanitizeText(r,$())})}},md=function(t,e){const r=Cr.states[t],n=e.startsWith(\\\":\\\")?e.replace(\\\":\\\",\\\"\\\").trim():e;r.descriptions.push(he.sanitizeText(n,$()))},oP=function(t){return t.substring(0,1)===\\\":\\\"?t.substr(2).trim():t.trim()},lP=()=>(y4++,\\\"divider-id-\\\"+y4),_4=function(t,e=\\\"\\\"){tl[t]===void 0&&(tl[t]={id:t,styles:[],textStyles:[]});const r=tl[t];e!=null&&e.split(jF).forEach(n=>{const i=n.replace(/([^;]*);/,\\\"$1\\\").trim();if(n.match(h4)){const a=i.replace(d4,qF).replace(h4,d4);r.textStyles.push(a)}r.styles.push(i)})},cP=function(){return tl},bd=function(t,e){t.split(\\\",\\\").forEach(function(r){let n=rl(r);if(n===void 0){const i=r.trim();Ms(i),n=rl(i)}n.classes.push(e)})},uP=function(t,e){const r=rl(t);r!==void 0&&r.textStyles.push(e)},hP=function(t,e){const r=rl(t);r!==void 0&&r.textStyles.push(e)},Ci={parseDirective:KF,getConfig:()=>$().state,addState:Ms,clear:m4,getState:rl,getStates:eP,getRelations:nP,getClasses:cP,getDirection:()=>p4,addRelation:b4,getDividerId:lP,setDirection:t=>{p4=t},cleanupLabel:oP,lineType:$F,relationType:XF,logDocuments:rP,getRootDoc:QF,setRootDoc:ZF,getRootDocV2:JF,extract:tP,trimColon:t=>t&&t[0]===\\\":\\\"?t.substr(1).trim():t.trim(),getAccTitle:kn,setAccTitle:nn,getAccDescription:Tn,setAccDescription:wn,addStyleClass:_4,setCssClass:bd,addDescription:md,setDiagramTitle:hi,getDiagramTitle:di},_d={},dP=(t,e)=>{_d[t]=e},fP=t=>_d[t],x4=()=>Object.keys(_d),pP={get:fP,set:dP,keys:x4,size:()=>x4().length},gP=t=>t.append(\\\"circle\\\").attr(\\\"class\\\",\\\"start-state\\\").attr(\\\"r\\\",$().state.sizeUnit).attr(\\\"cx\\\",$().state.padding+$().state.sizeUnit).attr(\\\"cy\\\",$().state.padding+$().state.sizeUnit),yP=t=>t.append(\\\"line\\\").style(\\\"stroke\\\",\\\"grey\\\").style(\\\"stroke-dasharray\\\",\\\"3\\\").attr(\\\"x1\\\",$().state.textHeight).attr(\\\"class\\\",\\\"divider\\\").attr(\\\"x2\\\",$().state.textHeight*2).attr(\\\"y1\\\",0).attr(\\\"y2\\\",0),mP=(t,e)=>{const r=t.append(\\\"text\\\").attr(\\\"x\\\",2*$().state.padding).attr(\\\"y\\\",$().state.textHeight+2*$().state.padding).attr(\\\"font-size\\\",$().state.fontSize).attr(\\\"class\\\",\\\"state-title\\\").text(e.id),n=r.node().getBBox();return t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",$().state.padding).attr(\\\"y\\\",$().state.padding).attr(\\\"width\\\",n.width+2*$().state.padding).attr(\\\"height\\\",n.height+2*$().state.padding).attr(\\\"rx\\\",$().state.radius),r},bP=(t,e)=>{const r=function(p,g,b){const k=p.append(\\\"tspan\\\").attr(\\\"x\\\",2*$().state.padding).text(g);b||k.attr(\\\"dy\\\",$().state.textHeight)},i=t.append(\\\"text\\\").attr(\\\"x\\\",2*$().state.padding).attr(\\\"y\\\",$().state.textHeight+1.3*$().state.padding).attr(\\\"font-size\\\",$().state.fontSize).attr(\\\"class\\\",\\\"state-title\\\").text(e.descriptions[0]).node().getBBox(),s=i.height,a=t.append(\\\"text\\\").attr(\\\"x\\\",$().state.padding).attr(\\\"y\\\",s+$().state.padding*.4+$().state.dividerMargin+$().state.textHeight).attr(\\\"class\\\",\\\"state-description\\\");let o=!0,l=!0;e.descriptions.forEach(function(p){o||(r(a,p,l),l=!1),o=!1});const u=t.append(\\\"line\\\").attr(\\\"x1\\\",$().state.padding).attr(\\\"y1\\\",$().state.padding+s+$().state.dividerMargin/2).attr(\\\"y2\\\",$().state.padding+s+$().state.dividerMargin/2).attr(\\\"class\\\",\\\"descr-divider\\\"),d=a.node().getBBox(),f=Math.max(d.width,i.width);return u.attr(\\\"x2\\\",f+3*$().state.padding),t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",$().state.padding).attr(\\\"y\\\",$().state.padding).attr(\\\"width\\\",f+2*$().state.padding).attr(\\\"height\\\",d.height+s+2*$().state.padding).attr(\\\"rx\\\",$().state.radius),t},_P=(t,e,r)=>{const n=$().state.padding,i=2*$().state.padding,s=t.node().getBBox(),a=s.width,o=s.x,l=t.append(\\\"text\\\").attr(\\\"x\\\",0).attr(\\\"y\\\",$().state.titleShift).attr(\\\"font-size\\\",$().state.fontSize).attr(\\\"class\\\",\\\"state-title\\\").text(e.id),d=l.node().getBBox().width+i;let f=Math.max(d,a);f===a&&(f=f+i);let p;const g=t.node().getBBox();e.doc,p=o-n,d>a&&(p=(a-f)/2+n),Math.abs(o-g.x)\u003Cn&&d>a&&(p=o-(d-a)/2);const b=1-$().state.textHeight;return t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",p).attr(\\\"y\\\",b).attr(\\\"class\\\",r?\\\"alt-composit\\\":\\\"composit\\\").attr(\\\"width\\\",f).attr(\\\"height\\\",g.height+$().state.textHeight+$().state.titleShift+1).attr(\\\"rx\\\",\\\"0\\\"),l.attr(\\\"x\\\",p+n),d\u003C=a&&l.attr(\\\"x\\\",o+(f-i)/2-d/2+n),t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",p).attr(\\\"y\\\",$().state.titleShift-$().state.textHeight-$().state.padding).attr(\\\"width\\\",f).attr(\\\"height\\\",$().state.textHeight*3).attr(\\\"rx\\\",$().state.radius),t.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"x\\\",p).attr(\\\"y\\\",$().state.titleShift-$().state.textHeight-$().state.padding).attr(\\\"width\\\",f).attr(\\\"height\\\",g.height+3+2*$().state.textHeight).attr(\\\"rx\\\",$().state.radius),t},xP=t=>(t.append(\\\"circle\\\").attr(\\\"class\\\",\\\"end-state-outer\\\").attr(\\\"r\\\",$().state.sizeUnit+$().state.miniPadding).attr(\\\"cx\\\",$().state.padding+$().state.sizeUnit+$().state.miniPadding).attr(\\\"cy\\\",$().state.padding+$().state.sizeUnit+$().state.miniPadding),t.append(\\\"circle\\\").attr(\\\"class\\\",\\\"end-state-inner\\\").attr(\\\"r\\\",$().state.sizeUnit).attr(\\\"cx\\\",$().state.padding+$().state.sizeUnit+2).attr(\\\"cy\\\",$().state.padding+$().state.sizeUnit+2)),vP=(t,e)=>{let r=$().state.forkWidth,n=$().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append(\\\"rect\\\").style(\\\"stroke\\\",\\\"black\\\").style(\\\"fill\\\",\\\"black\\\").attr(\\\"width\\\",r).attr(\\\"height\\\",n).attr(\\\"x\\\",$().state.padding).attr(\\\"y\\\",$().state.padding)},kP=(t,e,r,n)=>{let i=0;const s=n.append(\\\"text\\\");s.style(\\\"text-anchor\\\",\\\"start\\\"),s.attr(\\\"class\\\",\\\"noteText\\\");let a=t.replace(/\\\\r\\\\n/g,\\\"\u003Cbr/>\\\");a=a.replace(/\\\\n/g,\\\"\u003Cbr/>\\\");const o=a.split(he.lineBreakRegex);let l=1.25*$().state.noteMargin;for(const u of o){const d=u.trim();if(d.length>0){const f=s.append(\\\"tspan\\\");if(f.text(d),l===0){const p=f.node().getBBox();l+=p.height}i+=l,f.attr(\\\"x\\\",e+$().state.noteMargin),f.attr(\\\"y\\\",r+i+1.25*$().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:i}},wP=(t,e)=>{e.attr(\\\"class\\\",\\\"state-note\\\");const r=e.append(\\\"rect\\\").attr(\\\"x\\\",0).attr(\\\"y\\\",$().state.padding),n=e.append(\\\"g\\\"),{textWidth:i,textHeight:s}=kP(t,0,0,n);return r.attr(\\\"height\\\",s+2*$().state.noteMargin),r.attr(\\\"width\\\",i+$().state.noteMargin*2),r},v4=function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append(\\\"g\\\").attr(\\\"id\\\",r).attr(\\\"class\\\",\\\"stateGroup\\\");e.type===\\\"start\\\"&&gP(i),e.type===\\\"end\\\"&&xP(i),(e.type===\\\"fork\\\"||e.type===\\\"join\\\")&&vP(i,e),e.type===\\\"note\\\"&&wP(e.note.text,i),e.type===\\\"divider\\\"&&yP(i),e.type===\\\"default\\\"&&e.descriptions.length===0&&mP(i,e),e.type===\\\"default\\\"&&e.descriptions.length>0&&bP(i,e);const s=i.node().getBBox();return n.width=s.width+2*$().state.padding,n.height=s.height+2*$().state.padding,pP.set(r,n),n};let k4=0;const TP=function(t,e,r){const n=function(l){switch(l){case Ci.relationType.AGGREGATION:return\\\"aggregation\\\";case Ci.relationType.EXTENSION:return\\\"extension\\\";case Ci.relationType.COMPOSITION:return\\\"composition\\\";case Ci.relationType.DEPENDENCY:return\\\"dependency\\\"}};e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,s=Js().x(function(l){return l.x}).y(function(l){return l.y}).curve(ta),a=t.append(\\\"path\\\").attr(\\\"d\\\",s(i)).attr(\\\"id\\\",\\\"edge\\\"+k4).attr(\\\"class\\\",\\\"transition\\\");let o=\\\"\\\";if($().state.arrowMarkerAbsolute&&(o=window.location.protocol+\\\"//\\\"+window.location.host+window.location.pathname+window.location.search,o=o.replace(/\\\\(/g,\\\"\\\\\\\\(\\\"),o=o.replace(/\\\\)/g,\\\"\\\\\\\\)\\\")),a.attr(\\\"marker-end\\\",\\\"url(\\\"+o+\\\"#\\\"+n(Ci.relationType.DEPENDENCY)+\\\"End)\\\"),r.title!==void 0){const l=t.append(\\\"g\\\").attr(\\\"class\\\",\\\"stateLabel\\\"),{x:u,y:d}=ge.calcLabelPosition(e.points),f=he.getRows(r.title);let p=0;const g=[];let b=0,k=0;for(let E=0;E\u003C=f.length;E++){const I=l.append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").text(f[E]).attr(\\\"x\\\",u).attr(\\\"y\\\",d+p),V=I.node().getBBox();b=Math.max(b,V.width),k=Math.min(k,V.x),B.info(V.x,u,d+p),p===0&&(p=I.node().getBBox().height,B.info(\\\"Title height\\\",p,d)),g.push(I)}let T=p*f.length;if(f.length>1){const E=(f.length-1)*p*.5;g.forEach((I,V)=>I.attr(\\\"y\\\",d+V*p-E)),T=p*f.length}const L=l.node().getBBox();l.insert(\\\"rect\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"box\\\").attr(\\\"x\\\",u-b/2-$().state.padding/2).attr(\\\"y\\\",d-T/2-$().state.padding/2-3.5).attr(\\\"width\\\",b+$().state.padding).attr(\\\"height\\\",T+$().state.padding),B.info(L)}k4++};let $r;const xd={},EP=function(){},CP=function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"dependencyEnd\\\").attr(\\\"refX\\\",19).attr(\\\"refY\\\",7).attr(\\\"markerWidth\\\",20).attr(\\\"markerHeight\\\",28).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 19,7 L9,13 L14,7 L9,1 Z\\\")},SP=function(t,e,r,n){$r=$().state;const i=$().securityLevel;let s;i===\\\"sandbox\\\"&&(s=St(\\\"#i\\\"+e));const a=St(i===\\\"sandbox\\\"?s.nodes()[0].contentDocument.body:\\\"body\\\"),o=i===\\\"sandbox\\\"?s.nodes()[0].contentDocument:document;B.debug(\\\"Rendering diagram \\\"+t);const l=a.select(`[id='${e}']`);CP(l),new sr({multigraph:!0,compound:!0,rankdir:\\\"RL\\\"}).setDefaultEdgeLabel(function(){return{}});const d=n.db.getRootDoc();w4(d,l,void 0,!1,a,o,n);const f=$r.padding,p=l.node().getBBox(),g=p.width+f*2,b=p.height+f*2,k=g*1.75;xn(l,b,k,$r.useMaxWidth),l.attr(\\\"viewBox\\\",`${p.x-$r.padding} ${p.y-$r.padding} `+g+\\\" \\\"+b)},AP=t=>t?t.length*$r.fontSizeFactor:1,w4=(t,e,r,n,i,s,a)=>{const o=new sr({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l\u003Ct.length;l++)if(t[l].stmt===\\\"relation\\\"){u=!1;break}r?o.setGraph({rankdir:\\\"LR\\\",multigraph:!0,compound:!0,ranker:\\\"tight-tree\\\",ranksep:u?1:$r.edgeLengthFactor,nodeSep:u?1:50,isMultiGraph:!0}):o.setGraph({rankdir:\\\"TB\\\",multigraph:!0,compound:!0,ranksep:u?1:$r.edgeLengthFactor,nodeSep:u?1:50,ranker:\\\"tight-tree\\\",isMultiGraph:!0}),o.setDefaultEdgeLabel(function(){return{}}),a.db.extract(t);const d=a.db.getStates(),f=a.db.getRelations(),p=Object.keys(d);for(const L of p){const E=d[L];r&&(E.parentId=r);let I;if(E.doc){let V=e.append(\\\"g\\\").attr(\\\"id\\\",E.id).attr(\\\"class\\\",\\\"stateGroup\\\");I=w4(E.doc,V,E.id,!n,i,s,a);{V=_P(V,E,n);let H=V.node().getBBox();I.width=H.width,I.height=H.height+$r.padding/2,xd[E.id]={y:$r.compositTitleSize}}}else I=v4(e,E);if(E.note){const V={descriptions:[],id:E.id+\\\"-note\\\",note:E.note,type:\\\"note\\\"},H=v4(e,V);E.note.position===\\\"left of\\\"?(o.setNode(I.id+\\\"-note\\\",H),o.setNode(I.id,I)):(o.setNode(I.id,I),o.setNode(I.id+\\\"-note\\\",H)),o.setParent(I.id,I.id+\\\"-group\\\"),o.setParent(I.id+\\\"-note\\\",I.id+\\\"-group\\\")}else o.setNode(I.id,I)}B.debug(\\\"Count=\\\",o.nodeCount(),o);let g=0;f.forEach(function(L){g++,B.debug(\\\"Setting edge\\\",L),o.setEdge(L.id1,L.id2,{relation:L,width:AP(L.title),height:$r.labelHeight*he.getRows(L.title).length,labelpos:\\\"c\\\"},\\\"id\\\"+g)}),Ea(o),B.debug(\\\"Graph after layout\\\",o.nodes());const b=e.node();o.nodes().forEach(function(L){L!==void 0&&o.node(L)!==void 0?(B.warn(\\\"Node \\\"+L+\\\": \\\"+JSON.stringify(o.node(L))),i.select(\\\"#\\\"+b.id+\\\" #\\\"+L).attr(\\\"transform\\\",\\\"translate(\\\"+(o.node(L).x-o.node(L).width/2)+\\\",\\\"+(o.node(L).y+(xd[L]?xd[L].y:0)-o.node(L).height/2)+\\\" )\\\"),i.select(\\\"#\\\"+b.id+\\\" #\\\"+L).attr(\\\"data-x-shift\\\",o.node(L).x-o.node(L).width/2),s.querySelectorAll(\\\"#\\\"+b.id+\\\" #\\\"+L+\\\" .divider\\\").forEach(I=>{const V=I.parentElement;let H=0,G=0;V&&(V.parentElement&&(H=V.parentElement.getBBox().width),G=parseInt(V.getAttribute(\\\"data-x-shift\\\"),10),Number.isNaN(G)&&(G=0)),I.setAttribute(\\\"x1\\\",0-G+8),I.setAttribute(\\\"x2\\\",H-G-8)})):B.debug(\\\"No Node \\\"+L+\\\": \\\"+JSON.stringify(o.node(L)))});let k=b.getBBox();o.edges().forEach(function(L){L!==void 0&&o.edge(L)!==void 0&&(B.debug(\\\"Edge \\\"+L.v+\\\" -> \\\"+L.w+\\\": \\\"+JSON.stringify(o.edge(L))),TP(e,o.edge(L),o.edge(L).relation))}),k=b.getBBox();const T={id:r||\\\"root\\\",label:r||\\\"root\\\",width:0,height:0};return T.width=k.width+2*$r.padding,T.height=k.height+2*$r.padding,B.debug(\\\"Doc rendered\\\",T,o),T},LP={setConf:EP,draw:SP},Ru=\\\"rect\\\",vd=\\\"rectWithTitle\\\",DP=\\\"start\\\",MP=\\\"end\\\",NP=\\\"divider\\\",BP=\\\"roundedWithTitle\\\",IP=\\\"note\\\",OP=\\\"noteGroup\\\",Ra=\\\"statediagram\\\",RP=`${Ra}-state`,T4=\\\"transition\\\",FP=\\\"note\\\",PP=`${T4} note-edge`,YP=`${Ra}-${FP}`,VP=`${Ra}-cluster`,UP=`${Ra}-cluster-alt`,E4=\\\"parent\\\",C4=\\\"note\\\",zP=\\\"state\\\",kd=\\\"----\\\",WP=`${kd}${C4}`,S4=`${kd}${E4}`,A4=\\\"fill:none\\\",L4=\\\"fill: #333\\\",D4=\\\"c\\\",M4=\\\"text\\\",N4=\\\"normal\\\";let Fu={},$i=0;const HP=function(t){const e=Object.keys(t);for(const r of e)t[r]},GP=function(t,e){B.trace(\\\"Extracting classes\\\"),e.db.clear();try{return e.parser.parse(t),e.db.extract(e.db.getRootDocV2()),e.db.getClasses()}catch(r){return r}};function qP(t){return t==null?\\\"\\\":t.classes?t.classes.join(\\\" \\\"):\\\"\\\"}function wd(t=\\\"\\\",e=0,r=\\\"\\\",n=kd){const i=r!==null&&r.length>0?`${n}${r}`:\\\"\\\";return`${zP}-${t}${i}-${e}`}const nl=(t,e,r,n,i,s)=>{const a=r.id,o=qP(n[a]);if(a!==\\\"root\\\"){let l=Ru;r.start===!0&&(l=DP),r.start===!1&&(l=MP),r.type!==Jo&&(l=r.type),Fu[a]||(Fu[a]={id:a,shape:l,description:he.sanitizeText(a,$()),classes:`${o} ${RP}`});const u=Fu[a];r.description&&(Array.isArray(u.description)?(u.shape=vd,u.description.push(r.description)):u.description.length>0?(u.shape=vd,u.description===a?u.description=[r.description]:u.description=[u.description,r.description]):(u.shape=Ru,u.description=r.description),u.description=he.sanitizeTextOrArray(u.description,$())),u.description.length===1&&u.shape===vd&&(u.shape=Ru),!u.type&&r.doc&&(B.info(\\\"Setting cluster for \\\",a,Td(r)),u.type=\\\"group\\\",u.dir=Td(r),u.shape=r.type===o4?NP:BP,u.classes=u.classes+\\\" \\\"+VP+\\\" \\\"+(s?UP:\\\"\\\"));const d={labelStyle:\\\"\\\",shape:u.shape,labelText:u.description,classes:u.classes,style:\\\"\\\",id:a,dir:u.dir,domId:wd(a,$i),type:u.type,padding:15};if(r.note){const f={labelStyle:\\\"\\\",shape:IP,labelText:r.note.text,classes:YP,style:\\\"\\\",id:a+WP+\\\"-\\\"+$i,domId:wd(a,$i,C4),type:u.type,padding:15},p={labelStyle:\\\"\\\",shape:OP,labelText:r.note.text,classes:u.classes,style:\\\"\\\",id:a+S4,domId:wd(a,$i,E4),type:\\\"group\\\",padding:0};$i++;const g=a+S4;t.setNode(g,p),t.setNode(f.id,f),t.setNode(a,d),t.setParent(a,g),t.setParent(f.id,g);let b=a,k=f.id;r.note.position===\\\"left of\\\"&&(b=f.id,k=a),t.setEdge(b,k,{arrowhead:\\\"none\\\",arrowType:\\\"\\\",style:A4,labelStyle:\\\"\\\",classes:PP,arrowheadStyle:L4,labelpos:D4,labelType:M4,thickness:N4})}else t.setNode(a,d)}e&&e.id!==\\\"root\\\"&&(B.trace(\\\"Setting node \\\",a,\\\" to be child of its parent \\\",e.id),t.setParent(a,e.id)),r.doc&&(B.trace(\\\"Adding nodes children \\\"),jP(t,r,r.doc,n,i,!s))},jP=(t,e,r,n,i,s)=>{B.trace(\\\"items\\\",r),r.forEach(a=>{switch(a.stmt){case Mu:nl(t,e,a,n,i,s);break;case Jo:nl(t,e,a,n,i,s);break;case fd:{nl(t,e,a.state1,n,i,s),nl(t,e,a.state2,n,i,s);const o={id:\\\"edge\\\"+$i,arrowhead:\\\"normal\\\",arrowTypeEnd:\\\"arrow_barb\\\",style:A4,labelStyle:\\\"\\\",label:he.sanitizeText(a.description,$()),arrowheadStyle:L4,labelpos:D4,labelType:M4,thickness:N4,classes:T4};t.setEdge(a.state1.id,a.state2.id,o,$i),$i++}break}})},Td=(t,e=WF)=>{let r=e;if(t.doc)for(let n=0;n\u003Ct.doc.length;n++){const i=t.doc[n];i.stmt===\\\"dir\\\"&&(r=i.value)}return r},$P={setConf:HP,getClasses:GP,draw:function(t,e,r,n){B.info(\\\"Drawing state diagram (v2)\\\",e),Fu={};let i=n.db.getDirection();i===void 0&&(i=a4);const{securityLevel:s,state:a}=$(),o=a.nodeSpacing||50,l=a.rankSpacing||50;B.info(n.db.getRootDocV2()),n.db.extract(n.db.getRootDocV2()),B.info(n.db.getRootDocV2());const u=n.db.getStates(),d=new sr({multigraph:!0,compound:!0}).setGraph({rankdir:Td(n.db.getRootDocV2()),nodesep:o,ranksep:l,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});nl(d,void 0,n.db.getRootDocV2(),u,n.db,!0);let f;s===\\\"sandbox\\\"&&(f=St(\\\"#i\\\"+e));const p=St(s===\\\"sandbox\\\"?f.nodes()[0].contentDocument.body:\\\"body\\\"),g=p.select(`[id=\\\"${e}\\\"]`),b=p.select(\\\"#\\\"+e+\\\" g\\\");v0(b,d,[\\\"barb\\\"],Ra,e);const k=8;ge.insertTitle(g,\\\"statediagramTitleText\\\",a.titleTopMargin,n.db.getDiagramTitle());const T=g.node().getBBox(),L=T.width+k*2,E=T.height+k*2;g.attr(\\\"class\\\",Ra);const I=g.node().getBBox();xn(g,E,L,a.useMaxWidth);const V=`${I.x-k} ${I.y-k} ${L} ${E}`;B.debug(`viewBox ${V}`),g.attr(\\\"viewBox\\\",V);const H=document.querySelectorAll('[id=\\\"'+e+'\\\"] .edgeLabel .label');for(const G of H){const Y=G.getBBox(),W=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",Ru);W.setAttribute(\\\"rx\\\",0),W.setAttribute(\\\"ry\\\",0),W.setAttribute(\\\"width\\\",Y.width),W.setAttribute(\\\"height\\\",Y.height),G.insertBefore(W,G.firstChild)}}};var Ed=function(){var t=function(k,T,L,E){for(L=L||{},E=k.length;E--;L[k[E]]=T);return L},e=[1,2],r=[1,5],n=[6,9,11,17,18,20,22,23,24,26],i=[1,15],s=[1,16],a=[1,17],o=[1,18],l=[1,19],u=[1,20],d=[1,24],f=[4,6,9,11,17,18,20,22,23,24,26],p={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,\\\":\\\":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:\\\"error\\\",4:\\\"journey\\\",6:\\\"EOF\\\",9:\\\"SPACE\\\",11:\\\"NEWLINE\\\",15:\\\":\\\",17:\\\"title\\\",18:\\\"acc_title\\\",19:\\\"acc_title_value\\\",20:\\\"acc_descr\\\",21:\\\"acc_descr_value\\\",22:\\\"acc_descr_multiline_value\\\",23:\\\"section\\\",24:\\\"taskName\\\",25:\\\"taskData\\\",26:\\\"open_directive\\\",27:\\\"type_directive\\\",28:\\\"arg_directive\\\",29:\\\"close_directive\\\"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(T,L,E,I,V,H,G){var Y=H.length-1;switch(V){case 1:return H[Y-1];case 3:this.$=[];break;case 4:H[Y-1].push(H[Y]),this.$=H[Y-1];break;case 5:case 6:this.$=H[Y];break;case 7:case 8:this.$=[];break;case 11:I.setDiagramTitle(H[Y].substr(6)),this.$=H[Y].substr(6);break;case 12:this.$=H[Y].trim(),I.setAccTitle(this.$);break;case 13:case 14:this.$=H[Y].trim(),I.setAccDescription(this.$);break;case 15:I.addSection(H[Y].substr(8)),this.$=H[Y].substr(8);break;case 16:I.addTask(H[Y-1],H[Y]),this.$=\\\"task\\\";break;case 18:I.parseDirective(\\\"%%{\\\",\\\"open_directive\\\");break;case 19:I.parseDirective(H[Y],\\\"type_directive\\\");break;case 20:H[Y]=H[Y].trim().replace(/'/g,'\\\"'),I.parseDirective(H[Y],\\\"arg_directive\\\");break;case 21:I.parseDirective(\\\"}%%\\\",\\\"close_directive\\\",\\\"journey\\\");break}},table:[{3:1,4:e,7:3,12:4,26:r},{1:[3]},t(n,[2,3],{5:6}),{3:7,4:e,7:3,12:4,26:r},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:s,20:a,22:o,23:l,24:u,26:r},{1:[2,2]},{14:22,15:[1,23],29:d},t([15,29],[2,19]),t(n,[2,8],{1:[2,1]}),t(n,[2,4]),{7:21,10:25,12:4,17:i,18:s,20:a,22:o,23:l,24:u,26:r},t(n,[2,6]),t(n,[2,7]),t(n,[2,11]),{19:[1,26]},{21:[1,27]},t(n,[2,14]),t(n,[2,15]),{25:[1,28]},t(n,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},t(n,[2,5]),t(n,[2,12]),t(n,[2,13]),t(n,[2,16]),t(f,[2,9]),{14:32,29:d},{29:[2,20]},{11:[1,33]},t(f,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(T,L){if(L.recoverable)this.trace(T);else{var E=new Error(T);throw E.hash=L,E}},parse:function(T){var L=this,E=[0],I=[],V=[null],H=[],G=this.table,Y=\\\"\\\",W=0,N=0,D=2,w=1,v=H.slice.call(arguments,1),M=Object.create(this.lexer),m={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(m.yy[Q]=this.yy[Q]);M.setInput(T,m.yy),m.yy.lexer=M,m.yy.parser=this,typeof M.yylloc>\\\"u\\\"&&(M.yylloc={});var x=M.yylloc;H.push(x);var ct=M.options&&M.options.ranges;typeof m.yy.parseError==\\\"function\\\"?this.parseError=m.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Dt(){var z;return z=I.pop()||M.lex()||w,typeof z!=\\\"number\\\"&&(z instanceof Array&&(I=z,z=I.pop()),z=L.symbols_[z]||z),z}for(var kt,j,ot,rt,nt={},ut,_t,K,Ot;;){if(j=E[E.length-1],this.defaultActions[j]?ot=this.defaultActions[j]:((kt===null||typeof kt>\\\"u\\\")&&(kt=Dt()),ot=G[j]&&G[j][kt]),typeof ot>\\\"u\\\"||!ot.length||!ot[0]){var P=\\\"\\\";Ot=[];for(ut in G[j])this.terminals_[ut]&&ut>D&&Ot.push(\\\"'\\\"+this.terminals_[ut]+\\\"'\\\");M.showPosition?P=\\\"Parse error on line \\\"+(W+1)+`:\\n`+M.showPosition()+`\\nExpecting `+Ot.join(\\\", \\\")+\\\", got '\\\"+(this.terminals_[kt]||kt)+\\\"'\\\":P=\\\"Parse error on line \\\"+(W+1)+\\\": Unexpected \\\"+(kt==w?\\\"end of input\\\":\\\"'\\\"+(this.terminals_[kt]||kt)+\\\"'\\\"),this.parseError(P,{text:M.match,token:this.terminals_[kt]||kt,line:M.yylineno,loc:x,expected:Ot})}if(ot[0]instanceof Array&&ot.length>1)throw new Error(\\\"Parse Error: multiple actions possible at state: \\\"+j+\\\", token: \\\"+kt);switch(ot[0]){case 1:E.push(kt),V.push(M.yytext),H.push(M.yylloc),E.push(ot[1]),kt=null,N=M.yyleng,Y=M.yytext,W=M.yylineno,x=M.yylloc;break;case 2:if(_t=this.productions_[ot[1]][1],nt.$=V[V.length-_t],nt._$={first_line:H[H.length-(_t||1)].first_line,last_line:H[H.length-1].last_line,first_column:H[H.length-(_t||1)].first_column,last_column:H[H.length-1].last_column},ct&&(nt._$.range=[H[H.length-(_t||1)].range[0],H[H.length-1].range[1]]),rt=this.performAction.apply(nt,[Y,N,W,m.yy,ot[1],V,H].concat(v)),typeof rt\u003C\\\"u\\\")return rt;_t&&(E=E.slice(0,-1*_t*2),V=V.slice(0,-1*_t),H=H.slice(0,-1*_t)),E.push(this.productions_[ot[1]][0]),V.push(nt.$),H.push(nt._$),K=G[E[E.length-2]][E[E.length-1]],E.push(K);break;case 3:return!0}}return!0}},g=function(){var k={EOF:1,parseError:function(L,E){if(this.yy.parser)this.yy.parser.parseError(L,E);else throw new Error(L)},setInput:function(T,L){return this.yy=L||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\\\"\\\",this.conditionStack=[\\\"INITIAL\\\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var L=T.match(/(?:\\\\r\\\\n?|\\\\n).*/g);return L?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},unput:function(T){var L=T.length,E=T.split(/(?:\\\\r\\\\n?|\\\\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var I=this.match.split(/(?:\\\\r\\\\n?|\\\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var V=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===I.length?this.yylloc.first_column:0)+I[I.length-E.length].length-E[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[V[0],V[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno});return this},less:function(T){this.unput(this.match.slice(T))},pastInput:function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?\\\"...\\\":\\\"\\\")+T.substr(-20).replace(/\\\\n/g,\\\"\\\")},upcomingInput:function(){var T=this.match;return T.length\u003C20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?\\\"...\\\":\\\"\\\")).replace(/\\\\n/g,\\\"\\\")},showPosition:function(){var T=this.pastInput(),L=new Array(T.length+1).join(\\\"-\\\");return T+this.upcomingInput()+`\\n`+L+\\\"^\\\"},test_match:function(T,L){var E,I,V;if(this.options.backtrack_lexer&&(V={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(V.yylloc.range=this.yylloc.range.slice(0))),I=T[0].match(/(?:\\\\r\\\\n?|\\\\n).*/g),I&&(this.yylineno+=I.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:I?I[I.length-1].length-I[I.length-1].match(/\\\\r?\\\\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],E=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var H in V)this[H]=V[H];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,L,E,I;this._more||(this.yytext=\\\"\\\",this.match=\\\"\\\");for(var V=this._currentRules(),H=0;H\u003CV.length;H++)if(E=this._input.match(this.rules[V[H]]),E&&(!L||E[0].length>L[0].length)){if(L=E,I=H,this.options.backtrack_lexer){if(T=this.test_match(E,V[H]),T!==!1)return T;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(T=this.test_match(L,V[I]),T!==!1?T:!1):this._input===\\\"\\\"?this.EOF:this.parseError(\\\"Lexical error on line \\\"+(this.yylineno+1)+`. Unrecognized text.\\n`+this.showPosition(),{text:\\\"\\\",token:null,line:this.yylineno})},lex:function(){var L=this.next();return L||this.lex()},begin:function(L){this.conditionStack.push(L)},popState:function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:\\\"INITIAL\\\"},pushState:function(L){this.begin(L)},stateStackSize:function(){return this.conditionStack.length},options:{\\\"case-insensitive\\\":!0},performAction:function(L,E,I,V){switch(I){case 0:return this.begin(\\\"open_directive\\\"),26;case 1:return this.begin(\\\"type_directive\\\"),27;case 2:return this.popState(),this.begin(\\\"arg_directive\\\"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:break;case 6:break;case 7:return 11;case 8:break;case 9:break;case 10:return 4;case 11:return 17;case 12:return this.begin(\\\"acc_title\\\"),18;case 13:return this.popState(),\\\"acc_title_value\\\";case 14:return this.begin(\\\"acc_descr\\\"),20;case 15:return this.popState(),\\\"acc_descr_value\\\";case 16:this.begin(\\\"acc_descr_multiline\\\");break;case 17:this.popState();break;case 18:return\\\"acc_descr_multiline_value\\\";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return\\\"INVALID\\\"}},rules:[/^(?:%%\\\\{)/i,/^(?:((?:(?!\\\\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\\\\}%%)/i,/^(?:((?:(?!\\\\}%%).|\\\\n)*))/i,/^(?:%(?!\\\\{)[^\\\\n]*)/i,/^(?:[^\\\\}]%%[^\\\\n]*)/i,/^(?:[\\\\n]+)/i,/^(?:\\\\s+)/i,/^(?:#[^\\\\n]*)/i,/^(?:journey\\\\b)/i,/^(?:title\\\\s[^#\\\\n;]+)/i,/^(?:accTitle\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*:\\\\s*)/i,/^(?:(?!\\\\n||)*[^\\\\n]*)/i,/^(?:accDescr\\\\s*\\\\{\\\\s*)/i,/^(?:[\\\\}])/i,/^(?:[^\\\\}]*)/i,/^(?:section\\\\s[^#:\\\\n;]+)/i,/^(?:[^#:\\\\n;]+)/i,/^(?::[^#\\\\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};return k}();p.lexer=g;function b(){this.yy={}}return b.prototype=p,p.Parser=b,new b}();Ed.parser=Ed;const XP=Ed,KP=t=>t.match(/^\\\\s*journey/)!==null;let Fa=\\\"\\\";const Cd=[],il=[],sl=[],ZP=function(t,e,r){ze.parseDirective(this,t,e,r)},QP=function(){Cd.length=0,il.length=0,Fa=\\\"\\\",sl.length=0,vn()},JP=function(t){Fa=t,Cd.push(t)},tY=function(){return Cd},eY=function(){let t=B4();const e=100;let r=0;for(;!t&&r\u003Ce;)t=B4(),r++;return il.push(...sl),il},rY=function(){const t=[];return il.forEach(r=>{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},nY=function(t,e){const r=e.substr(1).split(\\\":\\\");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(\\\",\\\"));const s=i.map(o=>o.trim()),a={section:Fa,type:Fa,people:s,task:t,score:n};sl.push(a)},iY=function(t){const e={section:Fa,type:Fa,description:t,task:t,classes:[]};il.push(e)},B4=function(){const t=function(r){return sl[r].processed};let e=!0;for(const[r,n]of sl.entries())t(r),e=e&&n.processed;return e},I4={parseDirective:ZP,getConfig:()=>$().journey,clear:QP,setDiagramTitle:hi,getDiagramTitle:di,setAccTitle:nn,getAccTitle:kn,setAccDescription:wn,getAccDescription:Tn,addSection:JP,getSections:tY,getTasks:eY,addTask:nY,addTaskOrg:iY,getActors:function(){return rY()}},Pu=function(t,e){const r=t.append(\\\"rect\\\");return r.attr(\\\"x\\\",e.x),r.attr(\\\"y\\\",e.y),r.attr(\\\"fill\\\",e.fill),r.attr(\\\"stroke\\\",e.stroke),r.attr(\\\"width\\\",e.width),r.attr(\\\"height\\\",e.height),r.attr(\\\"rx\\\",e.rx),r.attr(\\\"ry\\\",e.ry),e.class!==void 0&&r.attr(\\\"class\\\",e.class),r},sY=function(t,e){const n=t.append(\\\"circle\\\").attr(\\\"cx\\\",e.cx).attr(\\\"cy\\\",e.cy).attr(\\\"class\\\",\\\"face\\\").attr(\\\"r\\\",15).attr(\\\"stroke-width\\\",2).attr(\\\"overflow\\\",\\\"visible\\\"),i=t.append(\\\"g\\\");i.append(\\\"circle\\\").attr(\\\"cx\\\",e.cx-15/3).attr(\\\"cy\\\",e.cy-15/3).attr(\\\"r\\\",1.5).attr(\\\"stroke-width\\\",2).attr(\\\"fill\\\",\\\"#666\\\").attr(\\\"stroke\\\",\\\"#666\\\"),i.append(\\\"circle\\\").attr(\\\"cx\\\",e.cx+15/3).attr(\\\"cy\\\",e.cy-15/3).attr(\\\"r\\\",1.5).attr(\\\"stroke-width\\\",2).attr(\\\"fill\\\",\\\"#666\\\").attr(\\\"stroke\\\",\\\"#666\\\");function s(l){const u=jh().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append(\\\"path\\\").attr(\\\"class\\\",\\\"mouth\\\").attr(\\\"d\\\",u).attr(\\\"transform\\\",\\\"translate(\\\"+e.cx+\\\",\\\"+(e.cy+2)+\\\")\\\")}function a(l){const u=jh().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append(\\\"path\\\").attr(\\\"class\\\",\\\"mouth\\\").attr(\\\"d\\\",u).attr(\\\"transform\\\",\\\"translate(\\\"+e.cx+\\\",\\\"+(e.cy+7)+\\\")\\\")}function o(l){l.append(\\\"line\\\").attr(\\\"class\\\",\\\"mouth\\\").attr(\\\"stroke\\\",2).attr(\\\"x1\\\",e.cx-5).attr(\\\"y1\\\",e.cy+7).attr(\\\"x2\\\",e.cx+5).attr(\\\"y2\\\",e.cy+7).attr(\\\"class\\\",\\\"mouth\\\").attr(\\\"stroke-width\\\",\\\"1px\\\").attr(\\\"stroke\\\",\\\"#666\\\")}return e.score>3?s(i):e.score\u003C3?a(i):o(i),n},O4=function(t,e){const r=t.append(\\\"circle\\\");return r.attr(\\\"cx\\\",e.cx),r.attr(\\\"cy\\\",e.cy),r.attr(\\\"class\\\",\\\"actor-\\\"+e.pos),r.attr(\\\"fill\\\",e.fill),r.attr(\\\"stroke\\\",e.stroke),r.attr(\\\"r\\\",e.r),r.class!==void 0&&r.attr(\\\"class\\\",r.class),e.title!==void 0&&r.append(\\\"title\\\").text(e.title),r},R4=function(t,e){const r=e.text.replace(/\u003Cbr\\\\s*\\\\/?>/gi,\\\" \\\"),n=t.append(\\\"text\\\");n.attr(\\\"x\\\",e.x),n.attr(\\\"y\\\",e.y),n.attr(\\\"class\\\",\\\"legend\\\"),n.style(\\\"text-anchor\\\",e.anchor),e.class!==void 0&&n.attr(\\\"class\\\",e.class);const i=n.append(\\\"tspan\\\");return i.attr(\\\"x\\\",e.x+e.textMargin*2),i.text(r),n},aY=function(t,e){function r(i,s,a,o,l){return i+\\\",\\\"+s+\\\" \\\"+(i+a)+\\\",\\\"+s+\\\" \\\"+(i+a)+\\\",\\\"+(s+o-l)+\\\" \\\"+(i+a-l*1.2)+\\\",\\\"+(s+o)+\\\" \\\"+i+\\\",\\\"+(s+o)}const n=t.append(\\\"polygon\\\");n.attr(\\\"points\\\",r(e.x,e.y,50,20,7)),n.attr(\\\"class\\\",\\\"labelBox\\\"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,R4(t,e)},oY=function(t,e,r){const n=t.append(\\\"g\\\"),i=Sd();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class=\\\"journey-section section-type-\\\"+e.num,i.rx=3,i.ry=3,Pu(n,i),P4(r)(e.text,n,i.x,i.y,i.width,i.height,{class:\\\"journey-section section-type-\\\"+e.num},r,e.colour)};let F4=-1;const lY=function(t,e,r){const n=e.x+r.width/2,i=t.append(\\\"g\\\");F4++;const s=300+5*30;i.append(\\\"line\\\").attr(\\\"id\\\",\\\"task\\\"+F4).attr(\\\"x1\\\",n).attr(\\\"y1\\\",e.y).attr(\\\"x2\\\",n).attr(\\\"y2\\\",s).attr(\\\"class\\\",\\\"task-line\\\").attr(\\\"stroke-width\\\",\\\"1px\\\").attr(\\\"stroke-dasharray\\\",\\\"4 2\\\").attr(\\\"stroke\\\",\\\"#666\\\"),sY(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});const a=Sd();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=r.width,a.height=r.height,a.class=\\\"task task-type-\\\"+e.num,a.rx=3,a.ry=3,Pu(i,a);let o=e.x+14;e.people.forEach(l=>{const u=e.actors[l].color,d={cx:o,cy:e.y,r:7,fill:u,stroke:\\\"#000\\\",title:l,pos:e.actors[l].position};O4(i,d),o+=10}),P4(r)(e.task,i,a.x,a.y,a.width,a.height,{class:\\\"task\\\"},r,e.colour)},cY=function(t,e){Pu(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:\\\"rect\\\"}).lower()},uY=function(){return{x:0,y:0,fill:void 0,\\\"text-anchor\\\":\\\"start\\\",width:100,height:100,textMargin:0,rx:0,ry:0}},Sd=function(){return{x:0,y:0,width:100,anchor:\\\"start\\\",height:100,rx:0,ry:0}},P4=function(){function t(i,s,a,o,l,u,d,f){const p=s.append(\\\"text\\\").attr(\\\"x\\\",a+l/2).attr(\\\"y\\\",o+u/2+5).style(\\\"font-color\\\",f).style(\\\"text-anchor\\\",\\\"middle\\\").text(i);n(p,d)}function e(i,s,a,o,l,u,d,f,p){const{taskFontSize:g,taskFontFamily:b}=f,k=i.split(/\u003Cbr\\\\s*\\\\/?>/gi);for(let T=0;T\u003Ck.length;T++){const L=T*g-g*(k.length-1)/2,E=s.append(\\\"text\\\").attr(\\\"x\\\",a+l/2).attr(\\\"y\\\",o).attr(\\\"fill\\\",p).style(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"font-size\\\",g).style(\\\"font-family\\\",b);E.append(\\\"tspan\\\").attr(\\\"x\\\",a+l/2).attr(\\\"dy\\\",L).text(k[T]),E.attr(\\\"y\\\",o+u/2).attr(\\\"dominant-baseline\\\",\\\"central\\\").attr(\\\"alignment-baseline\\\",\\\"central\\\"),n(E,d)}}function r(i,s,a,o,l,u,d,f){const p=s.append(\\\"switch\\\"),b=p.append(\\\"foreignObject\\\").attr(\\\"x\\\",a).attr(\\\"y\\\",o).attr(\\\"width\\\",l).attr(\\\"height\\\",u).attr(\\\"position\\\",\\\"fixed\\\").append(\\\"xhtml:div\\\").style(\\\"display\\\",\\\"table\\\").style(\\\"height\\\",\\\"100%\\\").style(\\\"width\\\",\\\"100%\\\");b.append(\\\"div\\\").attr(\\\"class\\\",\\\"label\\\").style(\\\"display\\\",\\\"table-cell\\\").style(\\\"text-align\\\",\\\"center\\\").style(\\\"vertical-align\\\",\\\"middle\\\").text(i),e(i,p,a,o,l,u,d,f),n(b,d)}function n(i,s){for(const a in s)a in s&&i.attr(a,s[a])}return function(i){return i.textPlacement===\\\"fo\\\"?r:i.textPlacement===\\\"old\\\"?t:e}}(),al={drawRect:Pu,drawCircle:O4,drawSection:oY,drawText:R4,drawLabel:aY,drawTask:lY,drawBackgroundRect:cY,getTextObj:uY,getNoteRect:Sd,initGraphics:function(t){t.append(\\\"defs\\\").append(\\\"marker\\\").attr(\\\"id\\\",\\\"arrowhead\\\").attr(\\\"refX\\\",5).attr(\\\"refY\\\",2).attr(\\\"markerWidth\\\",6).attr(\\\"markerHeight\\\",4).attr(\\\"orient\\\",\\\"auto\\\").append(\\\"path\\\").attr(\\\"d\\\",\\\"M 0,0 V 4 L6,2 Z\\\")}},hY=function(t){Object.keys(t).forEach(function(r){Yu[r]=t[r]})},Si={};function dY(t){const e=$().journey;let r=60;Object.keys(Si).forEach(n=>{const i=Si[n].color,s={cx:20,cy:r,r:7,fill:i,stroke:\\\"#000\\\",pos:Si[n].position};al.drawCircle(t,s);const a={x:40,y:r+7,fill:\\\"#666\\\",text:n,textMargin:e.boxTextMargin|5};al.drawText(t,a),r+=20})}const Yu=$().journey,Ns=Yu.leftMargin,fY=function(t,e,r,n){const i=$().journey;n.db.clear(),n.parser.parse(t+`\\n`);const s=$().securityLevel;let a;s===\\\"sandbox\\\"&&(a=St(\\\"#i\\\"+e));const o=St(s===\\\"sandbox\\\"?a.nodes()[0].contentDocument.body:\\\"body\\\");an.init();const l=o.select(\\\"#\\\"+e);al.initGraphics(l);const u=n.db.getTasks(),d=n.db.getDiagramTitle(),f=n.db.getActors();for(const L in Si)delete Si[L];let p=0;f.forEach(L=>{Si[L]={color:i.actorColours[p%i.actorColours.length],position:p},p++}),dY(l),an.insert(0,0,Ns,Object.keys(Si).length*50),pY(l,u,0);const g=an.getBounds();d&&l.append(\\\"text\\\").text(d).attr(\\\"x\\\",Ns).attr(\\\"font-size\\\",\\\"4ex\\\").attr(\\\"font-weight\\\",\\\"bold\\\").attr(\\\"y\\\",25);const b=g.stopy-g.starty+2*i.diagramMarginY,k=Ns+g.stopx+2*i.diagramMarginX;xn(l,b,k,i.useMaxWidth),l.append(\\\"line\\\").attr(\\\"x1\\\",Ns).attr(\\\"y1\\\",i.height*4).attr(\\\"x2\\\",k-Ns-4).attr(\\\"y2\\\",i.height*4).attr(\\\"stroke-width\\\",4).attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"marker-end\\\",\\\"url(#arrowhead)\\\");const T=d?70:0;l.attr(\\\"viewBox\\\",`${g.startx} -25 ${k} ${b+T}`),l.attr(\\\"preserveAspectRatio\\\",\\\"xMinYMin meet\\\"),l.attr(\\\"height\\\",b+T+25)},an={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},updateBounds:function(t,e,r,n){const i=$().journey,s=this;let a=0;function o(l){return function(d){a++;const f=s.sequenceItems.length-a+1;s.updateVal(d,\\\"starty\\\",e-f*i.boxMargin,Math.min),s.updateVal(d,\\\"stopy\\\",n+f*i.boxMargin,Math.max),s.updateVal(an.data,\\\"startx\\\",t-f*i.boxMargin,Math.min),s.updateVal(an.data,\\\"stopx\\\",r+f*i.boxMargin,Math.max),l!==\\\"activation\\\"&&(s.updateVal(d,\\\"startx\\\",t-f*i.boxMargin,Math.min),s.updateVal(d,\\\"stopx\\\",r+f*i.boxMargin,Math.max),s.updateVal(an.data,\\\"starty\\\",e-f*i.boxMargin,Math.min),s.updateVal(an.data,\\\"stopy\\\",n+f*i.boxMargin,Math.max))}}this.sequenceItems.forEach(o())},insert:function(t,e,r,n){const i=Math.min(t,r),s=Math.max(t,r),a=Math.min(e,n),o=Math.max(e,n);this.updateVal(an.data,\\\"startx\\\",i,Math.min),this.updateVal(an.data,\\\"starty\\\",a,Math.min),this.updateVal(an.data,\\\"stopx\\\",s,Math.max),this.updateVal(an.data,\\\"stopy\\\",o,Math.max),this.updateBounds(i,a,s,o)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Ad=Yu.sectionFills,Y4=Yu.sectionColours,pY=function(t,e,r){const n=$().journey;let i=\\\"\\\";const s=n.height*2+n.diagramMarginY,a=r+s;let o=0,l=\\\"#CCC\\\",u=\\\"black\\\",d=0;for(const[f,p]of e.entries()){if(i!==p.section){l=Ad[o%Ad.length],d=o%Ad.length,u=Y4[o%Y4.length];const b={x:f*n.taskMargin+f*n.width+Ns,y:50,text:p.section,fill:l,num:d,colour:u};al.drawSection(t,b,n),i=p.section,o++}const g=p.people.reduce((b,k)=>(Si[k]&&(b[k]=Si[k]),b),{});p.x=f*n.taskMargin+f*n.width+Ns,p.y=a,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=u,p.fill=l,p.num=d,p.actors=g,al.drawTask(t,p,n),an.insert(p.x,p.y,p.x+p.width+n.taskMargin,300+5*30)}},V4={setConf:hY,draw:fY};let U4={};const Ld={setConf:function(t){U4={...U4,...t}},draw:(t,e,r)=>{try{B.debug(`Renering svg for syntax error\\n`);const n=St(\\\"#\\\"+e),i=n.append(\\\"g\\\");i.append(\\\"path\\\").attr(\\\"class\\\",\\\"error-icon\\\").attr(\\\"d\\\",\\\"m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z\\\"),i.append(\\\"path\\\").attr(\\\"class\\\",\\\"error-icon\\\").attr(\\\"d\\\",\\\"m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z\\\"),i.append(\\\"path\\\").attr(\\\"class\\\",\\\"error-icon\\\").attr(\\\"d\\\",\\\"m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z\\\"),i.append(\\\"path\\\").attr(\\\"class\\\",\\\"error-icon\\\").attr(\\\"d\\\",\\\"m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z\\\"),i.append(\\\"path\\\").attr(\\\"class\\\",\\\"error-icon\\\").attr(\\\"d\\\",\\\"m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z\\\"),i.append(\\\"path\\\").attr(\\\"class\\\",\\\"error-icon\\\").attr(\\\"d\\\",\\\"m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z\\\"),i.append(\\\"text\\\").attr(\\\"class\\\",\\\"error-text\\\").attr(\\\"x\\\",1440).attr(\\\"y\\\",250).attr(\\\"font-size\\\",\\\"150px\\\").style(\\\"text-anchor\\\",\\\"middle\\\").text(\\\"Syntax error in graph\\\"),i.append(\\\"text\\\").attr(\\\"class\\\",\\\"error-text\\\").attr(\\\"x\\\",1250).attr(\\\"y\\\",400).attr(\\\"font-size\\\",\\\"100px\\\").style(\\\"text-anchor\\\",\\\"middle\\\").text(\\\"mermaid version \\\"+r),n.attr(\\\"height\\\",100),n.attr(\\\"width\\\",500),n.attr(\\\"viewBox\\\",\\\"768 0 912 512\\\")}catch(n){B.error(\\\"Error while rendering info diagram\\\"),B.error(UT(n))}}};let z4=!1;const ol=()=>{z4||(z4=!0,yr(\\\"error\\\",{db:{clear:()=>{}},styles:eg,renderer:Ld,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},t=>t.toLowerCase().trim()===\\\"error\\\"),yr(\\\"c4\\\",{parser:HE,db:xg,renderer:Lg,styles:lg,init:t=>{Lg.setConf(t.c4)}},GE),yr(\\\"class\\\",{parser:Dg,db:fa,renderer:dB,styles:go,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,fa.clear()}},MC),yr(\\\"classDiagram\\\",{parser:Dg,db:fa,renderer:uI,styles:go,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,fa.clear()}},NC),yr(\\\"er\\\",{parser:hI,db:yI,renderer:DI,styles:tg},dI),yr(\\\"gantt\\\",{parser:XO,db:Z0,renderer:SR,styles:rg},KO),yr(\\\"info\\\",{parser:AR,db:LR,renderer:DR,styles:ng},MR),yr(\\\"pie\\\",{parser:NR,db:IR,renderer:OR,styles:ig},BR),yr(\\\"requirement\\\",{parser:RR,db:PR,renderer:GR,styles:sg},FR),yr(\\\"sequence\\\",{parser:qR,db:j3,renderer:i4,styles:ag,init:t=>{if(t.sequence||(t.sequence={}),t.sequence.arrowMarkerAbsolute=t.arrowMarkerAbsolute,\\\"sequenceDiagram\\\"in t)throw new Error(\\\"`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.\\\");j3.setWrap(t.wrap),i4.setConf(t.sequence)}},jR),yr(\\\"state\\\",{parser:s4,db:Ci,renderer:LP,styles:Lc,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Ci.clear()}},UF),yr(\\\"stateDiagram\\\",{parser:s4,db:Ci,renderer:$P,styles:Lc,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Ci.clear()}},zF),yr(\\\"journey\\\",{parser:XP,db:I4,renderer:V4,styles:og,init:t=>{V4.setConf(t.journey),I4.clear()}},KP),yr(\\\"flowchart\\\",{parser:jm,db:vi,renderer:Y0,styles:Ac,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,jO.setConf(t.flowchart),vi.clear(),vi.setGen(\\\"gen-1\\\")}},MI),yr(\\\"flowchart-v2\\\",{parser:jm,db:vi,renderer:Y0,styles:Ac,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Xp({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),Y0.setConf(t.flowchart),vi.clear(),vi.setGen(\\\"gen-2\\\")}},NI),yr(\\\"gitGraph\\\",{parser:gE,db:OE,renderer:zE,styles:WE},yE))};class Dd{constructor(e,r){za(this,\\\"type\\\",\\\"graph\\\");za(this,\\\"parser\\\");za(this,\\\"renderer\\\");za(this,\\\"db\\\");za(this,\\\"detectTypeFailed\\\",!1);var a,o;this.txt=e;const n=$();this.txt=e;try{this.type=h1(e,n)}catch(l){this.handleError(l,r),this.type=\\\"error\\\",this.detectTypeFailed=!0}const i=ug(this.type);B.debug(\\\"Type \\\"+this.type),this.db=i.db,(o=(a=this.db).clear)==null||o.call(a),this.renderer=i.renderer,this.parser=i.parser;const s=this.parser.parse.bind(this.parser);this.parser.parse=l=>s(_7(l,this.db)),this.parser.parser.yy=this.db,i.init&&(i.init(n),B.debug(\\\"Initialized diagram \\\"+this.type,n)),this.txt+=`\\n`,this.parse(this.txt,r)}parse(e,r){var n,i;if(this.detectTypeFailed)return!1;try{return e=e+`\\n`,(i=(n=this.db).clear)==null||i.call(n),this.parser.parse(e),!0}catch(s){this.handleError(s,r)}return!1}handleError(e,r){if(r===void 0)throw e;if(m1(e)){r(e.str,e.hash);return}r(e)}getParser(){return this.parser}getType(){return this.type}}const Md=(t,e)=>{const r=h1(t,$());try{ug(r)}catch{const i=k7(r);if(!i)throw new Error(`Diagram ${r} not found.`);return i().then(({diagram:s})=>(yr(r,s,void 0),new Dd(t,e)))}return new Dd(t,e)},Nd=Dd;function gY(t,e){wa(e)||t.attr(\\\"aria-roledescription\\\",e)}function yY(t,e,r,n){if(t.insert!==void 0)if(e||r){if(r){const i=\\\"chart-desc-\\\"+n;t.attr(\\\"aria-describedby\\\",i),t.insert(\\\"desc\\\",\\\":first-child\\\").attr(\\\"id\\\",i).text(r)}if(e){const i=\\\"chart-title-\\\"+n;t.attr(\\\"aria-labelledby\\\",i),t.insert(\\\"title\\\",\\\":first-child\\\").attr(\\\"id\\\",i).text(e)}}else return}const Bd=[\\\"graph\\\",\\\"flowchart\\\",\\\"flowchart-v2\\\",\\\"stateDiagram\\\",\\\"stateDiagram-v2\\\"],W4=\\\"graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa\\\",H4=\\\"sandbox\\\",G4=\\\"loose\\\",mY=\\\"http://www.w3.org/2000/svg\\\",q4=\\\"http://www.w3.org/1999/xlink\\\",j4=\\\"http://www.w3.org/1999/xhtml\\\",bY=\\\"100%\\\",_Y=\\\"100%\\\",xY=\\\"border:0;margin:0;\\\",vY=\\\"margin:0\\\",kY=\\\"allow-top-navigation-by-user-activation allow-popups\\\",wY='The \\\"iframe\\\" tag is not supported by your browser.',$4=[\\\"foreignobject\\\"],X4=[\\\"dominant-baseline\\\"];function TY(t,e){return ol(),new Nd(t,e).parse(t,e)}async function EY(t,e){return ol(),(await Md(t,e)).parse(t,e)}const K4=function(t){let e=t;return e=e.replace(/style.*:\\\\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\\\\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\\\\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\\\\+?\\\\d+$/.test(n)?\\\"\\\\uFB02\\\\xB0\\\\xB0\\\"+n+\\\"\\\\xB6\\\\xDF\\\":\\\"\\\\uFB02\\\\xB0\\\"+n+\\\"\\\\xB6\\\\xDF\\\"}),e},Id=function(t){let e=t;return e=e.replace(/fl°°/g,\\\"&#\\\"),e=e.replace(/fl°/g,\\\"&\\\"),e=e.replace(/¶ß/g,\\\";\\\"),e},Z4=(t,e,r=[])=>`\\n.${t} ${e} { ${r.join(\\\" !important; \\\")} !important; }`,CY=(t,e,r={})=>{var i;let n=\\\"\\\";if(t.themeCSS!==void 0&&(n+=`\\n${t.themeCSS}`),t.fontFamily!==void 0&&(n+=`\\n:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(n+=`\\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!wa(r)&&Bd.includes(e)){const l=t.htmlLabels||((i=t.flowchart)==null?void 0:i.htmlLabels)?[\\\"> *\\\",\\\"span\\\"]:[\\\"rect\\\",\\\"polygon\\\",\\\"ellipse\\\",\\\"circle\\\",\\\"path\\\"];for(const u in r){const d=r[u];wa(d.styles)||l.forEach(f=>{n+=Z4(d.id,f,d.styles)}),wa(d.textStyles)||(n+=Z4(d.id,\\\"tspan\\\",d.textStyles))}}return n},Q4=(t,e,r,n)=>{const i=CY(t,e,r),s=hE(e,i,t.themeVariables);return T1(tE(`${n}{${s}}`),rE)},J4=(t=\\\"\\\",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end=\\\"url\\\\(.*?#/g,'marker-end=\\\"url(#')),n=Id(n),n=n.replace(/\u003Cbr>/g,\\\"\u003Cbr/>\\\"),n},tb=(t=\\\"\\\",e)=>{const r=e?e.viewBox.baseVal.height+\\\"px\\\":_Y,n=btoa('\u003Cbody style=\\\"'+vY+'\\\">'+t+\\\"\u003C/body>\\\");return`\u003Ciframe style=\\\"width:${bY};height:${r};${xY}\\\" src=\\\"data:text/html;base64,${n}\\\" sandbox=\\\"${kY}\\\">\\n ${wY}\\n\u003C/iframe>`},Vu=(t,e,r,n,i)=>{const s=t.append(\\\"div\\\");s.attr(\\\"id\\\",r),n&&s.attr(\\\"style\\\",n);const a=s.append(\\\"svg\\\").attr(\\\"id\\\",e).attr(\\\"width\\\",\\\"100%\\\").attr(\\\"xmlns\\\",mY);return i&&a.attr(\\\"xmlns:xlink\\\",i),a.append(\\\"g\\\"),t};function Uu(t,e){return t.append(\\\"iframe\\\").attr(\\\"id\\\",e).attr(\\\"style\\\",\\\"width: 100%; height: 100%;\\\").attr(\\\"sandbox\\\",\\\"\\\")}const eb=(t,e,r,n)=>{var i,s,a;(i=t.getElementById(e))==null||i.remove(),(s=t.getElementById(r))==null||s.remove(),(a=t.getElementById(n))==null||a.remove()},SY=function(t,e,r,n){var m,Q,x,ct,Dt;ol(),po();const i=ge.detectInit(e);i&&(bs(i),E1(i));const s=$();B.debug(s),e.length>((m=s==null?void 0:s.maxTextSize)!=null?m:5e4)&&(e=W4),e=e.replace(/\\\\r\\\\n?/g,`\\n`);const a=\\\"#\\\"+t,o=\\\"i\\\"+t,l=\\\"#\\\"+o,u=\\\"d\\\"+t,d=\\\"#\\\"+u;let f=St(\\\"body\\\");const p=s.securityLevel===H4,g=s.securityLevel===G4,b=s.fontFamily;if(n!==void 0){if(n&&(n.innerHTML=\\\"\\\"),p){const kt=Uu(St(n),o);f=St(kt.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=St(n);Vu(f,t,u,`font-family: ${b}`,q4)}else{if(eb(document,t,u,o),p){const kt=Uu(St(\\\"body\\\"),o);f=St(kt.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=St(\\\"body\\\");Vu(f,t,u)}e=K4(e);let k,T;try{if(k=Md(e),\\\"then\\\"in k)throw new Error(\\\"Diagram is a promise. Use renderAsync.\\\")}catch(kt){k=new Nd(\\\"error\\\"),T=kt}const L=f.select(d).node(),E=k.type,I=L.firstChild,V=I.firstChild,H=Bd.includes(E)?k.renderer.getClasses(e,k):{},G=Q4(s,E,H,a),Y=document.createElement(\\\"style\\\");Y.innerHTML=G,I.insertBefore(Y,V);try{k.renderer.draw(e,t,Ec.version,k)}catch(kt){throw Ld.draw(e,t,Ec.version),kt}const W=f.select(`${d} svg`),N=(x=(Q=k.db).getAccTitle)==null?void 0:x.call(Q),D=(Dt=(ct=k.db).getAccDescription)==null?void 0:Dt.call(ct);rb(E,W,N,D),f.select(`[id=\\\"${t}\\\"]`).selectAll(\\\"foreignobject > *\\\").attr(\\\"xmlns\\\",j4);let w=f.select(d).node().innerHTML;if(B.debug(\\\"config.arrowMarkerAbsolute\\\",s.arrowMarkerAbsolute),w=J4(w,p,pr(s.arrowMarkerAbsolute)),p){const kt=f.select(d+\\\" svg\\\").node();w=tb(w,kt)}else g||(w=io.sanitize(w,{ADD_TAGS:$4,ADD_ATTR:X4}));if(r!==void 0)switch(E){case\\\"flowchart\\\":case\\\"flowchart-v2\\\":r(w,vi.bindFunctions);break;case\\\"gantt\\\":r(w,Z0.bindFunctions);break;case\\\"class\\\":case\\\"classDiagram\\\":r(w,fa.bindFunctions);break;default:r(w)}else B.debug(\\\"CB = undefined!\\\");$3();const M=St(p?l:d).node();if(M&&\\\"remove\\\"in M&&M.remove(),T)throw T;return w},AY=async function(t,e,r,n){var m,Q,x,ct,Dt;ol(),po();const i=ge.detectInit(e);i&&(bs(i),E1(i));const s=$();B.debug(s),e.length>((m=s==null?void 0:s.maxTextSize)!=null?m:5e4)&&(e=W4),e=e.replace(/\\\\r\\\\n?/g,`\\n`);const a=\\\"#\\\"+t,o=\\\"i\\\"+t,l=\\\"#\\\"+o,u=\\\"d\\\"+t,d=\\\"#\\\"+u;let f=St(\\\"body\\\");const p=s.securityLevel===H4,g=s.securityLevel===G4,b=s.fontFamily;if(n!==void 0){if(n&&(n.innerHTML=\\\"\\\"),p){const kt=Uu(St(n),o);f=St(kt.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=St(n);Vu(f,t,u,`font-family: ${b}`,q4)}else{if(eb(document,t,u,o),p){const kt=Uu(St(\\\"body\\\"),o);f=St(kt.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=St(\\\"body\\\");Vu(f,t,u)}e=K4(e);let k,T;try{k=await Md(e)}catch(kt){k=new Nd(\\\"error\\\"),T=kt}const L=f.select(d).node(),E=k.type,I=L.firstChild,V=I.firstChild,H=Bd.includes(E)?k.renderer.getClasses(e,k):{},G=Q4(s,E,H,a),Y=document.createElement(\\\"style\\\");Y.innerHTML=G,I.insertBefore(Y,V);try{await k.renderer.draw(e,t,Ec.version,k)}catch(kt){throw Ld.draw(e,t,Ec.version),kt}const W=f.select(`${d} svg`),N=(x=(Q=k.db).getAccTitle)==null?void 0:x.call(Q),D=(Dt=(ct=k.db).getAccDescription)==null?void 0:Dt.call(ct);rb(E,W,N,D),f.select(`[id=\\\"${t}\\\"]`).selectAll(\\\"foreignobject > *\\\").attr(\\\"xmlns\\\",j4);let w=f.select(d).node().innerHTML;if(B.debug(\\\"config.arrowMarkerAbsolute\\\",s.arrowMarkerAbsolute),w=J4(w,p,pr(s.arrowMarkerAbsolute)),p){const kt=f.select(d+\\\" svg\\\").node();w=tb(w,kt)}else g||(w=io.sanitize(w,{ADD_TAGS:$4,ADD_ATTR:X4}));if(r!==void 0)switch(E){case\\\"flowchart\\\":case\\\"flowchart-v2\\\":r(w,vi.bindFunctions);break;case\\\"gantt\\\":r(w,Z0.bindFunctions);break;case\\\"class\\\":case\\\"classDiagram\\\":r(w,fa.bindFunctions);break;default:r(w)}else B.debug(\\\"CB = undefined!\\\");$3();const M=St(p?l:d).node();if(M&&\\\"remove\\\"in M&&M.remove(),T)throw T;return w};let Bs={};const LY=function(t,e,r,n){try{if(e!==void 0)switch(e=e.trim(),r){case\\\"open_directive\\\":Bs={};break;case\\\"type_directive\\\":if(!Bs)throw new Error(\\\"currentDirective is undefined\\\");Bs.type=e.toLowerCase();break;case\\\"arg_directive\\\":if(!Bs)throw new Error(\\\"currentDirective is undefined\\\");Bs.args=JSON.parse(e);break;case\\\"close_directive\\\":DY(t,Bs,n),Bs=void 0;break}}catch(i){B.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${r}`),B.error(i.message)}},DY=function(t,e,r){switch(B.debug(`Directive type=${e.type} with args:`,e.args),e.type){case\\\"init\\\":case\\\"initialize\\\":{[\\\"config\\\"].forEach(n=>{e.args[n]!==void 0&&(r===\\\"flowchart-v2\\\"&&(r=\\\"flowchart\\\"),e.args[r]=e.args[n],delete e.args[n])}),B.debug(\\\"sanitize in handleDirective\\\",e.args),bs(e.args),B.debug(\\\"sanitize in handleDirective (done)\\\",e.args),E1(e.args);break}case\\\"wrap\\\":case\\\"nowrap\\\":t&&t.setWrap&&t.setWrap(e.type===\\\"wrap\\\");break;case\\\"themeCss\\\":B.warn(\\\"themeCss encountered\\\");break;default:B.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e);break}};function MY(t={}){var r;(t==null?void 0:t.fontFamily)&&!((r=t.themeVariables)!=null&&r.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),iE(t),(t==null?void 0:t.theme)&&t.theme in oi?t.themeVariables=oi[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=oi.default.getThemeVariables(t.themeVariables));const e=typeof t==\\\"object\\\"?nE(t):$p();Qu(e.logLevel),ol()}function rb(t,e,r,n){gY(e,t),yY(e,r,n,e.attr(\\\"id\\\"))}const ze=Object.freeze({render:SY,renderAsync:AY,parse:TY,parseAsync:EY,parseDirective:LY,initialize:MY,getConfig:$,setConfig:Xp,getSiteConfig:$p,updateSiteConfig:sE,reset:()=>{po()},globalReset:()=>{po(ha)},defaultConfig:ha});Qu($().logLevel),po($());let nb=!1;const NY=async function(t,e,r){try{nb?await ab(t,e,r):sb(t,e,r)}catch(n){B.warn(\\\"Syntax Error rendering\\\"),m1(n)&&B.warn(n.str),on.parseError&&on.parseError(n)}},ib=(t,e,r)=>{B.warn(t),m1(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},sb=function(t,e,r){const n=ze.getConfig();t&&(on.sequenceConfig=t),B.debug(`${r?\\\"\\\":\\\"No \\\"}Callback function found`);let i;if(e===void 0)i=document.querySelectorAll(\\\".mermaid\\\");else if(typeof e==\\\"string\\\")i=document.querySelectorAll(e);else if(e instanceof HTMLElement)i=[e];else if(e instanceof NodeList)i=e;else throw new Error(\\\"Invalid argument nodes for mermaid.init\\\");B.debug(`Found ${i.length} diagrams`),(t==null?void 0:t.startOnLoad)!==void 0&&(B.debug(\\\"Start On Load: \\\"+(t==null?void 0:t.startOnLoad)),ze.updateSiteConfig({startOnLoad:t==null?void 0:t.startOnLoad}));const s=new ge.initIdGenerator(n.deterministicIds,n.deterministicIDSeed);let a;const o=[];for(const l of Array.from(i)){B.info(\\\"Rendering diagram: \\\"+l.id);/*! Check if previously processed */if(l.getAttribute(\\\"data-processed\\\"))continue;l.setAttribute(\\\"data-processed\\\",\\\"true\\\");const u=`mermaid-${s.next()}`;a=l.innerHTML,a=ge.entityDecode(a).trim().replace(/\u003Cbr\\\\s*\\\\/?>/gi,\\\"\u003Cbr/>\\\");const d=ge.detectInit(a);d&&B.debug(\\\"Detected early reinit: \\\",d);try{ze.render(u,a,(f,p)=>{l.innerHTML=f,r!==void 0&&r(u),p&&p(l)},l)}catch(f){ib(f,o,on.parseError)}}if(o.length>0)throw o[0]},BY=t=>{for(const{id:e,detector:r,loader:n}of t)Lp(e,r,n)},IY=async t=>{B.debug(`Loading ${t.length} external diagrams`);const r=(await Promise.allSettled(t.map(async({id:n,detector:i,loader:s})=>{const{diagram:a}=await s();yr(n,a,i)}))).filter(n=>n.status===\\\"rejected\\\");if(r.length>0){B.error(`Failed to load ${r.length} external diagrams`);for(const n of r)B.error(n);throw new Error(`Failed to load ${r.length} external diagrams`)}},ab=async function(t,e,r){const n=ze.getConfig();t&&(on.sequenceConfig=t),B.debug(`${r?\\\"\\\":\\\"No \\\"}Callback function found`);let i;if(e===void 0)i=document.querySelectorAll(\\\".mermaid\\\");else if(typeof e==\\\"string\\\")i=document.querySelectorAll(e);else if(e instanceof HTMLElement)i=[e];else if(e instanceof NodeList)i=e;else throw new Error(\\\"Invalid argument nodes for mermaid.init\\\");B.debug(`Found ${i.length} diagrams`),(t==null?void 0:t.startOnLoad)!==void 0&&(B.debug(\\\"Start On Load: \\\"+(t==null?void 0:t.startOnLoad)),ze.updateSiteConfig({startOnLoad:t==null?void 0:t.startOnLoad}));const s=new ge.initIdGenerator(n.deterministicIds,n.deterministicIDSeed);let a;const o=[];for(const l of Array.from(i)){B.info(\\\"Rendering diagram: \\\"+l.id);/*! Check if previously processed */if(l.getAttribute(\\\"data-processed\\\"))continue;l.setAttribute(\\\"data-processed\\\",\\\"true\\\");const u=`mermaid-${s.next()}`;a=l.innerHTML,a=ge.entityDecode(a).trim().replace(/\u003Cbr\\\\s*\\\\/?>/gi,\\\"\u003Cbr/>\\\");const d=ge.detectInit(a);d&&B.debug(\\\"Detected early reinit: \\\",d);try{await ze.renderAsync(u,a,(f,p)=>{l.innerHTML=f,r!==void 0&&r(u),p&&p(l)},l)}catch(f){ib(f,o,on.parseError)}}if(o.length>0)throw o[0]},OY=function(t){ze.initialize(t)},RY=async(t,{lazyLoad:e=!0}={})=>{e?BY(t):await IY(t),nb=!0},ob=function(){if(on.startOnLoad){const{startOnLoad:t}=ze.getConfig();t&&on.init()}};if(typeof document\u003C\\\"u\\\"){/*!\\n * Wait for document loaded before starting the execution\\n */window.addEventListener(\\\"load\\\",ob,!1)}const FY=function(t){on.parseError=t},PY=t=>ze.parse(t,on.parseError),zu=[];let Od=!1;const lb=async()=>{if(!Od){for(Od=!0;zu.length>0;){const t=zu.shift();if(t)try{await t()}catch(e){B.error(\\\"Error executing queue\\\",e)}}Od=!1}},YY=t=>new Promise((e,r)=>{const n=()=>new Promise((i,s)=>{ze.parseAsync(t,on.parseError).then(a=>{i(a),e(a)},a=>{B.error(\\\"Error parsing\\\",a),s(a),r(a)})});zu.push(n),lb()}),VY=(t,e,r,n)=>new Promise((i,s)=>{const a=()=>new Promise((o,l)=>{ze.renderAsync(t,e,r,n).then(u=>{o(u),i(u)},u=>{B.error(\\\"Error parsing\\\",u),l(u),s(u)})});zu.push(a),lb()}),on={startOnLoad:!0,diagrams:{},mermaidAPI:ze,parse:PY,parseAsync:YY,render:ze.render,renderAsync:VY,init:NY,initThrowsErrors:sb,initThrowsErrorsAsync:ab,registerExternalDiagrams:RY,initialize:OY,parseError:void 0,contentLoaded:ob,setParseErrorHandler:FY};return on});\\n//# sourceMappingURL=mermaid.min.js.map\",\"module-type\":\"library\",\"type\":\"application/javascript\"},\"$:/plugins/orange/mermaid-tw5/readme\":{\"title\":\"$:/plugins/orange/mermaid-tw5/readme\",\"text\":\"This is a TiddlyWiki plugin for using [[mermaid.js|https://github.com/mermaid-js/mermaid]]. It is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js. It is currently based on [[mermaid.js 9.3.0|https://github.com/mermaid-js/mermaid/releases/tag/v9.3.0]]\\n\\n\\n!Installation\\n\\nYou can drag the plugin link into your TiddlyWiki to install, from http://efurlanm.github.io/mermaid-tw5\\n\\n\\n!Info\\n\\nThe Mermaid TW5 Plugin is based on:\\n\\n* http://github.com/gt6796c/mermaid-tw5\\n* http://github.com/jasonmhoule/tw5-mermaid\\n* http://github.com/cedarvera/mermaid-tw5\\n* http://github.com/jceb/mermaid-tw5\\n* https://github.com/mermaid-js/mermaid\\n* and others\\n\\nThere is a [[post|https://talk.tiddlywiki.org/t/mermaid-tw5-plugin-update-to-mermaid-8-13-2/1117]] on the TiddlyWiki 5 Discourse discussion group for end users, regarding this plugin.\\n\"},\"$:/plugins/orange/mermaid-tw5/typed-parser.js\":{\"title\":\"$:/plugins/orange/mermaid-tw5/typed-parser.js\",\"text\":\"/*\\ntitle: $:/plugins/orange/mermaid-tw5/typed-parser.js\\ntype: application/javascript\\nmodule-type: parser\\nauthor: Nathaniel Jones 2017-05-26\\nmodified: E Furlan 2022-05-08\\n\\nThis parser wraps unadorned railroad syntax into a railroad widget\\n\\n*/\\n(function() {\\n // jslint node: true, browser: true\\n // global $tw: false\\n 'use strict';\\n let MermaidParser = function(type, text, options) {\\n let element = {\\n type: \\\"mermaid\\\",\\n tag: \\\"$mermaid\\\",\\n text: text\\n };\\n this.tree = [element];\\n };\\n exports[\\\"text/vnd.tiddlywiki.mermaid\\\"] = MermaidParser;\\n})();\\n\",\"module-type\":\"parser\",\"type\":\"application/javascript\"},\"$:/plugins/orange/mermaid-tw5/usage\":{\"title\":\"$:/plugins/orange/mermaid-tw5/usage\",\"text\":\"!mermaid\\n\\nUse the ``\u003C$mermaid>`` widget and place the mermaid commands within it. Any of the options that can be specified\\nin the ``.render()`` options variable can be specified as JSON-encoded values in attributes of the same name on the widgets.\\nThe values of the attributes can also be the title of Data Tiddlers and the values will be used from the referenced Tiddler.\\nYou can set the type of a Tiddler to text/vnd.tiddlywiki.mermaid and use the native commands directly in the Tiddler body. You can\\nadd fields that are the names below prefixed with 'mermaid'. So \\\"theme\\\" becomes \\\"mermaid-theme\\\"\\n\\n!Troubleshooting\\n\\n*When in doubt, please create a test case by creating a tiddler that has ``type=text/vnd.tiddlywiki.mermaid`` and contains ''only'' mermaid commands, (no TW markup or other contents)\\n*TW treats any text inside of a Tiddler designated as a \\\"normal Twiddler\\\" (meaning type=text/vnd.tiddlywiki) as Tiddler Markup. Full stop. I've put into place some \\\"unparsing\\\" but it is twitchy difficult to maintain and buggy. So if you have cool, advanced uses of mermaid that fail in the ``\u003C$mermaid>`` tag but work on with the type setup as mermaid, then that is probably the best you're going to get\\n*As much as I'd like to make this not be this way, it just isn't possible with my skills/understanding\\n*JSON encoding only allows double-quotes ``\\\"`` as string delimiters\\n*JSON encoding requires double-quotes around single string values\\n\"},\"$:/plugins/orange/mermaid-tw5/widget-tools.js\":{\"title\":\"$:/plugins/orange/mermaid-tw5/widget-tools.js\",\"text\":\"/*\\ntitle: $:/plugins/orange/mermaid-tw5/widget-tools.js\\ntype: application/javascript\\nauthor: Nathaniel Jones 2017-05-26\\nmodified: E Furlan 2022-05-08\\n*/\\n(function() {\\n \\\"use strict\\\";\\n\\n function Rocklib() {\\n this.uniqueID = 1;\\n this.hue = .2;\\n };\\n // tries to un-parse the wikitext. of dubious value\\n Rocklib.prototype.getScriptBody = function(src, attr) {\\n var scriptBody = src.getAttribute(attr, src\\n .parseTreeNode.text || \\\"\\\");\\n if (src.parseTreeNode.text) {\\n scriptBody = src.parseTreeNode.text;\\n } else if (src.parseTreeNode.children) {\\n var kids = src.parseTreeNode.children;\\n for (var k in kids) {\\n var kk = kids[k];\\n switch (kk.type) {\\n // no wikiparsing found\\n case \\\"text\\\":\\n scriptBody += kk.text;\\n break;\\n // internal link, make it a permalink reference\\n case \\\"link\\\":\\n scriptBody += \\\"#\\\" + kk.children[0].text;\\n break;\\n // -- gets interpreted as an HTML element, we\\n // don't want that\\n case \\\"entity\\\":\\n switch (kk.entity) {\\n case \\\"–\\\":\\n scriptBody += \\\"--\\\";\\n break;\\n };\\n break;\\n // just re-write it back out\\n case \\\"element\\\":\\n switch (kk.tag) {\\n case \\\"a\\\":\\n scriptBody += kk.children[0]\\n .text;\\n }\\n };\\n }\\n }\\n return scriptBody;\\n };\\n /*\\n Runs through lots of ways to get options. It can pull them from a\\n named data Tiddler, from the fields of the Tiddler, and from the\\n attributes of the widget specified by 'tag'. Any value pulled is\\n treated as JSON first and then as straight text.\\n @param src\\n @param tag\\n @param options\\n @returns {*}\\n */\\n Rocklib.prototype.getOptions = function(src, tag, options) {\\n try {\\n // try to set options from fields on tiddler first\\n // [tag-xxx]\\n var tt = src.getVariable('currentTiddler');\\n if (tt) {\\n var t = src.wiki.getTiddler(tt);\\n if (t) {\\n // this looks for fields that start with our tag\\n // and then maps a.x to aX since something is\\n // unCamelCasing the vars\\n for (var f in t.fields) {\\n var fi = f.indexOf(tag);\\n if (fi != 0) continue;\\n var k = f.substring(tag.length + 1);\\n var cap = k.indexOf(\\\".\\\");\\n while (cap > -1) {\\n if (k.length \u003C cap + 2) break;\\n k = k.substring(0, cap) + k.charAt(\\n cap + 1)\\n .toUpperCase() + k.substring(\\n cap + 2);\\n cap = k.indexOf(\\\".\\\");\\n }\\n var v = t.fields[f];\\n // try as JSON\\n try {\\n options[k] = JSON.parse(v);\\n }\\n // last attempt is just a string\\n catch (ex) {\\n options[k] = v;\\n }\\n }\\n }\\n }\\n // treat any attributes as JSON representations of options\\n // for the object\\n for (var att in src.attributes) {\\n var attval = src.getAttribute(att);\\n // allow for data from named tiddlers\\n if ($tw.wiki.tiddlerExists(attval)) {\\n var data = $tw.wiki.getTiddlerData(attval);\\n options[att] = data;\\n } else {\\n // try as JSON\\n try {\\n options[att] = JSON.parse(attval);\\n }\\n // last attempt is just a string\\n catch (ex) {\\n options[att] = attval;\\n }\\n }\\n }\\n } catch (ex) {\\n console.error(ex);\\n }\\n return options;\\n };\\n /*\\n Retrieves a canvas to work with based on the calling functions\\n need of a \\\"div\\\" or \\\"canvas\\\" element\\n @param src\\n @param tag\\n @param type\\n @returns {Element}\\n */\\n Rocklib.prototype.getCanvas = function(src, tag, type) {\\n type = typeof(type) === \\\"undefined\\\" ? \\\"div\\\" : type;\\n var height = src.getAttribute(\\\"height\\\");\\n var width = src.getAttribute(\\\"width\\\");\\n var canvas = src.document.createElement(type);\\n var style = \\\"\\\";\\n if (type === \\\"canvas\\\") {\\n if (width) canvas.width = width;\\n if (height) canvas.height = height;\\n } else {\\n if (height) style += \\\" height:\\\" + height;\\n if (width) style += \\\" width:\\\" + width;\\n if (style) canvas.setAttribute(\\\"style\\\", style);\\n }\\n canvas.setAttribute(\\\"id\\\", tag + \\\"_\\\" + this.uniqueID);\\n this.uniqueID++;\\n return canvas;\\n };\\n /*\\n Based on \u003Chttp://martin.ankerl.com/2009/12/09/how-to-create-\\n random-colors-programmatically/>\\n @param s\\n @param v\\n @returns {string}\\n */\\n Rocklib.prototype.nextColor = function(s, v) {\\n var golden_ratio_conjugate = 0.618033988749895\\n this.hue += golden_ratio_conjugate;\\n this.hue %= 1;\\n var rgb = this.hsv_to_rgb(this.hue, s, v);\\n return \\\"#\\\" + rgb.r.toString(16) + rgb.g.toString(16) +\\n rgb.b.toString(16);\\n };\\n /*\\n Taken from \u003Chttp://stackoverflow.com/questions/17242144/\\n javascript-convert-hsb-hsv-color-to-rgb-accurately>\\n accepts parameters\\n r Object = {r:x, g:y, b:z}\\n OR\\n r, g, b\\n */\\n Rocklib.prototype.rgb_to_hsv = function(r, g, b) {\\n if (arguments.length === 1) {\\n g = r.g, b = r.b, r = r.r;\\n }\\n var max = Math.max(r, g, b),\\n min = Math.min(r, g, b),\\n d = max - min,\\n h,\\n s = (max === 0 ? 0 : d / max),\\n v = max / 255;\\n switch (max) {\\n case min:\\n h = 0;\\n break;\\n case r:\\n h = (g - b) + d * (g \u003C b ? 6 : 0);\\n h /= 6 * d;\\n break;\\n case g:\\n h = (b - r) + d * 2;\\n h /= 6 * d;\\n break;\\n case b:\\n h = (r - g) + d * 4;\\n h /= 6 * d;\\n break;\\n }\\n return {\\n h: h,\\n s: s,\\n v: v\\n };\\n };\\n /*\\n Taken from \u003Chttp://stackoverflow.com/questions/17242144/\\n javascript-convert-hsb-hsv-color-to-rgb-accurately>\\n accepts parameters\\n h Object = {h:x, s:y, v:z}\\n OR\\n h, s, v\\n */\\n Rocklib.prototype.hsv_to_rgb = function(h, s, v) {\\n var r, g, b, i, f, p, q, t;\\n if (arguments.length === 1) {\\n s = h.s, v = h.v, h = h.h;\\n }\\n i = Math.floor(h * 6);\\n f = h * 6 - i;\\n p = v * (1 - s);\\n q = v * (1 - f * s);\\n t = v * (1 - (1 - f) * s);\\n switch (i % 6) {\\n case 0:\\n r = v, g = t, b = p;\\n break;\\n case 1:\\n r = q, g = v, b = p;\\n break;\\n case 2:\\n r = p, g = v, b = t;\\n break;\\n case 3:\\n r = p, g = q, b = v;\\n break;\\n case 4:\\n r = t, g = p, b = v;\\n break;\\n case 5:\\n r = v, g = p, b = q;\\n break;\\n }\\n return {\\n r: Math.round(r * 255),\\n g: Math.round(g * 255),\\n b: Math.round(b * 255)\\n };\\n };\\n exports.rocklib = Rocklib;\\n})();\\n\",\"module-type\":\"library\",\"type\":\"application/javascript\"},\"$:/plugins/orange/mermaid-tw5/wrapper.js\":{\"title\":\"$:/plugins/orange/mermaid-tw5/wrapper.js\",\"text\":\"/*\\ntitle: $:/plugins/orange/mermaid-tw5/wrapper.js\\ntype: application/javascript\\nmodule-type: widget\\nauthor: Nathaniel Jones 2017-05-26\\nmodified: E Furlan 2022-05-08\\n*/\\n(function() {\\n // jslint node: true, browser: true\\n // global $tw: false\\n 'use strict';\\n\\n var uniqueID = 1,\\n Rocklib = require(\\\"$:/plugins/orange/mermaid-tw5/widget-tools.js\\\").rocklib,\\n Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget,\\n rocklib = new Rocklib(),\\n mermaidAPI = require(\\\"$:/plugins/orange/mermaid-tw5/mermaid.min.js\\\")\\n .mermaidAPI;\\n\\n // Changes to run on TiddlyWiki for Node.js - 2022-12-28\\n // if($tw.browser && !window.mermaidAPI) {\\n // window.rocklib = new Rocklib();\\n // window.mermaidAPI = require(\\\"$:/plugins/orange/mermaid-tw5/mermaid.min.js\\\")\\n // .mermaidAPI;\\n // }\\n\\n let MermaidWidget = function(parseTreeNode, options) {\\n this.initialise(parseTreeNode, options);\\n };\\n MermaidWidget.prototype = new Widget();\\n // Render this widget into the DOM\\n MermaidWidget.prototype.render = function(parent, nextSibling) {\\n this.parentDomNode = parent;\\n this.computeAttributes();\\n this.execute();\\n var tag = \\\"mermaid\\\",\\n scriptBody = rocklib.getScriptBody(this, \\\"text\\\"),\\n divNode = rocklib.getCanvas(this, tag),\\n _insertSVG = function(svgCode, bindFunctions) {\\n divNode.innerHTML = svgCode;\\n };\\n try {\\n let options = {\\n theme: \\\"\\\"\\n };\\n rocklib.getOptions(this, tag, options);\\n\\n mermaidAPI.render(divNode.id, scriptBody, _insertSVG);\\n // window.mermaidAPI.render(divNode.id, scriptBody, _insertSVG);\\n\\n } catch (ex) {\\n divNode.innerText = ex;\\n }\\n parent.insertBefore(divNode, nextSibling);\\n this.domNodes.push(divNode);\\n };\\n MermaidWidget.prototype.execute = function() {\\n // Nothing to do\\n };\\n /*\\n Selectively refreshes the widget if needed. Returns true if the\\n widget or any of its children needed re-rendering\\n */\\n MermaidWidget.prototype.refresh = function(changedTiddlers) {\\n return false;\\n };\\n exports.mermaid = MermaidWidget;\\n})();\\n\",\"module-type\":\"widget\",\"type\":\"application/javascript\"}}}","revision":"0","bag":"default","icon":"https://mermaid-js.github.io/mermaid/img/header.png"}, {"title":"$:/plugins/sq/ExternalContent","name":"External Content","description":"Load content from another TiddlyWiki","author":"Saq Imtiaz","core-version":">=5.3.0","plugin-priority":"0","list":"readme settings","version":"0.0.4","plugin-type":"plugin","dependents":"","type":"application/json","text":"{\n \"tiddlers\": {\n \"$:/config/sq/ExternalContent/load-on-startup\": {\n \"title\": \"$:/config/sq/ExternalContent/load-on-startup\",\n \"text\": \"yes\"\n },\n \"$:/plugins/sq/ExternalContent/filters/jsonfiltertiddlers.js\": {\n \"title\": \"$:/plugins/sq/ExternalContent/filters/jsonfiltertiddlers.js\",\n \"text\": \"/*\\\\\\ntitle: $:/plugins/sq/ExternalContent/filters/jsonfiltertiddlers.js\\ntype: application/javascript\\nmodule-type: filteroperator\\ndescription: Interpret each incoming title as a JSON array of tiddlers and return tiddlers that match the filter expression\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports[\\\"jsonfiltertiddlers\\\"] = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tlet data = $tw.utils.parseJSONSafe(title),\\n\\t\\t\\toutput = [];\\n\\t\\tif(data && Array.isArray(data)) {\\n\\t\\t\\tlet tempWiki = new $tw.Wiki();\\n\\t\\t\\ttempWiki.addTiddlers(data);\\n\\t\\t\\tlet outputTitles = tempWiki.filterTiddlers(operator.operand||\\\"\\\");\\n\\t\\t\\toutputTitles.forEach(title => {\\n\\t\\t\\t\\tlet tiddler = tempWiki.getTiddler(title);\\n\\t\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t\\tlet fields = tiddler.getFieldStrings();;\\n\\t\\t\\t\\t\\toutput.push(fields)\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t\\tresults.push(JSON.stringify(output));\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\n \"type\": \"application/javascript\",\n \"module-type\": \"filteroperator\",\n \"description\": \"Interpret each incoming title as a JSON array of tiddlers and return tiddlers that match the filter expression\"\n },\n \"$:/plugins/sq/ExternalContent/loadWikiActions\": {\n \"title\": \"$:/plugins/sq/ExternalContent/loadWikiActions\",\n \"code-body\": \"yes\",\n \"text\": \"\\\\procedure startupConfigTitle() $:/config/sq/ExternalContent/load-on-startup\\n\\\\procedure loadWikiActions(wikiURL,contentFilter,deserializer)\\n\\t\u003C!-- actions invoked after fetching the remote data -->\\n\\t\\\\procedure getWikiCallback()\\n\\t\\t\u003C!-- actions to turn the remote data into tiddlers -->\\n\\t\\t\\\\procedure importTiddlers()\\n\\t\\t\\t\u003C$let\\n\\t\\t\\t\\tpassthroughFilter=\\\"[all[]]\\\"\\n\\t\\t\\t\\tdefaultDeserializer=\\\"text/html\\\"\\n\\t\\t\\t\\tcontentFilter={{{ [\u003CcontentFilter>!is[blank]else\u003CpassthroughFilter>] }}}\\n\\t\\t\\t\\tdeserializer={{{ [\u003Cdeserializer>!is[blank]else\u003CdefaultDeserializer>] }}}\\n\\t\\t\\t\\ttiddlerJSON={{{[\u003Cdata>deserialize\u003Cdeserializer>jsonfiltertiddlers\u003CcontentFilter>]}}}\\n\\t\\t\\t\\ttiddlers={{{ [\u003CtiddlerJSON>jsonindexes[]] :map[\u003CtiddlerJSON>jsonget\u003CcurrentTiddler>,[title]] :and[format:titlelist[]join[ ]] }}}\\n\\t\\t\\t>\\n\\t\\t\\t\u003C$action-log $$filter=\\\"wikiURL contentFilter deserializer tiddlers tiddlerJSON\\\"/>\\n\\t\\t\\t\\t\u003C!-- iterate over each position in the array -->\\n\\t\\t\\t\\t\u003C$list filter=\\\"[\u003CtiddlerJSON>jsonindexes[]]\\\" variable=\\\"index\\\">\\n\\t\\t\\t\\t\\t\u003C!-- get the tiddler at that position in the array from the JSON -->\\n\\t\\t\\t\\t\\t\u003C$let\\n\\t\\t\\t\\t\\t\\ttiddler={{{ [\u003CtiddlerJSON>jsonextract\u003Cindex>] }}} \\n\\t\\t\\t\\t\\t\\ttitle={{{ [\u003Ctiddler>jsonget[title]] }}}\\n\\t\\t\\t\\t\\t>\\n\\t\\t\\t\\t\\t\\t\u003C!-- make sure we have a title for the tiddler and exclude system tiddlers -->\\n\\t\\t\\t\\t\\t\\t\u003C$list filter=\\\"[\u003Ctitle>!is[blank]]\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-setmultiplefields\\n\\t\\t\\t\\t\\t\\t\\t\\t$fields=\\\"[\u003Ctiddler>jsonindexes[]] externalTiddler is_volatile includeTimestamp\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t$values=\\\"[\u003Ctiddler>jsonindexes[]] :map[\u003Ctiddler>jsonget\u003CcurrentTiddler>!is[blank]else[]] =yes =yes [\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ssXXX>]\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t$timestamp=\\\"no\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t/>\\n\\t\\t\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\\\\end importTiddlers\\n\\t\\t\u003C!-- actions invoked if there is an error fetching the data -->\\n\\t\\t\\\\procedure failureHandler()\\n\\t\\t\\t\u003C$action-log status=\\\"error fetching the wiki\\\"/>\\n\\t\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/temp/http/error/]addsuffix\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ssXXX]>] }}} text={{{ [[There was an error fetching the wiki ]addsuffix\u003CwikiURL>addsuffix\u003Cerror>] }}} tags=\\\"$:/tags/Alert\\\"/>\\n\\t\\t\\\\end failureHandler\\n\\t\\t\u003C$list filter=\\\"[\u003Cstatus>match[200]]\\\" variable=\\\"null\\\" emptyValue=\u003C\u003CfailureHandler>> >\\n\\t\\t\\t\u003C$action-log data=\u003C\u003Cdata>> status=\\\"succcess\\\" />\\n\\t\\t\\t\u003C\u003CimportTiddlers>>\\n\\t\\t\u003C/$list>\\n\\t\\\\end getWikiCallback\\n\\n\\t\u003C!-- fetch the remote data source-->\\n\\t\\\\procedure getWikiActions()\\n\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t$message=\\\"tm-http-request\\\"\\n\\t\\t\\tmethod=\\\"GET\\\"\\n\\t\\t\\tbind-status={{{ [[$:/temp/http/load-content/]addsuffix\u003CwikiURL>] }}}\\n\\t\\t\\toncompletion=\u003C\u003CgetWikiCallback>>\\n\\t\\t\\turl=\u003C\u003CwikiURL>>\\n\\t\\t\\tvar-wikiURL=\u003C\u003CwikiURL>>\\n\\t\\t\\tvar-contentFilter=\u003C\u003CcontentFilter>>\\n\\t\\t\\tvar-deserializer=\u003C\u003Cdeserializer>>\\n\\t\\t\\t>\\n\\t\\\\end getWikiActions\\n\\n\u003C!-- check if its a tiddlyhost URL and if so map it to the json file /tiddlers.json, also trim any trailing slashes -->\\n\\n\u003C$let isTiddlyHost={{{ [\u003CwikiURL>regexp[(?i)^https:\\\\/\\\\/\\\\S+tiddlyhost.com]then[yes]else[no]] }}}\\n\\twikiURL={{{ [\u003CisTiddlyHost>match[yes]] :then[\u003CwikiURL>trim:suffix[/]trim:suffix[tiddlers.json]addsuffix[/tiddlers.json]] :else[\u003CwikiURL>] }}}\\n\\tdeserializer={{{ [\u003CisTiddlyHost>match[yes]then[application/json]else\u003Cdeserializer>] }}}\\n\\t>\\n\\t\u003C$action-log $$filter=\\\"isTiddlyHost wikiURL deserializer\\\"/>\\n\\t\u003C\u003CgetWikiActions>>\\n\u003C/$let>\\n\\\\end loadWikiActions\\n\\n\\n\u003C!-- ARE IMAGES IMPORTING CORRECTLY? -->\"\n },\n \"$:/plugins/sq/ExternalContent/readme\": {\n \"title\": \"$:/plugins/sq/ExternalContent/readme\",\n \"text\": \"!!Import content from other online wikis\\n\\nNote that content is loaded immediately after the wiki starts up, therefore JavaScript modules and tiddlers that are meant to influence the startup behaviour will not take effect if loaded in this manner. The wiki from which content is to be imported must be hosted on a server with CORS support, such as TiddlyHost or GitHub pages.\\n\\n!! Excluding imported content from being saved with the wiki\\n''If you do not want the imported tiddlers to be saved with the host wiki, you must exclude them:''\\n\\n* for single file TiddlyWikis you need to create or amend the global variable publishFilter by adding `-[is_volatile[yes]]`\\n** if you have not previously defined a publishFilter, create a tiddler with the title `$:/publishFilter` with the tag `$:/tags/Global` where the text field consists of `-[is_volatile[yes]]`\\n* for TiddlyWiki on node.js, modify the tiddler `$:/config/SyncFilter` and append `-[is_volatile[yes]]`\\n\\n!! Loading content on startup\\n\\nFor each wiki from which you want to load content on startup, create a tiddler tagged with `$:/tags/load-external-content` with the following fields:\\n\\n|tags |~$:/tags/load-external-content |\\n|text |the URL of the wiki from which to import tiddlers |\\n|content-filter |(optional) filter that determines which tiddlers to import from the target wiki. Note you can filter out system tiddlers or config tiddlers that might not be desirable. |\\n|deserializer|(optional) defaults to `text/html` which is appropriate for TiddlyWiki files |\\n\\nNote: for TiddlyHost files the plugin automatically downloads just the tiddler.json file provided by TiddlyHost and chooses the appropriate deserializer, to decrease the bandwidth used.\\n\\n!! Loading content on demand\\n\\nImport variables from the tiddler `$:/plugins/sq/ExternalContent/loadWikiActions` and use the procedure `loadWikiActions` in an action string.\\n\\nExample:\\n\\n```\\n\\\\procedure loadMyWiki()\\n\\\\import [[$:/plugins/sq/ExternalContent/loadWikiActions]]\\n\u003C$transclude\\n $variable=\\\"loadWikiActions\\\"\\n wikiURL=\\\"https://tiddlywiki.com\\\"\\n contentFilter=\\\"[!is[system]tag[Working with TiddlyWiki]]\\\"\\n deseralizer=\\\"text/html\\\"\\n />\\n\\\\end\\n\\n\u003C$button actions=\u003C\u003CloadMyWiki>> > load content \u003C/$button>\\n\\n```\"\n },\n \"$:/plugins/sq/ExternalContent/settings\": {\n \"title\": \"$:/plugins/sq/ExternalContent/settings\",\n \"text\": \"\u003C$checkbox tiddler=\\\"$:/config/sq/ExternalContent/load-on-startup\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"> Load external content on startup\u003C/$checkbox>\\n\\nWikis to load content from on startup:\\n\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/load-external-content]]\\\">\\n\\n|Defined in |\u003C$link/> |\\n|URL |{{!!text}} |\\n|content-filter|\u003C$text text={{!!content-filter}}/> |\\n|deseralizer|\u003C$text text={{!!deserializer}}/>|\\n\\n\u003C/$list>\\n\\n\u003C$button>\\n\u003C$action-sendmessage $message=\\\"tm-new-tiddler\\\" title=\\\"Please enter the wiki name here\\\" tags=\\\"$:/tags/load-external-content\\\" text=\\\"Replace this text with the URL\\\" content-filter=\\\"\\\" deseralizer=\\\"\\\"/>\\nAdd wiki to load content from\\n\u003C/$button>\"\n },\n \"$:/plugins/sq/ExternalContent/startupActions\": {\n \"title\": \"$:/plugins/sq/ExternalContent/startupActions\",\n \"tags\": \"$:/tags/StartupAction/PostRender\",\n \"code-body\": \"yes\",\n \"text\": \"\\\\import [[$:/plugins/sq/ExternalContent/loadWikiActions]]\\n\\n\u003C% if [\u003CstartupConfigTitle>get[text]trim[]match[yes]] %>\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/load-external-content]!is[draft]]\\\">\\n\\t\u003C$transclude\\n\\t\\t$variable=\\\"loadWikiActions\\\"\\n\\t\\twikiURL={{{ [\u003CcurrentTiddler>get[text]] }}}\\n\\t\\tcontentFilter={{{ [\u003CcurrentTiddler>get[content-filter]] }}}\\n\\t\\tdeseralizer={{{ [\u003CcurrentTiddler>get[deseralizer]] }}}\\n\\t\\t/>\\n\u003C/$list>\\n\u003C% endif %>\"\n }\n }\n}"}, -{"created":"20240304130327942","text":"\\procedure startupConfigTitle() $:/config/sq/ExternalContent/load-on-startup\n\\procedure loadWikiActions(wikiURL,contentFilter,deserializer)\n\t\u003C!-- actions invoked after fetching the remote data -->\n\t\\procedure getWikiCallback()\n\t\t\u003C!-- actions to turn the remote data into tiddlers -->\n\t\t\\procedure importTiddlers()\n\t\t\t\u003C$let\n\t\t\t\tpassthroughFilter=\"[all[]]\"\n\t\t\t\tdefaultDeserializer=\"text/html\"\n\t\t\t\tcontentFilter={{{ [\u003CcontentFilter>!is[blank]else\u003CpassthroughFilter>] }}}\n\t\t\t\tdeserializer={{{ [\u003Cdeserializer>!is[blank]else\u003CdefaultDeserializer>] }}}\n\t\t\t\ttiddlerJSON={{{[\u003Cdata>deserialize\u003Cdeserializer>jsonfiltertiddlers\u003CcontentFilter>]}}}\n\t\t\t\ttiddlers={{{ [\u003CtiddlerJSON>jsonindexes[]] :map[\u003CtiddlerJSON>jsonget\u003CcurrentTiddler>,[title]] :and[format:titlelist[]join[ ]] }}}\n\t\t\t>\n\t\t\t\u003C$action-log $$filter=\"wikiURL contentFilter deserializer tiddlers tiddlerJSON\"/>\n\t\t\t\t\u003C!-- iterate over each position in the array -->\n\t\t\t\t\u003C$list filter=\"[\u003CtiddlerJSON>jsonindexes[]]\" variable=\"index\">\n\t\t\t\t\t\u003C!-- get the tiddler at that position in the array from the JSON -->\n\u003C!-- get the tiddler at that position in the array from the JSON -->\n\u003C$let\n tiddler={{{ [\u003CtiddlerJSON>jsonextract\u003Cindex>] }}}\n title={{{ [\u003Ctiddler>jsonget[title]] }}}\n newtags={{{ [\u003Ctiddler>jsonget[tags]] [{$:/config/NewTiddler/Tags}] :and[join[ ]] }}} \n>\n \n \u003C$action-log title=\u003C\u003Ctitle>> />\n\n \u003C!-- make sure we have a title for the tiddler and exclude system tiddlers -->\n \u003C$list filter=\"[\u003Ctitle>!is[blank]]\">\n \u003C$action-setmultiplefields\n $fields=\"[\u003Ctiddler>jsonindexes[]] externalTiddler is_volatile includeTimestamp =tags\"\n $values=\"[\u003Ctiddler>jsonindexes[]] :map[\u003Ctiddler>jsonget\u003CcurrentTiddler>!is[blank]else[]] =yes =yes [\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ssXXX>] =[\u003Cnewtags>]\"\n $timestamp=\"no\"\n />\n \u003C/$list>\n\u003C/$let>\n\t\t\t\t\u003C/$list>\n\t\t\t\u003C/$let>\n\t\t\\end importTiddlers\n\t\t\u003C!-- actions invoked if there is an error fetching the data -->\n\t\t\\procedure failureHandler()\n\t\t\t\u003C$action-log status=\"error fetching the wiki\"/>\n\t\t\t\u003C$action-setfield $tiddler={{{ [[$:/temp/http/error/]addsuffix\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ssXXX]>] }}} text={{{ [[There was an error fetching the wiki ]addsuffix\u003CwikiURL>addsuffix\u003Cerror>] }}} tags=\"$:/tags/Alert\"/>\n\t\t\\end failureHandler\n\t\t\u003C$list filter=\"[\u003Cstatus>match[200]]\" variable=\"null\" emptyValue=\u003C\u003CfailureHandler>> >\n\t\t\t\u003C$action-log data=\u003C\u003Cdata>> status=\"succcess\" />\n\t\t\t\u003C\u003CimportTiddlers>>\n\t\t\u003C/$list>\n\t\\end getWikiCallback\n\n\t\u003C!-- fetch the remote data source-->\n\t\\procedure getWikiActions()\n\t\t\u003C$action-sendmessage\n\t\t\t$message=\"tm-http-request\"\n\t\t\tmethod=\"GET\"\n\t\t\tbind-status={{{ [[$:/temp/http/load-content/]addsuffix\u003CwikiURL>] }}}\n\t\t\toncompletion=\u003C\u003CgetWikiCallback>>\n\t\t\turl=\u003C\u003CwikiURL>>\n\t\t\tvar-wikiURL=\u003C\u003CwikiURL>>\n\t\t\tvar-contentFilter=\u003C\u003CcontentFilter>>\n\t\t\tvar-deserializer=\u003C\u003Cdeserializer>>\n\t\t\t>\n\t\\end getWikiActions\n\n\u003C!-- check if its a tiddlyhost URL and if so map it to the json file /tiddlers.json, also trim any trailing slashes -->\n\n\u003C$let isTiddlyHost={{{ [\u003CwikiURL>regexp[(?i)^https:\\/\\/\\S+tiddlyhost.com]then[yes]else[no]] }}}\n\twikiURL={{{ [\u003CisTiddlyHost>match[yes]] :then[\u003CwikiURL>!suffix[tiddlers.json]trim:suffix[/]addsuffix[/tiddlers.json]] :else[\u003CwikiURL>] }}}\n\tdeserializer={{{ [\u003CisTiddlyHost>match[yes]then[application/json]else\u003Cdeserializer>] }}}\n\t>\n\t\u003C$action-log $$filter=\"isTiddlyHost wikiURL deserializer\"/>\n\t\u003C\u003CgetWikiActions>>\n\u003C/$let>\n\\end loadWikiActions\n\n\n\u003C!-- ARE IMAGES IMPORTING CORRECTLY? -->","title":"$:/plugins/sq/ExternalContent/loadWikiActions","code-body":"yes","modified":"20240305183237776","tags":""}, +{"created":"20240304130327942","text":"\\procedure startupConfigTitle() $:/config/sq/ExternalContent/load-on-startup\n\\procedure loadWikiActions(wikiURL,contentFilter,deserializer)\n \u003C!-- actions invoked after fetching the remote data -->\n \\procedure getWikiCallback()\n \u003C!-- actions to turn the remote data into tiddlers -->\n \\procedure importTiddlers()\n \u003C$let\n passthroughFilter=\"[all[]]\"\n defaultDeserializer=\"text/html\"\n contentFilter={{{ [\u003CcontentFilter>!is[blank]else\u003CpassthroughFilter>] }}}\n deserializer={{{ [\u003Cdeserializer>!is[blank]else\u003CdefaultDeserializer>] }}}\n tiddlerJSON={{{[\u003Cdata>deserialize\u003Cdeserializer>jsonfiltertiddlers\u003CcontentFilter>]}}}\n tiddlers={{{ [\u003CtiddlerJSON>jsonindexes[]] :map[\u003CtiddlerJSON>jsonget\u003CcurrentTiddler>,[title]] :and[format:titlelist[]join[ ]] }}}\n >\n \u003C$action-log $$filter=\"wikiURL contentFilter deserializer tiddlers tiddlerJSON\"/>\n \u003C!-- iterate over each position in the array -->\n \u003C$list filter=\"[\u003CtiddlerJSON>jsonindexes[]]\" variable=\"index\">\n\u003C!-- get the tiddler at that position in the array from the JSON -->\n\u003C$let\n tiddler={{{ [\u003CtiddlerJSON>jsonextract\u003Cindex>] }}}\n title={{{ [\u003Ctiddler>jsonget[title]] }}}\n newtags={{{ [\u003Ctiddler>jsonget[tags]] [{$:/config/NewTiddler/Tags}] :and[join[ ]] }}}\n allcaps=\"^[^a-z]*$\"\n>\n \u003C$action-log title=\u003C\u003Ctitle>> />\n\n \u003C!-- Apply is_volatile=yes only for !has[is_volatile] -->\n \u003C$list filter=\"[\u003Ctitle>!is[blank]!has[is_volatile]] -[\u003Ctitle>regexp\u003Callcaps>]\">\n \u003C$action-setmultiplefields\n $fields=\"is_volatile\"\n $values=\"=yes\"\n $timestamp=\"no\"\n />\n \u003C/$list>\n \u003C!-- make sure we have a title for the tiddler should also exclude system tiddlers -->\n \u003C$list filter=\"[\u003Ctitle>!is[blank]] -[\u003Ctitle>regexp\u003Callcaps>]\">\n \u003C$action-setmultiplefields\n $fields=\"[\u003Ctiddler>jsonindexes[]] -is_volatile externalTiddler includeTimestamp =tags\"\n $values=\"[\u003Ctiddler>jsonindexes[]] -is_volatile :map[\u003Ctiddler>jsonget\u003CcurrentTiddler>!is[blank]else[]] =yes [\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ssXXX>] =[\u003Cnewtags>]\"\n $timestamp=\"no\"\n />\n \u003C/$list>\n\n\u003C/$let>\n \u003C/$list>\n \u003C/$let>\n \\end importTiddlers\n \u003C!-- actions invoked if there is an error fetching the data -->\n \\procedure failureHandler()\n \u003C$action-log status=\"error fetching the wiki\"/>\n \u003C$action-setfield $tiddler={{{ [[$:/temp/http/error/]addsuffix\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ssXXX]>] }}} text={{{ [[There was an error fetching the wiki ]addsuffix\u003CwikiURL>addsuffix\u003Cerror>] }}} tags=\"$:/tags/Alert\"/>\n \\end failureHandler\n \u003C$list filter=\"[\u003Cstatus>match[200]]\" variable=\"null\" emptyValue=\u003C\u003CfailureHandler>> >\n \u003C$action-log data=\u003C\u003Cdata>> status=\"succcess\" />\n \u003C\u003CimportTiddlers>>\n \u003C/$list>\n \\end getWikiCallback\n\n \u003C!-- fetch the remote data source-->\n \\procedure getWikiActions()\n \u003C$action-sendmessage\n $message=\"tm-http-request\"\n method=\"GET\"\n bind-status={{{ [[$:/temp/http/load-content/]addsuffix\u003CwikiURL>] }}}\n oncompletion=\u003C\u003CgetWikiCallback>>\n url=\u003C\u003CwikiURL>>\n var-wikiURL=\u003C\u003CwikiURL>>\n var-contentFilter=\u003C\u003CcontentFilter>>\n var-deserializer=\u003C\u003Cdeserializer>>\n >\n \\end getWikiActions\n\n\u003C!-- check if its a tiddlyhost URL and if so map it to the json file /tiddlers.json, also trim any trailing slashes -->\n\n\u003C$let isTiddlyHost={{{ [\u003CwikiURL>regexp[(?i)^https:\\/\\/\\S+tiddlyhost.com]then[yes]else[no]] }}}\n wikiURL={{{ [\u003CisTiddlyHost>match[yes]] :then[\u003CwikiURL>!suffix[tiddlers.json]trim:suffix[/]addsuffix[/tiddlers.json]] :else[\u003CwikiURL>] }}}\n deserializer={{{ [\u003CisTiddlyHost>match[yes]then[application/json]else\u003Cdeserializer>] }}}\n >\n \u003C$action-log $$filter=\"isTiddlyHost wikiURL deserializer\"/>\n \u003C\u003CgetWikiActions>>\n\u003C/$let>\n\\end loadWikiActions\n\n\n\u003C!-- ARE IMAGES IMPORTING CORRECTLY? -->\n","title":"$:/plugins/sq/ExternalContent/loadWikiActions","code-body":"yes","modified":"20240313150230702","tags":""}, {"title":"$:/plugins/sycom/atom-feed","description":"Atom feed","author":"Sylvain Comte","version":"0.0.2","core-version":">=5.0.0","source":"https://framagit.org/sycom/TiddlyWiki-Plugins","plugin-type":"plugin","list":"readme usage","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"Working on atom feed\":{\"title\":\"Working on atom feed\",\"created\":\"20190406203049600\",\"modified\":\"20190407152226190\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"Since i'm not getting all the purpose of the pretty complex Dullroar's https://github.com/dullroar/TW5-atomfeed/ let's try de deploy a very lightweight version.\\n\\nWhat we need :\\n\\n* a [[global template|$:/plugins/sycom/atom-feed/atom.xml]] for the atom.xml output file\\n* a template [[for each item|$:/plugins/sycom/atom-feed/templates/itemfeed]] of the feed\\n* a [[list of lattest tiddlers|$:/plugins/sycom/atom-feed/entrylist]] based upon this template (and maybe latest updated tiddlers?).\\n* a $:/plugins/sycom/atom-feed/publicationWebsite parameter\\n* an information for bots and browser through a //rawMarkup// tagged [[tiddler|$:/plugins/sycom/atom-feed/rel-alternate]]\\n\\nStarting example from [[RFC 4287|https://tools.ietf.org/html/rfc4287]]\\n\\n```\\n\u003C?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n \u003Cfeed xmlns=\\\"http://www.w3.org/2005/Atom\\\">\\n \u003Ctitle type=\\\"text\\\">dive into mark\u003C/title>\\n \u003Csubtitle type=\\\"html\\\">\\n A <em>lot</em> of effort\\n went into making this effortless\\n \u003C/subtitle>\\n \u003Cupdated>2005-07-31T12:29:29Z\u003C/updated>\\n \u003Cid>tag:example.org,2003:3\u003C/id>\\n \u003Clink rel=\\\"alternate\\\" type=\\\"text/html\\\"\\n hreflang=\\\"en\\\" href=\\\"http://example.org/\\\"/>\\n \u003Clink rel=\\\"self\\\" type=\\\"application/atom+xml\\\"\\n href=\\\"http://example.org/feed.atom\\\"/>\\n \u003Crights>Copyright (c) 2003, Mark Pilgrim\u003C/rights>\\n \u003Cgenerator uri=\\\"http://www.example.com/\\\" version=\\\"1.0\\\">\\n Example Toolkit\\n \u003C/generator>\\n \u003Centry>\\n \u003Ctitle>Atom draft-07 snapshot\u003C/title>\\n \u003Clink rel=\\\"alternate\\\" type=\\\"text/html\\\"\\n href=\\\"http://example.org/2005/04/02/atom\\\"/>\\n \u003Clink rel=\\\"enclosure\\\" type=\\\"audio/mpeg\\\" length=\\\"1337\\\"\\n href=\\\"http://example.org/audio/ph34r_my_podcast.mp3\\\"/>\\n \u003Cid>tag:example.org,2003:3.2397\u003C/id>\\n \u003Cupdated>2005-07-31T12:29:29Z\u003C/updated>\\n \u003Cpublished>2003-12-13T08:29:29-04:00\u003C/published>\\n \u003Cauthor>\\n \u003Cname>Mark Pilgrim\u003C/name>\\n \u003Curi>http://example.org/\u003C/uri>\\n \u003Cemail>f8dy@example.com\u003C/email>\\n \u003C/author>\\n \u003Ccontributor>\\n \u003Cname>Sam Ruby\u003C/name>\\n \u003C/contributor>\\n \u003Ccontributor>\\n \u003Cname>Joe Gregorio\u003C/name>\\n \u003C/contributor>\\n \u003Ccontent type=\\\"xhtml\\\" xml:lang=\\\"en\\\"\\n xml:base=\\\"http://diveintomark.org/\\\">\\n \u003Cdiv xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\\n \u003Cp>\u003Ci>[Update: The Atom draft is finished.]\u003C/i>\u003C/p>\\n \u003C/div>\\n \u003C/content>\\n \u003C/entry>\\n \u003C/feed>\\n```\"},\"$:/plugins/sycom/atom-feed/i18n/en-GB/usage\":{\"title\":\"$:/plugins/sycom/atom-feed/i18n/en-GB/usage\",\"type\":\"text/vnd.tiddlywiki\",\"caption\":\"Usage\",\"text\":\"Once plugin is installed, set your website address and numbers of latest tiddlers to list here\\n\\n* website url \u003C$edit-text tiddler=\\\"$:/plugins/sycom/atom-feed/publicationWebsite\\\" field=\\\"caption\\\" tag=\\\"input\\\"/>\\n\\n* tiddlers number \u003C$edit-text tiddler=\\\"$:/plugins/sycom/atom-feed/entrylist\\\" field=\\\"caption\\\" tag=\\\"input\\\"/>\\n\\nThen add this line to your build command (in tiddlywiki.info file)\\n\\n```\\n\\\"feed\\\": [\\n \\\"--rendertiddler\\\",\\\"$:/plugins/sycom/atom-feed/atom.xml\\\",\\\"atom.xml\\\",\\\"text/plain\\\"]\\n```\\n\"},\"$:/plugins/sycom/atom-feed/i18n/fr-FR/readme\":{\"title\":\"$:/plugins/sycom/atom-feed/i18n/fr-FR/readme\",\"text\":\"Le [plugin atom feed](#$:/plugins/sycom/atom-feed) permet d'ajouter un flux atom ([RFC 4287][RFC]) à votre TiddlyWiki au moment de sa construction (commande `build`). Il crée un fichier `atom.xml` contenant la liste des xx derniers articles de votre wiki.\\n\\n## Sources / licenses\\n* le **plugin atom feed** est sous une [licence BSD 3-Clause][license] similaire à celle de TiddlyWiki\\n\\n[RFC]: https://tools.ietf.org/html/rfc4287\\n[license]: https://framagit.org/sycom/TiddlyWiki-Plugins/LICENSE.md\\n\",\"type\":\"text/x-markdown\",\"caption\":\"Readme\"},\"$:/plugins/sycom/atom-feed/i18n/fr-FR/usage\":{\"title\":\"$:/plugins/sycom/atom-feed/i18n/fr-FR/usage\",\"type\":\"text/vnd.tiddlywiki\",\"caption\":\"Usage\",\"text\":\"Une fois le plugin installé, indiquez l'adresse de publication de votre site et le nombre des derniers tiddlers à faire apparaitre dans le flux ici\\n\\n* url du site web \u003C$edit-text tiddler=\\\"$:/plugins/sycom/atom-feed/publicationWebsite\\\" field=\\\"caption\\\" tag=\\\"input\\\"/>\\n\\n* nombre de tiddlers \u003C$edit-text tiddler=\\\"$:/plugins/sycom/atom-feed/entrylist\\\" field=\\\"caption\\\" tag=\\\"input\\\"/>\\n\\nEnsuite ajoutez cette ligne à votre commande `build` (dans le fichier tiddlywiki.info)\\n\\n```\\n\\\"feed\\\": [\\n \\\"--rendertiddler\\\",\\\"$:/plugins/sycom/atom-feed/atom.xml\\\",\\\"atom.xml\\\",\\\"text/plain\\\"]\\n```\\n\"},\"$:/core/macros/i18n\":{\"author\":\"@sycom\",\"created\":\"20191009144004451\",\"modified\":\"20191011145435763\",\"tags\":\"$:/tags/Macro\",\"title\":\"$:/core/macros/i18n\",\"type\":\"application/javascript\",\"version\":\"1.0.0-pre2\",\"text\":\"\\\\define i18nOriginal(title domain orig_lang lang mode)\\n\u003C$list filter=\\\"[\u003C__title__>addprefix[/]addprefix\u003C__orig_lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[tiddler]] [\u003C__title__>addprefix[/]addprefix\u003C__orig_lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[shadow]]\\\">\\n\u003C$transclude mode=\u003C\u003C__mode__>> />\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003C__title__>addprefix[/]addprefix\u003C__orig_lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[missing]]-[\u003C__title__>addprefix[/]addprefix\u003C__orig_lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[shadow]]\\\">\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n//\u003C\u003C__orig_lang__>>// original is missing, please create it at \u003C$link to=\u003C\u003CcurrentTiddler>>>\u003C$text text=\u003C\u003CcurrentTiddler>> />\u003C/$link>\u003C/div>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\define i18nTranslation(title domain orig_lang lang mode)\\n\u003C$list filter=\\\"[\u003C__title__>addprefix[/]addprefix\u003C__lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[tiddler]] [\u003C__title__>addprefix[/]addprefix\u003C__lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[shadow]]\\\">\\n\u003C$transclude mode=\u003C\u003C__mode__>> />\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003C__title__>addprefix[/]addprefix\u003C__lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[missing]]-[\u003C__title__>addprefix[/]addprefix\u003C__lang__>addprefix[/i18n/]addprefix\u003C__domain__>is[shadow]]\\\">\\n\u003C$set name=\\\"target\\\" value=\u003C\u003CcurrentTiddler>>>\\n\u003C$list filter=\\\"[\u003C__lang__>search\u003C__orig_lang__>]\\\">\\n\u003C$macrocall $name=\\\"i18nOriginal\\\" title=\u003C\u003C__title__>> domain=\u003C\u003C__domain__>> orig_lang=\u003C\u003C__orig_lang__>> lang=\u003C\u003C__lang__>> mode=\u003C\u003C__mode__>>/>\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003C__lang__>!search\u003C__orig_lang__>]\\\">\\n\u003Cdiv class=\\\"tc-message-box\\\">//\u003C\u003C__lang__>>// translation is missing, you may create it at \u003C$link to=\u003C\u003Ctarget>>>\u003C$text text=\u003C\u003Ctarget>> />\u003C/$link>\u003C/div>\\n\u003Cdiv lang=\u003C\u003C__orig_lang__>>>\\n\u003C$macrocall $name=\\\"i18nOriginal\\\" title=\u003C\u003C__title__>> domain=\u003C\u003C__domain__>> orig_lang=\u003C\u003C__orig_lang__>> lang=\u003C\u003C__lang__>> mode=\u003C\u003C__mode__>> />\\n\u003C/div>\\n\u003C/$list>\\n\u003C/$set>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\define i18n(title domain:\\\"$:\\\" orig_lang:\\\"en-GB\\\" mode:\\\"block\\\")\\n\u003C$set name=\\\"title\\\" value=\u003C\u003C__title__>> emptyValue=\u003C\u003CcurrentTiddler>>>\\n\u003C$set name=\\\"lg-LG\\\" tiddler={{$:/language}} field=\\\"name\\\" emptyValue=\\\"en-GB\\\">\\n\u003C$macrocall $name=\\\"i18nTranslation\\\" title=\u003C\u003Ctitle>> domain=\u003C\u003C__domain__>> orig_lang=\u003C\u003C__orig_lang__>> lang=\u003C\u003Clg-LG>> mode=\u003C\u003C__mode__>>/>\\n\u003C/$set>\\n\u003C/$set>\\n\\\\end\\n\",\"module-type\":\"macro\"},\"$:/plugins/sycom/atom-feed/i18n/en-GB/readme\":{\"title\":\"$:/plugins/sycom/atom-feed/i18n/en-GB/readme\",\"text\":\"The [atom feed plugin](#$:/plugins/sycom/atom-feed) will help adding an atom ([RFC 4287][RFC]) feed to your TiddlyWiki when you //build// it. It will create an `atom.xml` file with the list of latest xx tiddlers of your wiki.\\n\\n## Sources / licenses\\n* **atom feed plugin** is released under similar [BSD 3-Clause license][license] as TiddlyWiki\\n\\n[RFC]: https://tools.ietf.org/html/rfc4287\\n[license]: https://framagit.org/sycom/TiddlyWiki-Plugins/LICENSE.md\\n\",\"type\":\"text/x-markdown\",\"created\":\"20190321120000000\",\"modified\":\"20190328144500000\",\"caption\":\"Readme\"},\"$:/plugins/sycom/atom-feed/readme\":{\"title\":\"$:/plugins/sycom/atom-feed/readme\",\"caption\":\"Readme\",\"text\":\"\u003C\u003Ci18n readme $:/plugins/sycom/atom-feed>>\\n\"},\"$:/plugins/sycom/atom-feed/atom.xml\":{\"title\":\"$:/plugins/sycom/atom-feed/atom.xml\",\"created\":\"20190406214444000\",\"modified\":\"20190407150839004\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\rules only filteredtranscludeinline transcludeinline\\n\u003C?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n \u003Cfeed xmlns=\\\"http://www.w3.org/2005/Atom\\\">\\n \u003Ctitle type=\\\"html\\\">{{$:/SiteTitle}}\u003C/title>\\n \u003Csubtitle type=\\\"html\\\">{{$:/SiteSubtitle}}\u003C/subtitle>\\n \u003Cupdated>{{$:/plugins/sycom/atom-feed/publicationDate}}\u003C/updated>\\n \u003Cid>{{$:/plugins/sycom/atom-feed/publicationWebsite}}\u003C/id>\\n \u003Clink rel=\\\"alternate\\\" type=\\\"text/html\\\"\\n hreflang=\\\"{{$:/plugins/sycom/atom-feed/wikiLang}}\\\" href=\\\"{{$:/plugins/sycom/atom-feed/publicationWebsite}}\\\"/>\\n \u003Clink rel=\\\"self\\\" type=\\\"application/atom+xml\\\"\\n href=\\\"{{$:/plugins/sycom/atom-feed/publicationWebsite}}/atom.xml\\\"/>\\n \u003Crights>\u003C/rights>\\n \u003Cgenerator uri=\\\"https://sycom.gitlab.io/TiddlyWiki-Plugins/#AtomFeed%20Plugin\\\" version=\\\"{{$:/plugins/sycom/atom-feed!!version}}\\\">\\n Sycom's AtomFeed TiddlyWiki plugin\\n \u003C/generator>\\n\\n{{$:/plugins/sycom/atom-feed/entrylist}}\\n\\n\u003C/feed>\\n\"},\"$:/plugins/sycom/atom-feed/entrylist\":{\"title\":\"$:/plugins/sycom/atom-feed/entrylist\",\"created\":\"20190407141826200\",\"modified\":\"20190407145916341\",\"caption\":\"25\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define feedFilter() [all[tiddlers]![This wiki uses Google analytics]!prefix[Draft of ]!prefix[$:/]!prefix[-$:/]!sort[created]limit[$(numFeed)$]]\\n\\n\u003C$set name=numFeed value={{!!caption}}>\\n\\n\u003C$list filter=\u003C\u003CfeedFilter>> template=\\\"$:/plugins/sycom/atom-feed/templates/itemfeed\\\">\\n\\n\u003C/$list>\\n\u003C/$set>\\n\"},\"$:/plugins/sycom/atom-feed/templates/itemfeed\":{\"title\":\"$:/plugins/sycom/atom-feed/templates/itemfeed\",\"created\":\"20190406210152700\",\"modified\":\"20190407150714665\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"`\u003Centry>\\n \u003Ctitle>`\u003C$view field=\\\"caption\\\">{{!!title}}\u003C/$view>`\u003C/title>\\n \u003Clink rel=\\\"alternate\\\" type=\\\"text/html\\\"\\n href=\\\"`\u003C$text text={{$:/plugins/sycom/atom-feed/publicationWebsite!!caption}}/>/#{{!!title}}`\\\"/>\\n \u003Cid>`{{!!title}}`\u003C/id>\\n \u003Cupdated>`\u003C$view field=modified format=date template=\\\"YYYY-0MM-0DDT0hh:0mm:0ss\\\"/>`\u003C/updated>\\n \u003Cpublished>`\u003C$view field=created format=date template=\\\"YYYY-0MM-0DDT0hh:0mm:0ss\\\"/>`\u003C/published>\\n \u003Cauthor>\\n \u003Cname>`{{!!modifier}}`\u003C/name>\\n \u003C/author>\\n \u003Ccontent type=\\\"html\\\">\\n\\n`\\n \u003C$view field=\\\"text\\\" format=\\\"htmlwikified\\\"/>\\n `\u003C/content>\\n\u003C/entry>`\\n\"},\"$:/plugins/sycom/atom-feed/usage\":{\"title\":\"$:/plugins/sycom/atom-feed/usage\",\"caption\":\"Usage\",\"text\":\"\u003C\u003Ci18n usage $:/plugins/sycom/atom-feed>>\\n\"},\"$:/plugins/sycom/atom-feed/publicationDate\":{\"title\":\"$:/plugins/sycom/atom-feed/publicationDate\",\"created\":\"20190407150203600\",\"modified\":\"20190407150231675\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Cnow YYYY-0MM-0DDT0hh:0mm:0ss>>\\n\"},\"$:/plugins/sycom/atom-feed/publicationWebsite\":{\"title\":\"$:/plugins/sycom/atom-feed/publicationWebsite\",\"created\":\"20190407150203600\",\"modified\":\"20190407150231675\",\"type\":\"text/vnd.tiddlywiki\",\"caption\":\"https://sycom.gitlab.io/TiddlyWiki-Plugins\",\"text\":\"Please set url in caption field\\n\"},\"$:/plugins/sycom/atom-feed/rel-alternate\":{\"title\":\"$:/plugins/sycom/atom-feed/rel-alternate\",\"created\":\"20190407151615100\",\"modified\":\"20190407152216117\",\"tags\":\"$:/tags/RawMarkup\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Clink rel=\\\"alternate\\\" type=\\\"application/atom+xml\\\" title=\\\"last published - feed\\\" href=\\\"./atom.xml\\\" />\"},\"$:/plugins/sycom/atom-feed/wikiLang\":{\"title\":\"$:/plugins/sycom/atom-feed/wikiLang\",\"created\":\"20190407151615100\",\"modified\":\"20190407152216117\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$view field=name tiddler={{$:/language}}>en-GB\u003C/$view>\\n\"}}}","revision":"0","bag":"default","name":"atom-feed"}, {"text":"{\n \"tiddlers\": {\n \"GeoTiddler\": {\n \"title\": \"GeoTiddler\",\n \"created\": \"20151130173416239\",\n \"modified\": \"20170115153450584\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"text\": \"[[GeoTiddler]]s are tiddlers containing geographical data. [[geoSyntax|$:/plugins/sycom/leaflet/geoSyntax]] lists the available objects. [[geoJson|https://en.wikipedia.org/wiki/GeoJSON]] data are also accepted. You may specify a color for all objects displayed through `color` field.\\n\\n!! tiddler with geo TiddlerFields\\nYou can upgrade your tiddler by putting some geo metadata ([[wgs 84 coordinates|https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84]]) in it's TiddlerFields. See [[geoSyntax|$:/plugins/sycom/leaflet/geoSyntax]] for the list of object types you can draw. Popup will show the first part of the tiddler. If the tiddler contains a leafmap widget, it will be rendered as `text/plain` in order to avoid crash...\\n\\n!! geoJSON tiddler\\nYou can define a geoJson tiddler like [[tiddlyWikiFrCommunity|$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity]] and then display the data by calling it. Just put your geoJson data in the body and declare the tiddler as application/json. Any `application/json` tiddler called will be considered as geoJson. The popups will show\\n\\n* a title\\n** the `name` or the `title` attribute in properties if exists,\\n** if not, the firsts attributes of properties until they are 8 characters long\\n* a description\\n** the `description` attribute in properties if exists,\\n** if not, the data stored in each feature as a bulleted list.\\n\\n!! tiddler grouping [[GeoTiddler]]s\\nYou can use `tiddlers` or `filter` as TiddlerFields to make a group of tiddlers. You can apply some styling options to all the group using `style`, `color` or `marker` TiddlerFields and then call the tiddler in your map to render all those tiddler at the same time. This will be a good way to make thematic maps indeed...\\n\"\n },\n \"$:/plugins/sycom/leaflet/devDiary\": {\n \"title\": \"$:/plugins/sycom/leaflet/devDiary\",\n \"created\": \"20151110173416000\",\n \"modified\": \"20180531171500000\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"text\": \"Some notes about coding this plugin. Might be useful to others...\\n\\n* 20180602\\n** added a template that will display a map of embeded object for tiddlers containing one of the geoTiddlers fiels.\\n** updtated leaflet and marker-cluster to 1.3.1 - the easy way. Just replaced with new version and no deprecation at all \\\\o/ !\\n* 20180531\\n** converting all `.svg.tid` files to `.svg` + `.svg.meta` pairs. Will allow git client to make svg viewable in web interface. Also compressed SVG as much as possible with great https://jakearchibald.github.io/svgomg/ tool.\\n** tweak : for svg embedding local TiddlyWiki colors (eg `$primary$`), forced type to `text/vnd.tiddlywiki` to preserve them.\\n* 20170317\\n** lot of work around cluster size, cluster color when using filter. Cluster size depends on point % for the cluster, clusterRadius and zoom.\\n* 20170311\\n** added styling options and also the grouping tiddler capabilities. Discovered that direct styling in SVG ''does not always'' [[overwrite css styling|http://stackoverflow.com/questions/24293880/svg-why-does-external-css-override-inline-style-for-text]].\\n* 20170129\\n** adding some markers. And it's possible to create yours.\\n* 20170115\\n** darling birthday edit. Clustering by tiddler is on track. Will have to look for clustering direct passing object through widget.\\n* 20161111\\n** armistice edit! can now disable clustering or set clustering distance. Bug #9 fixed. may be cluster size will be too big for big databases\\n* 20161106\\n** color parameter is partially implemented. Note that direct styling like `fill` in svg element wont take on class styling through css...\\n* 20161104\\n** after many attemps, managed to include tiddler excerpt in popups for mapping geoTiddler. Had to include an escape rule for tiddler containing a leafmap widget. No larsen, but a big bug (map number probably).\\n** also managed to give the marker the color of the primary color. Note for later there is probably a bug if primary color is defined with `\u003C\u003Ccolour>>` macro.\\n* 20161102\\n** ok, when importing some library, don't forget to use `require()` in order to conclude. Silly guy. Still some polishing needed, but clustering know works...\\n* 20161101\\n** fighting with markercluster capabilities. At this point seems I can add the script but the MarkerClusterGroup class is not recognized when called...\\n* 20161031\\n** gave up inserting external layers.svg in stylesheet. Issues with `\u003C$text />` and `{{ }}`... Created svg in a separate tiddler for the record but inserting directly an \\\"escaped\\\" version in [[mapCss.css|$:/plugins/sycom/leaflet/mapCssTweaks.css.tid]]\\n* 20161030\\n** working on different markers. Not so good at designing them though ;-) Putted default leaflet svg marker. Using Inkscape to edit svg easily and SVGO extension in atom to compress them. First attempt to put layers icon as svg. Issues...\\n* 20161029\\n** trying to put svg marker instead of png ones. Will be better for changing colors, content... using data:image/svg+xml. Svg has to bring xmlns ~~and xmlns:xlink~~ with it in order to work...\\n* 20161025\\n** after big fight, managed to call images as embeded through css without writing full base64 code. Had to add `html` to the \\\"rules only\\\" list at the beginning of the css code\\n* 20161024\\n** geojson implemented. Will need to add cluster soon. Some question about geojson attributes to create the popup...\\n* 20161021\\n** updated leaflet.js to 1.0.1 moved base64 image to mapCss.css in order to avoid problems when updating leaflet.\\n** Updated tileLayer list. min/max checked for this time. Detect if tile id is wrong to alert user and display osm instead.\\n* 20160314\\n** corrected caption errors for example and roadmap. Have to write an install process in demo site (gh-page) since writing this in plugin is nonsense.\\n* 20151124\\n** wondering the best way to release plugin code in gitlab (or github). Can't be a fork of TiddlyWiki. Don't want to lose .git history.\\n** ok I'm dumb. All is written in the dev TiddlyWiki : http://tiddlywiki.com/dev/#Developing%20p lugins%20using%20Node.js%20and%20GitHub . Lost .git history since cuting tree is bad. But history was still short...\\n* 20151123\\n** not able to use directly tiddler stored images as css background.\\n** decided to use base64 form in css. Not so elegant as I wished, but works.\\n* 20151121\\n** fighting with parameters : not imported from widget with `this.getAttribute()`\\n** solved by adding the parameter computation before : `this.computeAttributes();`\\n* 20151115\\n** some problems to declare leaflet.js library : fail during build since there is no window, no document.\\n** solved by creating the tiddlywiki.files importer.\\n* 20151110\\n** starting some tests. Inspiration from d3plugin (also creating widget and importing library)\\n\"\n },\n \"$:/plugins/sycom/leaflet/geoSyntax\": {\n \"title\": \"$:/plugins/sycom/leaflet/geoSyntax\",\n \"created\": \"20151119173416239\",\n \"modified\": \"20151211173250584\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"caption\": \"geoSyntax\",\n \"text\": \"Geographical objects can be stored\\n\\n* in a GeoTiddler by creating a ''//type// : // pattern//'' metadata field pair in any tiddler or by storing geoJson data in it and setting your tiddler to `application/JSON` type. Call it in the widget with ''places'' attribute : `places='{\\\"tiddler\\\":\\\"title of your tiddler\\\"}'`\\n* in several [[GeoTiddlers|GeoTiddler]]. Call them in the widget with ''places'' attribute\\n** via a space separated list of [[GeoTiddlers|GeoTiddler]] : `places='{\\\"tiddlers\\\":\\\"tiddler1 tiddler2 tiddler3\\\"}'`\\n** via a [[filter|http://tiddlywiki.com/#Filters]] selection of [[GeoTiddlers|GeoTiddler]] : `places='{\\\"filter\\\":\\\"[[your filter]]\\\"}'`\\n* straight in the widget with ''places'' attribute : `places='{\\\"object type\\\":\\\"coordinates pattern\\\"}'`\\n\\n!! Everything might be a GeoTiddler\\n\\nIn a very much tiddlywiki way, a tiddler may also refer to a list or a selection of tiddlers using `tiddlers` or `filter` metadata fields. You may add styling informations to all refered tiddler with `style`, `color` or `marker` metadata fields. Calling this tiddler with `\u003C$leafmap />` will render all refered tiddlers.\\n\\n!! Tool for creating shapes\\nAs not everyone has a GIS in his head, And the plugin does not implement yet any tool for creating geo shapes, there is (very basic) tool for that : [ext[Draw for TiddlyWiki leaflet plugin|http://sycom.github.io/TiddlyWiki-Plugins/leafletDraw.html]]\\n\\n!! Geographical objects you can display on your map\\n\\n| !type | !description | !pattern |\\n|''point'' |a unique point defined by a comma separated latitude,longitude pair |`y,x` |\\n|''points''|a points collection defined by a space separated ''point'' definition list |`y1,x1 y2,x2 y3,x3 ...` |\\n|''polygon''|a closed surfacic place defined like an //ordered// ''points'' collection just above |`y1,x1 y2,x2 y3,x3 ...` |\\n|''polygons''|a polygons collection defined by a pipe (`|`) separated list of ''polygon'' definitions |`y1,x1 y2,x2 y3,x3|y4,x4 y5...` |\\n|''polyline''|an open path place defined like the ''polygon'' just above |`y1,x1 y2,x2 y3,x3 ...` |\\n|''polylines''|a polylines collection defined by a pipe (`|`) separated list of ''polyline'' definitions |`y1,x1 y2,x2 y3,x3|y4,x4 y5...` |\\n|''geojson''|a [[geojson|http://geojson.org/]] object. If set through a tiddler field, please crunch it to one single line|see [[rfc7946|https://tools.ietf.org/html/rfc7946]]|\\n\"\n },\n \"$:/plugins/sycom/leaflet/markers\": {\n \"title\": \"$:/plugins/sycom/leaflet/markers\",\n \"created\": \"20170129172401910\",\n \"modified\": \"20170129172401910\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"caption\": \"Markers\",\n \"text\": \"markers are used to display point(s) related informations. Default marker is [[marker|$:/plugins/sycom/leaflet/images/marker.svg]].\\n\\n!! Available markers\\n\\nfor now, available markers are those\\n\\n\u003C$list filter='[all[shadows]has[marker_dim]has[caption]]'>\u003Cspan style=\\\"display:inline-block;text-align:center;margin:0 .5em;padding:.5em;border:.5px dotted\\\">\u003C$tiddler tiddler={{!!title}}>\u003C$transclude/>\u003C/$tiddler>\u003Cbr/>\u003C$link to={{!!title}}>{{!!caption}}\u003C/$link>\u003C/span>\u003C/$list>\\n\\n!! Create your own markers\\n\\nHave a look at existing ones above for inspiration and hack. Markers are svg pieces with some mandatory tweaks :\\n\\n* a marker is based upon ''two'' tiddlers, one for the marker and one for the shadow\\n* add a `caption` field to the marker tiddler (not for the shadow svg).\\n* the `title` of your marker tiddler will be `$:/plugins/sycom/leaflet/images/`''caption''`.svg`\\n* and the `title` of the marker shadow tiddler will be `$:/plugins/sycom/leaflet/images/`''caption''`shadow.svg`\\n* a `marker_dim` field wich defines //width// //height// //x-anchor// //y-anchors//. Please check that your //width// and //height// value are the same as in `\u003Csvg (...) width=\\\"15\\\" height=\\\"15\\\">`\\n* don't forget to add `xmlns` attribute : `\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" (...)`\\n* if you want your marker to change color upon tiddlywiki or widget parameters, use `$primary$` for the color attribute of your svg\\n\"\n },\n \"$:/plugins/sycom/leaflet/roadmap\": {\n \"title\": \"$:/plugins/sycom/leaflet/roadmap\",\n \"created\": \"20151209173416000\",\n \"modified\": \"20180531171500000\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"caption\": \"Roadmap\",\n \"text\": \"Not really a roadmap just a list for future development ideas. You'd better take a look at [[issues|https://framagit.org/sycom/TiddlyWiki-Plugins/boards]] on the repo. And add yours if you dare ;-)\\n\\n* add a tool to draw shapes, lines and collect coordinates. Until this, You may use [[Draw for TiddlyWiki leaflet plugin|http://sycom.github.io/TiddlyWiki-Plugins/leafletDraw.html]]\\n* add categories options\\n* add text, title capabilities\\n* try a tiddler template based upon field presence to render data for all geoTiddler\\n* ...\\n\\n* ~~try to put other types of pins (svg? icons?)~~ ''0.8.0'' : you may change markers via the //marker// option and design your own markers\\n* ~~add color(s) options~~ ''0.7.2'' : color can be set via //color// tiddler field or forced through //color// option\\n* ~~add a clustering functionality (at least for points)~~ ''0.7.0'' : each data group is know clustering points\\n* ~~add geoJSON tiddlers~~ ''0.6.0'' : added geojsontiddler rendering\\n* ~~map tiddlers with the same tag(s)~~ ''0.5.0'' : added filter places request\\n\"\n },\n \"$:/plugins/sycom/leaflet/tileLayers\": {\n \"title\": \"$:/plugins/sycom/leaflet/tileLayers\",\n \"created\": \"20151119173416239\",\n \"modified\": \"20161020222250584\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"caption\": \"tileLayers\",\n \"text\": \"tileLayers are the //background// of the leaflet map. They will not be available offline and will not display at every zoom level.\\n\\n!! Available tile layers\\n\\nedit [[tileLayers.json|$:/plugins/sycom/leaflet/lib/tileLayers.json]] if you want to add / remove tile layers.\\n\\n| !id | !description | !zoom min/max |\\n|''osm'' |[[OpenStreetMap|http://openstreetmap.org]] classic tile layer | 1/20 |\\n|''osmfr'' |[[OpenStreetMap|http://openstreetmap.org]] with //baguette// smell | 1/20 |\\n|''osmbw'' |Black and White version of [[OpenStreetMap|http://openstreetmap.org]] tiles by Wikimedia labs | 1/20 |\\n|''sat'' |Satellite photographic layer provided by Esri | 1/18 |\\n|''natgeo'' |National Geographic style layer provided by Esri| 1/12 |\\n|''toner'' |Black and white styled OpenStreetMap data provided by [[Stamen|http://stamen.com]] | 1/20 |\\n|''water'' |Watercolor styled OpenStreetMap data provided by [[Stamen|http://stamen.com]] | 1/20 |\\n|''thunder'' |Pale styled OpenStreetMap data provided by [[Thunderforest|http://thunderforest.com]] | 1/20 |\\n|''dark'' |\\\"Dark Matter\\\" styled OpenStreetMap data provided by [[CartoDB|https://cartodb.com/basemaps]] | 1/20 |\\n|''positron'' |\\\"Positron\\\" styled OpenStreetMap data provided by [[CartoDB|https://cartodb.com/basemaps]] | 1/20 |\\n\"\n },\n \"$:/plugins/sycom/leaflet/usage\": {\n \"title\": \"$:/plugins/sycom/leaflet/usage\",\n \"created\": \"20151119173416239\",\n \"modified\": \"20170129153650584\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"caption\": \"Usage\",\n \"text\": \"The widget is called by using `\u003C$leafmap />`. You may specify some options :\\n\\n!!! widget attributes\\n|!Attribute |!Description |!Default |\\n|''width'' |the width of the map (px or tiddler %)| `100%`|\\n|''height''|the height of the map (px only)| `420px`|\\n\\n!!! leaflet map attributes\\n|!Attribute |!Description |!Default |\\n|''places'' |a json object with the geographical data you want to display. Can be stored in tiddlers as metadata fields. See [[geoSyntax|$:/plugins/sycom/leaflet/geoSyntax]] for more informations ||\\n|''style'' |a json object containing styling information for your polygons and polylines objects in the map. Will overwrite GeoTiddler style if exists. Refer to [[leaflet documentation|http://leafletjs.com/reference-1.0.3.html#path]] for all options| `{ }`|\\n|''color'' |a color for drawing that will apply to all objects in the map. Will also overwrite GeoTiddler color attributes and //style// (if defined) colors| `\u003C\u003Ccolour primary>>`|\\n|''marker''|the name of the marker you want for points. See [[markers|$:/plugins/sycom/leaflet/markers]] for more informations| `marker`|\\n|''tile'' |the //id// or the //number// of the tile layer you want to use. See [[tileLayers|$:/plugins/sycom/leaflet/tileLayers]] for more informations | `osm`|\\n|''cluster''|set the clustering distance between points. also can disable clustering with no value or `0` or `\\\"\\\"`| `80`|\\n|''clusterType''|set if points are clustered for whole map (`map`) or for each tiddler (`tiddler`) displayed.| `map`|\\n|''tileControl'' |''if present'' add a control to select the tile layer you want ||\\n|''lat'' |map center latitude. Will overwrite places auto-centering | `52.8`|\\n|''long'' |map center longitude. Will overwrite places auto-centering | `-2.6`|\\n|''zoom'' |zoom level as defined by leaflet : int value between `0` (world map) and `20` (ant view) | |\\n\"\n },\n \"$:/plugins/sycom/leaflet/example\": {\n \"title\": \"$:/plugins/sycom/leaflet/example\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"caption\": \"Example\",\n \"text\": \"Different ways to use the [[leaflet plugin|$:/plugins/sycom/leaflet]]\\n\\n{{$:/plugins/sycom/leaflet/example/leaflet_with_geotiddler}}\\n\\n{{$:/plugins/sycom/leaflet/example/leaflet_with_geojsontiddler}}\\n\\n{{$:/plugins/sycom/leaflet/example/leaflet_with_non-tiddler_geo_data}}\\n\\n{{$:/plugins/sycom/leaflet/example/leaflet_with_filter}}\\n\"\n },\n \"$:/plugins/sycom/leaflet/example/leaflet_with_filter\": {\n \"title\": \"$:/plugins/sycom/leaflet/example/leaflet_with_filter\",\n \"created\": \"20151211173500000\",\n \"modified\": \"20170317163500000\",\n \"text\": \"!! a map of a filter\\nthis one displays all tiddlers tagged with \u003C\u003Ctag example>> (there's a //all shadow// tweak, since they are shadowed). There is also one cluster per tiddler. Some colors are set from within each tiddler with `color` field.\\n\\n```\\n\u003C$leafmap tile='toner'\\n\\tplaces='{\\\"filter\\\":\\\"[all[shadows]tag[example]]\\\"}' clusterType='tiddler'/>\\n```\\n\u003C$leafmap tile='toner'\\n\\tplaces='{\\\"filter\\\":\\\"[all[shadows]tag[example]]\\\"}' clusterType='tiddler'/>\\n\"\n },\n \"$:/plugins/sycom/leaflet/example/leaflet_with_geojsontiddler\": {\n \"title\": \"$:/plugins/sycom/leaflet/example/leaflet_with_geojsontiddler\",\n \"created\": \"20161025150936935\",\n \"modified\": \"20170318235936935\",\n \"tags\": \"example leaflet\",\n \"text\": \"!! a map of a geoJson tiddler\\nThis one displays [[tiddlyWikiFrCommunity|$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity]] (that has a color field set to red), which is an almost direct geojson data extraction from the umap [[Utilisateurs du forum TiddlyWiki FR|https://umap.openstreetmap.fr/fr/map/tiddlywikifr_65983#6/46.995/2.549]]. `color` is set to orange, `marker` to pin. Cluster distance is default (80) on the first, set to 30 on the second.\\n\\n```\\n\u003C$leafmap tileControl\\n places='{\\\"tiddler\\\":\\\"$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\\\"}'\\n style='{\\\"color\\\":\\\"orange\\\"}'\\n marker='pin'/>\\n\u003C$leafmap tileControl cluster=\\\"30\\\"\\n places='{\\\"tiddler\\\":\\\"$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\\\"}'\\n marker='pin'/>\\n```\\n\u003C$leafmap tileControl\\n places='{\\\"tiddler\\\":\\\"$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\\\"}'\\n style='{\\\"color\\\":\\\"orange\\\"}'\\n marker='pin'/>\\n\u003C$leafmap tileControl cluster=\\\"30\\\"\\n places='{\\\"tiddler\\\":\\\"$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\\\"}'\\n marker='pin'/>\\n\"\n },\n \"$:/plugins/sycom/leaflet/example/leaflet_with_geotiddler\": {\n \"title\": \"$:/plugins/sycom/leaflet/example/leaflet_with_geotiddler\",\n \"created\": \"20151207090936935\",\n \"modified\": \"20161025222038568\",\n \"tags\": \"example leaflet\",\n \"text\": \"!! a map of a GeoTiddler\\nthis one displays the tiddler [[placeTiddler|$:/plugins/sycom/leaflet/example/placeTiddler]]. Note the tileControl attribute that enables map background selection. As the tiddler has its `color` field set to pink, objects are rendered pink. The cat is know a panther ;-). The tiddler also have a `style` field to define dash and thickness of the stroke...\\n\\n```\\n\u003C$leafmap\\n tileControl\\n places='{\\\"tiddler\\\":\\\"$:/plugins/sycom/leaflet/example/placeTiddler\\\"}'/>\\n```\\n\u003C$leafmap\\n tileControl\\n places='{\\\"tiddler\\\":\\\"$:/plugins/sycom/leaflet/example/placeTiddler\\\"}'/>\\n\"\n },\n \"$:/plugins/sycom/leaflet/example/leaflet_with_non-tiddler_geo_data\": {\n \"title\": \"$:/plugins/sycom/leaflet/example/leaflet_with_non-tiddler_geo_data\",\n \"point\": \"6.5,19.72\",\n \"created\": \"20151207090936935\",\n \"modified\": \"20151211172038568\",\n \"tags\": \"example leaflet\",\n \"text\": \"!! a map with data on the go\\nvery useful for fast mapping. All objects that might be embedded in GeoTiddler can be used here. Let's display a map with satellite imagery and\\n\\n* a ''point'' at `6.5,19.72`\\n* a ''polyline'' at `6.4,19.7 6.6,19.74`\\n\\nnote this tiddler is also a geoTiddler with one point at `6.5,19.72`\\n\\n```\\n\u003C$leafmap tile='sat'\\n\\tplaces='{\\\"point\\\":\\\"6.5,19.72\\\",\\\"polyline\\\":\\\"6.4,19.7 6.6,19.74\\\"}'/>\\n```\\n\\n\u003C$leafmap tile='sat'\\n\\tplaces='{\\\"point\\\":\\\"6.5,19.72\\\",\\\"polyline\\\":\\\"6.4,19.7 6.6,19.74\\\"}'/>\\n\"\n },\n \"$:/plugins/sycom/leaflet/example/placeTiddler\": {\n \"title\": \"$:/plugins/sycom/leaflet/example/placeTiddler\",\n \"points\": \"52.799933,-2.589812 52.799959,-2.590939\",\n \"polygon\": \"52.800608,-2.591668 52.800225,-2.591829 52.799849,-2.591937 52.799603,-2.591990 52.799427,-2.591990 52.799187,-2.591894 52.798863,-2.591550 52.798727,-2.591357 52.798662,-2.591121 52.798636,-2.590853 52.798655,-2.590542 52.798668,-2.590467 52.798701,-2.590359 52.798649,-2.590113 52.798623,-2.589920 52.798610,-2.589716 52.798636,-2.589437 52.798694,-2.589136 52.798850,-2.588975 52.799051,-2.588793 52.799311,-2.588707 52.799525,-2.588707 52.799726,-2.588772 52.800018,-2.588857 52.800290,-2.588911 52.800511,-2.589040 52.800731,-2.589126 52.800816,-2.589211 52.800413,-2.589812 52.800446,-2.590166 52.800452,-2.590520 52.800433,-2.590810 52.800426,-2.591068 52.800751,-2.591550 52.800621,-2.591679\",\n \"polylines\": \"52.799382,-2.590059 52.799641,-2.588321|52.799330,-2.590048 52.799447,-2.588342|52.799265,-2.590059 52.799181,-2.588342|52.799486,-2.590724 52.799706,-2.592301|52.799414,-2.590767 52.799525,-2.592366|52.799356,-2.590714 52.799278,-2.592355\",\n \"created\": \"20151119173416000\",\n \"modified\": \"20151211173153114\",\n \"color\": \"#ff80c0\",\n \"style\": \"{\\\"dashArray\\\":\\\"6, 10\\\",\\\"weight\\\":\\\"8\\\"}\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"tags\": \"example leaflet geometry\",\n \"text\": \"This tiddler contains\\n\\n* a two `points` list : 52.799933,-2.589812 52.799959,-2.590939\\n* a `polygon` : 52.800608,-2.591668 52.800225,-2.591829 52.799849 (...)\\n* a `polyline`s list : 52.799382,-2.590059 52.799641,-2.588321|52.799330,-2.590048 52.799447,-2.588342|52.799265,(...)\\n\\nIt has also some styling informations\\n\\n* `color` is set to pink\\n* `style` defines a dashed 8px thick line\\n\\ngo to edit mode to see the full data fields\\n\"\n },\n \"/usr/local/lib/node_modules/tiddlywiki/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity.old\": {\n \"title\": \"/usr/local/lib/node_modules/tiddlywiki/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity.old\",\n \"text\": \"created: 20161025143416000\\nmodified: 20170317143416000\\ntitle: $:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\\ntype: application/json\\ntags: example leaflet geojson\\ncolor: #dd0000\\n\\n{\\\"type\\\":\\\"FeatureCollection\\\",\\\"features\\\":[{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Aknar\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.4442090000000007,43.604652]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"CdriC\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.563166,47.478419]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Disanv Parean\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.4072784,49.1846226]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Fab13n\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[5.5867,45.1184]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Fabio\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.916515000000004,47.8664401]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Florent V.\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[0.156237,45.648377]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Joël\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[4.740042686462402,46.10446454226022]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Johanne\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-74.09016960000002,45.65189590000001]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Lakemp\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.19249,48.59338]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"LauDai\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.4750973000000158,43.5664556]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Lucivam\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[4.390278,45.434722]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Mikabi\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.44,43.604652]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Nico\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.2569674000000077,48.9899655]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Nicolas Friedli\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[6.8411643,46.9425711]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Phil\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[3.98337,50.36155]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Piwig\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-1.677793,48.117266]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Sylvain Comte\\\",\\\"description\\\":\\\"Créateur du leaflet map plugin\\\",\\\"url\\\":\\\"http://sylvain.comte.online.fr\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.08954,49.43584]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Sylvain Naudin\\\",\\\"description\\\":\\\"Admin du forum\\\",\\\"url\\\":\\\"http://sylvain.naud.in\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.155689,45.471894]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Thierry Pasquier\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[0.3333,46.5833]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Vincent Delcros\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[5.2788245000000416,50.5500944]}}]}\\n\",\n \"type\": \".old\"\n },\n \"$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\": {\n \"title\": \"$:/plugins/sycom/leaflet/example/tiddlyWikiFrCommunity\",\n \"text\": \"{\\\"type\\\":\\\"FeatureCollection\\\",\\\"features\\\":[{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Aknar\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.4442090000000007,43.604652]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"CdriC\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.563166,47.478419]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Disanv Parean\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.4072784,49.1846226]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Emmanuel\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.3522219000000177,48.85661400000001]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Escrivant\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.3868,48.871958]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Fab13n\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[5.5867,45.1184]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Fabio\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.916515000000004,47.8664401]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Florent\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[0.156237,45.648377]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"François\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.478413899999964,43.543794]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Gub\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.4442090000000007,43.604652]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"jargenty\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.321621999999934,43.514707]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Jérôme\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-2.429759,47.328003]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Joël\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[4.740042686462402,46.10446454226022]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Johanne\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-74.09016960000002,45.65189590000001]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Lakemp\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.19249,48.59338]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"LauDai\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.4750973000000158,43.5664556]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"LongSlowBakery\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-2.4834849999999733,52.903552]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Lucivam\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[4.390278,45.434722]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"m4dz\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.3522219000000177,48.85661400000001]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Matthias\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.560016,47.470006]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Michel\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[7.261953199999994,43.7101728]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Mikabi\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.44,43.604652]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Nico\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.2569674000000077,48.9899655]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Nicolas\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[6.8411643,46.9425711]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"pariswiki\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.29,48.8]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Phil\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[3.98337,50.36155]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Piwig\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-1.677793,48.117266]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Ploum\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[0.1995560000000296,48.00611000000001]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Scapharnaum\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[7.74553,48.58392]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Solaine\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[8.227512,46.818188]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Sylvain Comte\\\",\\\"description\\\":\\\"Créateur du leaflet map plugin\\\",\\\"url\\\":\\\"http://sylvain.comte.online.fr\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[1.08954,49.43584]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Sylvain Naudin\\\",\\\"description\\\":\\\"Admin du forum\\\",\\\"url\\\":\\\"http://sylvain.naud.in\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[-0.155689,45.471894]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Thierry\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[0.3333,46.5833]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Thomas Elmiger\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[8.541694,47.376887]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Vincent\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[5.2788245000000416,50.5500944]}},{\\\"type\\\":\\\"Feature\\\",\\\"properties\\\":{\\\"name\\\":\\\"Yan\\\",\\\"description\\\":\\\"\\\",\\\"url\\\":\\\"\\\"},\\\"geometry\\\":{\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[2.0517,46.22475]}}]}\\n\",\n \"type\": \"application/json\",\n \"created\": \"20161025143416000\",\n \"modified\": \"20180602193416000\",\n \"source\": \"https://umap.openstreetmap.fr/fr/map/tiddlywikifr_65983\",\n \"tags\": \"example leaflet geojson\",\n \"color\": \"#dd0000\"\n },\n \"$:/ext/modules/widgets/geolocation-widget.js\": {\n \"text\": \"/*\\\\\\ntitle: $:/ext/modules/wigets/geolocation-widget.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nGeolocation widget\\n\\n\\\\*/\\n(function() {\\n /*jslint node: true, browser: true */\\n /*global $tw: false */\\n \\\"use strict\\\";\\n var Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n var GeolocationWidget = function(parseTreeNode, options) {\\n this.initialise(parseTreeNode, options);\\n };\\n\\n /* Inherit from the base widget class */\\n GeolocationWidget.prototype = new Widget();\\n\\n /* Compute the internal state of the widget */\\n GeolocationWidget.prototype.execute = function() {\\n // Get attributes\\n this.target = this.getAttribute(\\\"target\\\") || this.getVariable(\\\"currentTiddler\\\");\\n this.icon = this.getAttribute(\\\"icon\\\") || \\\"$:/core/images/globe\\\";\\n this.text = this.getAttribute(\\\"text\\\") || undefined;\\n this.accuracy = this.getAttribute(\\\"accuracy\\\");\\n this.type = this.getAttribute(\\\"type\\\") || \\\"point\\\";\\n // Make child widgets\\n this.makeChildWidgets();\\n };\\n\\n /* Render this widget into the DOM */\\n GeolocationWidget.prototype.render = function(parent, nextSibling) {\\n var self = this;\\n // Remember parent\\n this.parentDomNode = parent;\\n // Compute attributes and execute state\\n this.computeAttributes();\\n this.execute();\\n // Create element\\n var tag = \\\"button\\\";\\n if (this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\\n tag = this.buttonTag;\\n }\\n var domNode = this.document.createElement(tag);\\n // Add a click event handler\\n domNode.addEventListener(\\\"click\\\", function(event) {\\n if (navigator.geolocation) {\\n navigator.geolocation.getCurrentPosition(\\n // success callback\\n function(position) {\\n /* to replace by field populating (point(s) polyline(s) or polygon(s)) */\\n /* default : if tiddler has point field, will create a points field to store new data;\\n if tiddler has points field, will add a new point to the tiddler field;\\t*/\\n var target = self.target;\\n var accuracy = self.accuracy;\\n var type = self.type;\\n var newPoint = position.coords.latitude + \\\",\\\" + position.coords.longitude;\\n /* check if tiddler has a geofield */\\n var track = \\\"\\\";\\n if (!$tw.wiki.getTiddler(target)) $tw.wiki.setText(target, \\\"text\\\", null, \\\"\\\", null);\\n var flds = $tw.wiki.getTiddler(target).fields\\n if (flds.points) {\\n track = flds.points;\\n $tw.wiki.setText(target, \\\"points\\\", null, track + \\\" \\\" + newPoint, null);\\n infoLocation(\\\"new point \\\" + newPoint + \\\" added to \\\" + target);\\n\\n } else {\\n if (flds.point && flds.point !== null) {\\n track = flds.point;\\n $tw.wiki.setText(target, \\\"points\\\", null, track + \\\" \\\" + newPoint, null);\\n $tw.wiki.setText(target, \\\"point\\\", null, null, null);\\n infoLocation(\\\"new point \\\" + newPoint + \\\" added to \\\" + target);\\n } else {\\n $tw.wiki.setText(target, \\\"point\\\", null, newPoint, null);\\n infoLocation(\\\"new point \\\" + newPoint + \\\" added to \\\" + target);\\n }\\n }\\n },\\n // error callback\\n function(error) {\\n noLocation(error.message + \\\". You may not are connected via httpS://\\\")\\n }\\n );\\n } else {\\n noLocation(\\\"position disabled or not supported by your browser\\\");\\n }\\n }, false);\\n /* dress up button */\\n var buttonContent;\\n // if text parameter, will use it for the button\\n if (self.text) {\\n buttonContent = self.text;\\n } else {\\n // if not, looking for an icon\\n /* !todo: ?question: should the icon depend on \\\"type\\\" parameter? */\\n buttonContent = $tw.wiki.getTiddler(self.icon).fields.text;\\n }\\n domNode.innerHTML = buttonContent;\\n // Insert element\\n parent.insertBefore(domNode, nextSibling);\\n this.renderChildren(domNode, null);\\n this.domNodes.push(domNode);\\n };\\n\\n function noLocation(message) {\\n /* !todo: ?question: replace by \\\"modal\\\" alert? */\\n // create or update a temporary message tiddler \\n $tw.wiki.setText(\\\"$:/temp/noLocationMessage\\\", \\\"text\\\", null, \\\"geolocation access denied: \\\" + message, null);\\n // displays it in modal\\n $tw.modal.display(\\\"$:/temp/noLocationMessage\\\");\\n }\\n\\n function infoLocation(message) {\\n // create or update a temporary message tiddler \\n $tw.wiki.setText(\\\"$:/temp/viewLocationMessage\\\", \\\"text\\\", null, message, null);\\n // displays it in modal\\n $tw.notifier.display(\\\"$:/temp/viewLocationMessage\\\");\\n }\\n /*\\n We don't allow actions to propagate because we trigger actions ourselves\\n */\\n GeolocationWidget.prototype.allowActionPropagation = function() {\\n return false;\\n };\\n\\n exports.geoloc = GeolocationWidget;\\n\\n})();\",\n \"title\": \"$:/ext/modules/widgets/geolocation-widget.js\",\n \"type\": \"application/javascript\",\n \"module-type\": \"widget\"\n },\n \"geoLocationWidget\": {\n \"caption\": \"action-createtiddler\",\n \"created\": \"20180906130958091\",\n \"modified\": \"20180906132645752\",\n \"author\": \"Sylvain Comte\",\n \"tags\": \"Widgets\",\n \"title\": \"geoLocationWidget\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"text\": \"! Introduction\\nThe ''geolocation'' widget is used to collect geographic position of the browser running the wiki. For now position will be added the //point// (or //points// if there is more than one point) field of the target tiddler. Those fields may then be used with the [[Leaflet Map Plugin|https://sycom.github.io/TiddlyWiki-Plugins/#Leaflet%20plugin]], or whatever tool using geographic coordinates.\\n\\n* The widget is not dependant from Leaflet Map Plugin (but is bundled in it). You may install it alone\\n* The widget will only work on //https// website, due to security limitation of the geolocation implemented in browsers\\n\\n! Content and Attributes\\nThe [[geolocation widget|$:/ext/modules/widgets/geolocation-widget.js]] will create a button to collect your browser's position. Any content within it is ignored.\\n\\n| !Attribute | !Description | !Default |\\n|target |The tiddler (title) in which data will be stored |//current tiddler// |\\n|icon |The title of the icon used to dress up the button|$:/core/images/globe |\\n|text |The text displayed in the button (will overwrite the icon)|`undefined` |\\n\\nMore options will come later (//accuracy//, //object type//...).\\n\\n! Examples\\n\\n```\\n\u003C$geoloc target=\\\"Geolocation Store\\\" />\\n```\\n\\n\u003C$geoloc target=\\\"Geolocation Store\\\" />\\n\\n! Source\\nThe ''geolocation widget'' is developped aside Leaflet Map Plugin. Source code can be found on the same repository : https://framagit.org/sycom/TiddlyWiki-Plugins/tree/master/ext/modules/widget/geolocation\\n\\n\"\n },\n \"$:/plugins/sycom/leaflet/icon\": {\n \"title\": \"$:/plugins/sycom/leaflet/icon\",\n \"tags\": \"$:/tags/Image\",\n \"text\": \"\u003Csvg class=\\\"tc-image-leaflet-map tc-image-button\\\" viewBox=\\\"0 0 128 128\\\" width=\\\"22pt\\\" height=\\\"22pt\\\">\\n \u003Cg fill-rule=\\\"evenodd\\\">\\n \u003Cpath d=\\\"M64 0L9.4 32v64L64 128l54.6-32V32zM48.8 32.4l30.8 7.8V95l-30.8-7.8zm57.2 2.4v54.7L82 95V40.2zm-59.8-2.2v54.7L21 92.8V38zm-10.4 5.9a5.2 5.2 0 0 0-5.1 5c0 1.1.6 2.6 1.1 3.6l4 7.6 3.9-7.6c.4-1 1.1-2.4 1.1-3.6 0-2.6-2.3-5-5-5zm-.2 3h.2c1 0 2 .9 2 2a2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1 .8-2 1.8-2zM64.2 44c-7 0-13 6.1-13 12.7 0 3 1.7 6.8 3 9.4l10 19.3L74 66c1.2-2.6 3-6.2 3-9.4C77 50.1 71.2 44 64 44zm0 7.7a5 5 0 0 1 5 5 5 5 0 0 1-10 0 5 5 0 0 1 5-5zM25.6 59a3.5 3.5 0 0 0-3.4 3.3c0 .8.5 1.8.8 2.5l2.6 5 2.6-5c.3-.7.8-1.7.8-2.5 0-1.7-1.5-3.3-3.4-3.3zm0 2a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1-1.3-1.3 1.3 1.3 0 0 1 1.3-1.3zM92 66.8c-2.7 0-5 2.4-5 5 0 1.2.6 2.7 1.1 3.7l4 7.5 3.8-7.5c.5-1 1.2-2.4 1.2-3.7 0-2.6-2.3-5-5-5zm0 3c1.1 0 2 1 2 2a2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1 .9-1.9 2-2z\\\"/>\\n \u003Cpath d=\\\"M69-158h58v67H69z\\\" fill=\\\"#fff\\\"/>\\n \u003C/g>\\n\u003C/svg>\\n\"\n },\n \"$:/plugins/sycom/leaflet/images/layers.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/layers.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"26\\\" width=\\\"26\\\">\u003Cpath d=\\\"M0 17l13-8 13 8-13 8-13-8\\\" fill=\\\"#b9b9b9\\\"/>\u003Cpath d=\\\"M0 17v1l13 8 13-8v-1l-13 8z\\\" fill=\\\"#737373\\\"/>\u003Cpath d=\\\"M0 13l13-8 13 8-13 8-13-8\\\" fill=\\\"#cdcdcd\\\"/>\\n \u003Cpath d=\\\"M0 13v1l13 8 13-8v-1l-13 8z\\\" fill=\\\"#737373\\\"/>\u003Cpath d=\\\"M0 9l13-8 13 8-13 8L0 9\\\" fill-opacity=\\\".6\\\" fill=\\\"#e9e9e9\\\"/>\u003Cpath d=\\\"M0 9v1l13 8 13-8V9l-13 8z\\\" fill=\\\"#737373\\\"/>\u003C/svg>\\n\",\n \"type\": \"image/svg+xml\",\n \"created\": \"20161028202401905\",\n \"modified\": \"20180531154011600\",\n \"tags\": \"$:/tags/Image\"\n },\n \"$:/plugins/sycom/leaflet/images/marker.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/marker.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"25\\\" height=\\\"40\\\" fill-rule=\\\"evenodd\\\">\u003Cpath fill=\\\"none\\\" d=\\\"M6.279 4.463h12.625v14.5H6.279z\\\"/>\u003Cpath fill=\\\"$primary$\\\" fill-opacity=\\\".8\\\" stroke=\\\"#fff\\\" stroke-linecap=\\\"round\\\" d=\\\"M12.544.5C5.971.5.5 6.191.5 12.366c0 2.778 1.564 6.308 2.694 8.746L12.5 38.984l9.262-17.872c1.13-2.438 2.738-5.791 2.738-8.746C24.5 6.191 19.117.5 12.544.5zm0 7.155a4.714 4.714 0 0 1 4.679 4.71c0 2.588-2.095 4.663-4.679 4.679-2.584-.017-4.679-2.09-4.679-4.679a4.714 4.714 0 0 1 4.679-4.71z\\\" class=\\\"leaflet-marker-colored\\\"/>\u003Cpath fill=\\\"none\\\" stroke=\\\"#fff\\\" stroke-linecap=\\\"round\\\" stroke-opacity=\\\".9\\\" d=\\\"M12.531 1.607c-5.944 0-10.938 5.219-10.938 10.75 0 2.359 1.443 5.832 2.563 8.25l.031.031L12.5 36.607l8.25-15.969.031-.031c1.135-2.448 2.625-5.706 2.625-8.25 0-5.538-4.931-10.75-10.875-10.75zm0 4.969c3.168.021 5.781 2.601 5.781 5.781 0 3.18-2.613 5.761-5.781 5.781-3.168-.02-5.75-2.61-5.75-5.781 0-3.172 2.582-5.761 5.75-5.781z\\\"/>\u003C/svg>\\n\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"created\": \"20161028202401905\",\n \"modified\": \"20180531124011600\",\n \"tags\": \"$:/tags/Image\",\n \"marker_dim\": \"25 40 12.5 40\",\n \"caption\": \"marker\"\n },\n \"$:/plugins/sycom/leaflet/images/markershadow.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/markershadow.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"50\\\" height=\\\"40\\\">\u003Cfilter id=\\\"a\\\" width=\\\"200\\\" height=\\\"200\\\" x=\\\"-50\\\" y=\\\"-50\\\">\u003CfeGaussianBlur in=\\\"SourceAlpha\\\" stdDeviation=\\\"1.5\\\"/>\u003C/filter>\u003Cpath fill=\\\"none\\\" d=\\\"M47 0a52 52 0 0 0-34 21L0 40l30-19 13-9c7-6 9-12 4-12zm-9 7a3 8 58 0 1-2 5c-3 3-7 5-9 5-3 0-2-2 1-5a3 8 58 0 1 10-5z\\\" filter=\\\"url(#a)\\\"/>\u003C/svg>\\n\",\n \"type\": \"image/svg+xml\",\n \"created\": \"20161028202401905\",\n \"modified\": \"20180531155500000\",\n \"tags\": \"$:/tags/Image\",\n \"marker_dim\": \"50 40 0 40\"\n },\n \"$:/plugins/sycom/leaflet/images/pin.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/pin.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"35\\\">\u003Cdefs>\u003ClinearGradient id=\\\"a\\\">\u003Cstop offset=\\\"0\\\" stop-color=\\\"#fff\\\"/>\u003Cstop offset=\\\"1\\\" stop-color=\\\"#fff\\\" stop-opacity=\\\"0\\\"/>\u003C/linearGradient>\u003CradialGradient id=\\\"b\\\" cx=\\\"7\\\" cy=\\\"7\\\" r=\\\"8\\\" fx=\\\"5\\\" fy=\\\"5\\\" gradientTransform=\\\"scale(1.12)\\\" gradientUnits=\\\"userSpaceOnUse\\\" href=\\\"#a\\\"/>\u003C/defs>\u003Cg fill-rule=\\\"evenodd\\\">\u003Cpath d=\\\"M9 20h2v15H9z\\\"/>\u003Ccircle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"10\\\" class=\\\"leaflet-marker-colored\\\" fill-opacity=\\\".8\\\" fill=\\\"$primary$\\\"/>\u003Ccircle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"10\\\" fill=\\\"url(#b)\\\"/>\u003C/g>\u003C/svg>\\n\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"created\": \"20161028202401905\",\n \"modified\": \"20180531154500000\",\n \"tags\": \"$:/tags/Image\",\n \"marker_dim\": \"20 35 10 35\",\n \"caption\": \"pin\"\n },\n \"$:/plugins/sycom/leaflet/images/pinshadow.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/pinshadow.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"15\\\" height=\\\"15\\\">\u003Cfilter id=\\\"a\\\" width=\\\"200\\\" height=\\\"200\\\" x=\\\"-50\\\" y=\\\"-50\\\">\u003CfeGaussianBlur in=\\\"SourceAlpha\\\" stdDeviation=\\\"1.5\\\"/>\u003C/filter>\u003Cellipse cx=\\\"8\\\" cy=\\\"8\\\" style=\\\"stroke:none; fill-opacity:.3; filter: url(#a)\\\" rx=\\\"7\\\" ry=\\\"7\\\"/>\u003C/svg>\\n\",\n \"type\": \"image/svg+xml\",\n \"created\": \"20170129162401910\",\n \"modified\": \"20180531155000000\",\n \"tags\": \"$:/tags/Image\",\n \"marker_dim\": \"15 15 5 7\"\n },\n \"$:/plugins/sycom/leaflet/images/point.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/point.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"15\\\" height=\\\"15\\\" fill-rule=\\\"evenodd\\\">\u003Cellipse cx=\\\"7.5\\\" cy=\\\"7.5\\\" fill=\\\"none\\\" stroke=\\\"#fff\\\" stroke-opacity=\\\".8\\\" rx=\\\"7.5\\\" ry=\\\"7.5\\\"/>\u003Cellipse cx=\\\"7.5\\\" cy=\\\"7.5\\\" fill=\\\"$primary$\\\" fill-opacity=\\\".8\\\" stroke=\\\"#000\\\" stroke-opacity=\\\".8\\\" stroke-width=\\\".5\\\" class=\\\"leaflet-marker-colored\\\" rx=\\\"7\\\" ry=\\\"7\\\"/>\u003C/svg>\\n\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"created\": \"20170129162401905\",\n \"modified\": \"20180531165500000\",\n \"tags\": \"$:/tags/Image\",\n \"marker_dim\": \"15 15 7.5 7.5\",\n \"caption\": \"point\"\n },\n \"$:/plugins/sycom/leaflet/images/pointshadow.svg\": {\n \"title\": \"$:/plugins/sycom/leaflet/images/pointshadow.svg\",\n \"text\": \"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"15\\\" height=\\\"15\\\">\u003Cfilter id=\\\"a\\\" width=\\\"200\\\" height=\\\"200\\\" x=\\\"-50\\\" y=\\\"-50\\\">\u003CfeGaussianBlur in=\\\"SourceAlpha\\\" stdDeviation=\\\"1.5\\\"/>\u003C/filter>\u003Cellipse cx=\\\"7.5\\\" cy=\\\"7.5\\\" fill-opacity=\\\".3\\\" filter=\\\"url(#a)\\\" rx=\\\"7.2\\\" ry=\\\"7.2\\\"/>\u003C/svg>\\n\",\n \"type\": \"image/svg+xml\",\n \"created\": \"20170129162401910\",\n \"modified\": \"20180531165600000\",\n \"tags\": \"$:/tags/Image\",\n \"marker_dim\": \"15 15 0 12\"\n },\n \"$:/plugins/sycom/leaflet/lib/tileLayers.json\": {\n \"text\": \"[\\n {\\n \\\"id\\\": \\\"osmfr\\\",\\n \\\"nom\\\": \\\"OSM France\\\",\\n \\\"url\\\": \\\"http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"fond par \u003Ca href='http://osm.org/copyright'>OSM\u003C/a>, licence \u003Ca href='http://creativecommons.org/licenses/by-sa/3.0'>CC BY SA\u003C/a>. Données ©Contributeurs \u003Ca href='http://openstreetmap.org'>OSM\u003C/a>, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"osm\\\",\\n \\\"nom\\\": \\\"OpenStreetMap\\\",\\n \\\"url\\\": \\\"http://{s}.tile.osm.org/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"Map tiles by ©\u003Ca href='http://osm.org/copyright'>OSM\u003C/a>, licence \u003Ca href='http://creativecommons.org/licenses/by-sa/3.0'>CC BY SA\u003C/a>. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"osmbw\\\",\\n \\\"nom\\\": \\\"OSM N&B\\\",\\n \\\"url\\\": \\\"http://www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"Tiles hosted by wikimedia labs. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"sat\\\",\\n \\\"nom\\\": \\\"Satellite Esri\\\",\\n \\\"url\\\": \\\"http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\\\",\\n \\\"attrib\\\": \\\"©Map tiles by Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"natgeo\\\",\\n \\\"nom\\\": \\\"National Geog.\\\",\\n \\\"url\\\": \\\"http://server.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}\\\",\\n \\\"attrib\\\": \\\"©Map tiles by Esri — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 12\\n },\\n {\\n \\\"id\\\": \\\"toner\\\",\\n \\\"nom\\\": \\\"Black Ink\\\",\\n \\\"url\\\": \\\"http://{s}.tile.stamen.com/toner/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"Map tiles by \u003Ca href='http://stamen.com'>Stamen Design\u003C/a>, licence \u003Ca href='http://creativecommons.org/licenses/by/3.0'>CC BY 3.0\u003C/a>. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"water\\\",\\n \\\"nom\\\": \\\"Water painting\\\",\\n \\\"url\\\": \\\"http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"Map tiles by \u003Ca href='http://stamen.com'>Stamen Design\u003C/a>, licence \u003Ca href='http://creativecommons.org/licenses/by/3.0'>CC BY 3.0\u003C/a>. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"thunder\\\",\\n \\\"nom\\\": \\\"Thunderforest\\\",\\n \\\"url\\\": \\\"http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"Map tiles by \u003Ca href='http://thunderforest.com/'>Thunderforest\u003C/a>. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"dark\\\",\\n \\\"nom\\\": \\\"Dark Matter\\\",\\n \\\"url\\\": \\\"http://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"©Map tiles by \u003Ca href='https://cartodb.com/basemaps/' target='_blank'>CartoDB\u003C/a>, under \u003Ca href='https://creativecommons.org/licenses/by/3.0/' target='_blank'>CC BY 3.0\u003C/a>. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n },\\n {\\n \\\"id\\\": \\\"positron\\\",\\n \\\"nom\\\": \\\"Positron\\\",\\n \\\"url\\\": \\\"http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png\\\",\\n \\\"attrib\\\": \\\"©Map tiles by \u003Ca href='https://cartodb.com/basemaps/' target='_blank'>CartoDB\u003C/a>, under \u003Ca href='https://creativecommons.org/licenses/by/3.0/' target='_blank'>CC BY 3.0\u003C/a>. Data by ©\u003Ca href='http://openstreetmap.org'>OSM\u003C/a> contributors, licence \u003Ca href='http://opendatacommons.org/licenses/odbl/'>ODbL\u003C/a>.\\\",\\n \\\"zMin\\\": 1,\\n \\\"zMax\\\": 20\\n }\\n]\\n\",\n \"type\": \"application/json\",\n \"title\": \"$:/plugins/sycom/leaflet/lib/tileLayers.json\"\n },\n \"$:/plugins/sycom/leaflet/lib/leaflet.css\": {\n \"text\": \"/* required styles */\\n\\n.leaflet-pane,\\n.leaflet-tile,\\n.leaflet-marker-icon,\\n.leaflet-marker-shadow,\\n.leaflet-tile-container,\\n.leaflet-pane > svg,\\n.leaflet-pane > canvas,\\n.leaflet-zoom-box,\\n.leaflet-image-layer,\\n.leaflet-layer {\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\t}\\n.leaflet-container {\\n\\toverflow: hidden;\\n\\t}\\n.leaflet-tile,\\n.leaflet-marker-icon,\\n.leaflet-marker-shadow {\\n\\t-webkit-user-select: none;\\n\\t -moz-user-select: none;\\n\\t user-select: none;\\n\\t -webkit-user-drag: none;\\n\\t}\\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */\\n.leaflet-safari .leaflet-tile {\\n\\timage-rendering: -webkit-optimize-contrast;\\n\\t}\\n/* hack that prevents hw layers \\\"stretching\\\" when loading new tiles */\\n.leaflet-safari .leaflet-tile-container {\\n\\twidth: 1600px;\\n\\theight: 1600px;\\n\\t-webkit-transform-origin: 0 0;\\n\\t}\\n.leaflet-marker-icon,\\n.leaflet-marker-shadow {\\n\\tdisplay: block;\\n\\t}\\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */\\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */\\n.leaflet-container .leaflet-overlay-pane svg,\\n.leaflet-container .leaflet-marker-pane img,\\n.leaflet-container .leaflet-shadow-pane img,\\n.leaflet-container .leaflet-tile-pane img,\\n.leaflet-container img.leaflet-image-layer {\\n\\tmax-width: none !important;\\n\\tmax-height: none !important;\\n\\t}\\n\\n.leaflet-container.leaflet-touch-zoom {\\n\\t-ms-touch-action: pan-x pan-y;\\n\\ttouch-action: pan-x pan-y;\\n\\t}\\n.leaflet-container.leaflet-touch-drag {\\n\\t-ms-touch-action: pinch-zoom;\\n\\t/* Fallback for FF which doesn't support pinch-zoom */\\n\\ttouch-action: none;\\n\\ttouch-action: pinch-zoom;\\n}\\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.leaflet-container {\\n\\t-webkit-tap-highlight-color: transparent;\\n}\\n.leaflet-container a {\\n\\t-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);\\n}\\n.leaflet-tile {\\n\\tfilter: inherit;\\n\\tvisibility: hidden;\\n\\t}\\n.leaflet-tile-loaded {\\n\\tvisibility: inherit;\\n\\t}\\n.leaflet-zoom-box {\\n\\twidth: 0;\\n\\theight: 0;\\n\\t-moz-box-sizing: border-box;\\n\\t box-sizing: border-box;\\n\\tz-index: 800;\\n\\t}\\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */\\n.leaflet-overlay-pane svg {\\n\\t-moz-user-select: none;\\n\\t}\\n\\n.leaflet-pane { z-index: 400; }\\n\\n.leaflet-tile-pane { z-index: 200; }\\n.leaflet-overlay-pane { z-index: 400; }\\n.leaflet-shadow-pane { z-index: 500; }\\n.leaflet-marker-pane { z-index: 600; }\\n.leaflet-tooltip-pane { z-index: 650; }\\n.leaflet-popup-pane { z-index: 700; }\\n\\n.leaflet-map-pane canvas { z-index: 100; }\\n.leaflet-map-pane svg { z-index: 200; }\\n\\n.leaflet-vml-shape {\\n\\twidth: 1px;\\n\\theight: 1px;\\n\\t}\\n.lvml {\\n\\tbehavior: url(#default#VML);\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\t}\\n\\n\\n/* control positioning */\\n\\n.leaflet-control {\\n\\tposition: relative;\\n\\tz-index: 800;\\n\\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\\n\\tpointer-events: auto;\\n\\t}\\n.leaflet-top,\\n.leaflet-bottom {\\n\\tposition: absolute;\\n\\tz-index: 1000;\\n\\tpointer-events: none;\\n\\t}\\n.leaflet-top {\\n\\ttop: 0;\\n\\t}\\n.leaflet-right {\\n\\tright: 0;\\n\\t}\\n.leaflet-bottom {\\n\\tbottom: 0;\\n\\t}\\n.leaflet-left {\\n\\tleft: 0;\\n\\t}\\n.leaflet-control {\\n\\tfloat: left;\\n\\tclear: both;\\n\\t}\\n.leaflet-right .leaflet-control {\\n\\tfloat: right;\\n\\t}\\n.leaflet-top .leaflet-control {\\n\\tmargin-top: 10px;\\n\\t}\\n.leaflet-bottom .leaflet-control {\\n\\tmargin-bottom: 10px;\\n\\t}\\n.leaflet-left .leaflet-control {\\n\\tmargin-left: 10px;\\n\\t}\\n.leaflet-right .leaflet-control {\\n\\tmargin-right: 10px;\\n\\t}\\n\\n\\n/* zoom and fade animations */\\n\\n.leaflet-fade-anim .leaflet-tile {\\n\\twill-change: opacity;\\n\\t}\\n.leaflet-fade-anim .leaflet-popup {\\n\\topacity: 0;\\n\\t-webkit-transition: opacity 0.2s linear;\\n\\t -moz-transition: opacity 0.2s linear;\\n\\t -o-transition: opacity 0.2s linear;\\n\\t transition: opacity 0.2s linear;\\n\\t}\\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {\\n\\topacity: 1;\\n\\t}\\n.leaflet-zoom-animated {\\n\\t-webkit-transform-origin: 0 0;\\n\\t -ms-transform-origin: 0 0;\\n\\t transform-origin: 0 0;\\n\\t}\\n.leaflet-zoom-anim .leaflet-zoom-animated {\\n\\twill-change: transform;\\n\\t}\\n.leaflet-zoom-anim .leaflet-zoom-animated {\\n\\t-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);\\n\\t -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);\\n\\t -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);\\n\\t transition: transform 0.25s cubic-bezier(0,0,0.25,1);\\n\\t}\\n.leaflet-zoom-anim .leaflet-tile,\\n.leaflet-pan-anim .leaflet-tile {\\n\\t-webkit-transition: none;\\n\\t -moz-transition: none;\\n\\t -o-transition: none;\\n\\t transition: none;\\n\\t}\\n\\n.leaflet-zoom-anim .leaflet-zoom-hide {\\n\\tvisibility: hidden;\\n\\t}\\n\\n\\n/* cursors */\\n\\n.leaflet-interactive {\\n\\tcursor: pointer;\\n\\t}\\n.leaflet-grab {\\n\\tcursor: -webkit-grab;\\n\\tcursor: -moz-grab;\\n\\t}\\n.leaflet-crosshair,\\n.leaflet-crosshair .leaflet-interactive {\\n\\tcursor: crosshair;\\n\\t}\\n.leaflet-popup-pane,\\n.leaflet-control {\\n\\tcursor: auto;\\n\\t}\\n.leaflet-dragging .leaflet-grab,\\n.leaflet-dragging .leaflet-grab .leaflet-interactive,\\n.leaflet-dragging .leaflet-marker-draggable {\\n\\tcursor: move;\\n\\tcursor: -webkit-grabbing;\\n\\tcursor: -moz-grabbing;\\n\\t}\\n\\n/* marker & overlays interactivity */\\n.leaflet-marker-icon,\\n.leaflet-marker-shadow,\\n.leaflet-image-layer,\\n.leaflet-pane > svg path,\\n.leaflet-tile-container {\\n\\tpointer-events: none;\\n\\t}\\n\\n.leaflet-marker-icon.leaflet-interactive,\\n.leaflet-image-layer.leaflet-interactive,\\n.leaflet-pane > svg path.leaflet-interactive {\\n\\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\\n\\tpointer-events: auto;\\n\\t}\\n\\n/* visual tweaks */\\n\\n.leaflet-container {\\n\\tbackground: #ddd;\\n\\toutline: 0;\\n\\t}\\n.leaflet-container a {\\n\\tcolor: #0078A8;\\n\\t}\\n.leaflet-container a.leaflet-active {\\n\\toutline: 2px solid orange;\\n\\t}\\n.leaflet-zoom-box {\\n\\tborder: 2px dotted #38f;\\n\\tbackground: rgba(255,255,255,0.5);\\n\\t}\\n\\n\\n/* general typography */\\n.leaflet-container {\\n\\tfont: 12px/1.5 \\\"Helvetica Neue\\\", Arial, Helvetica, sans-serif;\\n\\t}\\n\\n\\n/* general toolbar styles */\\n\\n.leaflet-bar {\\n\\tbox-shadow: 0 1px 5px rgba(0,0,0,0.65);\\n\\tborder-radius: 4px;\\n\\t}\\n.leaflet-bar a,\\n.leaflet-bar a:hover {\\n\\tbackground-color: #fff;\\n\\tborder-bottom: 1px solid #ccc;\\n\\twidth: 26px;\\n\\theight: 26px;\\n\\tline-height: 26px;\\n\\tdisplay: block;\\n\\ttext-align: center;\\n\\ttext-decoration: none;\\n\\tcolor: black;\\n\\t}\\n.leaflet-bar a,\\n.leaflet-control-layers-toggle {\\n\\tbackground-position: 50% 50%;\\n\\tbackground-repeat: no-repeat;\\n\\tdisplay: block;\\n\\t}\\n.leaflet-bar a:hover {\\n\\tbackground-color: #f4f4f4;\\n\\t}\\n.leaflet-bar a:first-child {\\n\\tborder-top-left-radius: 4px;\\n\\tborder-top-right-radius: 4px;\\n\\t}\\n.leaflet-bar a:last-child {\\n\\tborder-bottom-left-radius: 4px;\\n\\tborder-bottom-right-radius: 4px;\\n\\tborder-bottom: none;\\n\\t}\\n.leaflet-bar a.leaflet-disabled {\\n\\tcursor: default;\\n\\tbackground-color: #f4f4f4;\\n\\tcolor: #bbb;\\n\\t}\\n\\n.leaflet-touch .leaflet-bar a {\\n\\twidth: 30px;\\n\\theight: 30px;\\n\\tline-height: 30px;\\n\\t}\\n.leaflet-touch .leaflet-bar a:first-child {\\n\\tborder-top-left-radius: 2px;\\n\\tborder-top-right-radius: 2px;\\n\\t}\\n.leaflet-touch .leaflet-bar a:last-child {\\n\\tborder-bottom-left-radius: 2px;\\n\\tborder-bottom-right-radius: 2px;\\n\\t}\\n\\n/* zoom control */\\n\\n.leaflet-control-zoom-in,\\n.leaflet-control-zoom-out {\\n\\tfont: bold 18px 'Lucida Console', Monaco, monospace;\\n\\ttext-indent: 1px;\\n\\t}\\n\\n.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {\\n\\tfont-size: 22px;\\n\\t}\\n\\n\\n/* layers control */\\n\\n.leaflet-control-layers {\\n\\tbox-shadow: 0 1px 5px rgba(0,0,0,0.4);\\n\\tbackground: #fff;\\n\\tborder-radius: 5px;\\n\\t}\\n.leaflet-control-layers-toggle {\\n\\tbackground-image: url(images/layers.png);\\n\\twidth: 36px;\\n\\theight: 36px;\\n\\t}\\n.leaflet-retina .leaflet-control-layers-toggle {\\n\\tbackground-image: url(images/layers-2x.png);\\n\\tbackground-size: 26px 26px;\\n\\t}\\n.leaflet-touch .leaflet-control-layers-toggle {\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\t}\\n.leaflet-control-layers .leaflet-control-layers-list,\\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {\\n\\tdisplay: none;\\n\\t}\\n.leaflet-control-layers-expanded .leaflet-control-layers-list {\\n\\tdisplay: block;\\n\\tposition: relative;\\n\\t}\\n.leaflet-control-layers-expanded {\\n\\tpadding: 6px 10px 6px 6px;\\n\\tcolor: #333;\\n\\tbackground: #fff;\\n\\t}\\n.leaflet-control-layers-scrollbar {\\n\\toverflow-y: scroll;\\n\\toverflow-x: hidden;\\n\\tpadding-right: 5px;\\n\\t}\\n.leaflet-control-layers-selector {\\n\\tmargin-top: 2px;\\n\\tposition: relative;\\n\\ttop: 1px;\\n\\t}\\n.leaflet-control-layers label {\\n\\tdisplay: block;\\n\\t}\\n.leaflet-control-layers-separator {\\n\\theight: 0;\\n\\tborder-top: 1px solid #ddd;\\n\\tmargin: 5px -10px 5px -6px;\\n\\t}\\n\\n/* Default icon URLs */\\n.leaflet-default-icon-path {\\n\\tbackground-image: url(images/marker-icon.png);\\n\\t}\\n\\n\\n/* attribution and scale controls */\\n\\n.leaflet-container .leaflet-control-attribution {\\n\\tbackground: #fff;\\n\\tbackground: rgba(255, 255, 255, 0.7);\\n\\tmargin: 0;\\n\\t}\\n.leaflet-control-attribution,\\n.leaflet-control-scale-line {\\n\\tpadding: 0 5px;\\n\\tcolor: #333;\\n\\t}\\n.leaflet-control-attribution a {\\n\\ttext-decoration: none;\\n\\t}\\n.leaflet-control-attribution a:hover {\\n\\ttext-decoration: underline;\\n\\t}\\n.leaflet-container .leaflet-control-attribution,\\n.leaflet-container .leaflet-control-scale {\\n\\tfont-size: 11px;\\n\\t}\\n.leaflet-left .leaflet-control-scale {\\n\\tmargin-left: 5px;\\n\\t}\\n.leaflet-bottom .leaflet-control-scale {\\n\\tmargin-bottom: 5px;\\n\\t}\\n.leaflet-control-scale-line {\\n\\tborder: 2px solid #777;\\n\\tborder-top: none;\\n\\tline-height: 1.1;\\n\\tpadding: 2px 5px 1px;\\n\\tfont-size: 11px;\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\t-moz-box-sizing: border-box;\\n\\t box-sizing: border-box;\\n\\n\\tbackground: #fff;\\n\\tbackground: rgba(255, 255, 255, 0.5);\\n\\t}\\n.leaflet-control-scale-line:not(:first-child) {\\n\\tborder-top: 2px solid #777;\\n\\tborder-bottom: none;\\n\\tmargin-top: -2px;\\n\\t}\\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {\\n\\tborder-bottom: 2px solid #777;\\n\\t}\\n\\n.leaflet-touch .leaflet-control-attribution,\\n.leaflet-touch .leaflet-control-layers,\\n.leaflet-touch .leaflet-bar {\\n\\tbox-shadow: none;\\n\\t}\\n.leaflet-touch .leaflet-control-layers,\\n.leaflet-touch .leaflet-bar {\\n\\tborder: 2px solid rgba(0,0,0,0.2);\\n\\tbackground-clip: padding-box;\\n\\t}\\n\\n\\n/* popup */\\n\\n.leaflet-popup {\\n\\tposition: absolute;\\n\\ttext-align: center;\\n\\tmargin-bottom: 20px;\\n\\t}\\n.leaflet-popup-content-wrapper {\\n\\tpadding: 1px;\\n\\ttext-align: left;\\n\\tborder-radius: 12px;\\n\\t}\\n.leaflet-popup-content {\\n\\tmargin: 13px 19px;\\n\\tline-height: 1.4;\\n\\t}\\n.leaflet-popup-content p {\\n\\tmargin: 18px 0;\\n\\t}\\n.leaflet-popup-tip-container {\\n\\twidth: 40px;\\n\\theight: 20px;\\n\\tposition: absolute;\\n\\tleft: 50%;\\n\\tmargin-left: -20px;\\n\\toverflow: hidden;\\n\\tpointer-events: none;\\n\\t}\\n.leaflet-popup-tip {\\n\\twidth: 17px;\\n\\theight: 17px;\\n\\tpadding: 1px;\\n\\n\\tmargin: -10px auto 0;\\n\\n\\t-webkit-transform: rotate(45deg);\\n\\t -moz-transform: rotate(45deg);\\n\\t -ms-transform: rotate(45deg);\\n\\t -o-transform: rotate(45deg);\\n\\t transform: rotate(45deg);\\n\\t}\\n.leaflet-popup-content-wrapper,\\n.leaflet-popup-tip {\\n\\tbackground: white;\\n\\tcolor: #333;\\n\\tbox-shadow: 0 3px 14px rgba(0,0,0,0.4);\\n\\t}\\n.leaflet-container a.leaflet-popup-close-button {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tpadding: 4px 4px 0 0;\\n\\tborder: none;\\n\\ttext-align: center;\\n\\twidth: 18px;\\n\\theight: 14px;\\n\\tfont: 16px/14px Tahoma, Verdana, sans-serif;\\n\\tcolor: #c3c3c3;\\n\\ttext-decoration: none;\\n\\tfont-weight: bold;\\n\\tbackground: transparent;\\n\\t}\\n.leaflet-container a.leaflet-popup-close-button:hover {\\n\\tcolor: #999;\\n\\t}\\n.leaflet-popup-scrolled {\\n\\toverflow: auto;\\n\\tborder-bottom: 1px solid #ddd;\\n\\tborder-top: 1px solid #ddd;\\n\\t}\\n\\n.leaflet-oldie .leaflet-popup-content-wrapper {\\n\\tzoom: 1;\\n\\t}\\n.leaflet-oldie .leaflet-popup-tip {\\n\\twidth: 24px;\\n\\tmargin: 0 auto;\\n\\n\\t-ms-filter: \\\"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\\\";\\n\\tfilter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);\\n\\t}\\n.leaflet-oldie .leaflet-popup-tip-container {\\n\\tmargin-top: -1px;\\n\\t}\\n\\n.leaflet-oldie .leaflet-control-zoom,\\n.leaflet-oldie .leaflet-control-layers,\\n.leaflet-oldie .leaflet-popup-content-wrapper,\\n.leaflet-oldie .leaflet-popup-tip {\\n\\tborder: 1px solid #999;\\n\\t}\\n\\n\\n/* div icon */\\n\\n.leaflet-div-icon {\\n\\tbackground: #fff;\\n\\tborder: 1px solid #666;\\n\\t}\\n\\n\\n/* Tooltip */\\n/* Base styles for the element that has a tooltip */\\n.leaflet-tooltip {\\n\\tposition: absolute;\\n\\tpadding: 6px;\\n\\tbackground-color: #fff;\\n\\tborder: 1px solid #fff;\\n\\tborder-radius: 3px;\\n\\tcolor: #222;\\n\\twhite-space: nowrap;\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n\\tpointer-events: none;\\n\\tbox-shadow: 0 1px 3px rgba(0,0,0,0.4);\\n\\t}\\n.leaflet-tooltip.leaflet-clickable {\\n\\tcursor: pointer;\\n\\tpointer-events: auto;\\n\\t}\\n.leaflet-tooltip-top:before,\\n.leaflet-tooltip-bottom:before,\\n.leaflet-tooltip-left:before,\\n.leaflet-tooltip-right:before {\\n\\tposition: absolute;\\n\\tpointer-events: none;\\n\\tborder: 6px solid transparent;\\n\\tbackground: transparent;\\n\\tcontent: \\\"\\\";\\n\\t}\\n\\n/* Directions */\\n\\n.leaflet-tooltip-bottom {\\n\\tmargin-top: 6px;\\n}\\n.leaflet-tooltip-top {\\n\\tmargin-top: -6px;\\n}\\n.leaflet-tooltip-bottom:before,\\n.leaflet-tooltip-top:before {\\n\\tleft: 50%;\\n\\tmargin-left: -6px;\\n\\t}\\n.leaflet-tooltip-top:before {\\n\\tbottom: 0;\\n\\tmargin-bottom: -12px;\\n\\tborder-top-color: #fff;\\n\\t}\\n.leaflet-tooltip-bottom:before {\\n\\ttop: 0;\\n\\tmargin-top: -12px;\\n\\tmargin-left: -6px;\\n\\tborder-bottom-color: #fff;\\n\\t}\\n.leaflet-tooltip-left {\\n\\tmargin-left: -6px;\\n}\\n.leaflet-tooltip-right {\\n\\tmargin-left: 6px;\\n}\\n.leaflet-tooltip-left:before,\\n.leaflet-tooltip-right:before {\\n\\ttop: 50%;\\n\\tmargin-top: -6px;\\n\\t}\\n.leaflet-tooltip-left:before {\\n\\tright: 0;\\n\\tmargin-right: -12px;\\n\\tborder-left-color: #fff;\\n\\t}\\n.leaflet-tooltip-right:before {\\n\\tleft: 0;\\n\\tmargin-left: -12px;\\n\\tborder-right-color: #fff;\\n\\t}\\n\",\n \"type\": \"text/css\",\n \"title\": \"$:/plugins/sycom/leaflet/lib/leaflet.css\",\n \"tags\": \"$:/tags/Stylesheet\"\n },\n \"$:/plugins/sycom/leaflet/lib/leaflet-markercluster.css\": {\n \"text\": \".leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {\\n\\t-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;\\n\\t-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;\\n\\t-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;\\n\\ttransition: transform 0.3s ease-out, opacity 0.3s ease-in;\\n}\\n\\n.leaflet-cluster-spider-leg {\\n\\t/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */\\n\\t-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;\\n\\t-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;\\n\\t-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;\\n\\ttransition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;\\n}\\n\",\n \"type\": \"text/css\",\n \"title\": \"$:/plugins/sycom/leaflet/lib/leaflet-markercluster.css\",\n \"tags\": \"$:/tags/Stylesheet\"\n },\n \"$:/plugins/sycom/leaflet/lib/leaflet.js\": {\n \"text\": \"var L;if($tw.browser){\\n/* @preserve\\n * Leaflet 1.3.1, a JS library for interactive maps. http://leafletjs.com\\n * (c) 2010-2017 Vladimir Agafonkin, (c) 2010-2011 CloudMade\\n */\\n!function(t,i){\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module?i(exports):\\\"function\\\"==typeof define&&define.amd?define([\\\"exports\\\"],i):i(t.L={})}(this,function(t){\\\"use strict\\\";function i(t){var i,e,n,o;for(e=1,n=arguments.length;e\u003Cn;e++){o=arguments[e];for(i in o)t[i]=o[i]}return t}function e(t,i){var e=Array.prototype.slice;if(t.bind)return t.bind.apply(t,e.call(arguments,1));var n=e.call(arguments,2);return function(){return t.apply(i,n.length?n.concat(e.call(arguments)):arguments)}}function n(t){return t._leaflet_id=t._leaflet_id||++ti,t._leaflet_id}function o(t,i,e){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(e,o),o=!1)},s=function(){n?o=arguments:(t.apply(e,arguments),setTimeout(r,i),n=!0)}}function s(t,i,e){var n=i[1],o=i[0],s=n-o;return t===n&&e?t:((t-o)%s+s)%s+o}function r(){return!1}function a(t,i){var e=Math.pow(10,void 0===i?6:i);return Math.round(t*e)/e}function h(t){return t.trim?t.trim():t.replace(/^\\\\s+|\\\\s+$/g,\\\"\\\")}function u(t){return h(t).split(/\\\\s+/)}function l(t,i){t.hasOwnProperty(\\\"options\\\")||(t.options=t.options?Qt(t.options):{});for(var e in i)t.options[e]=i[e];return t.options}function c(t,i,e){var n=[];for(var o in t)n.push(encodeURIComponent(e?o.toUpperCase():o)+\\\"=\\\"+encodeURIComponent(t[o]));return(i&&-1!==i.indexOf(\\\"?\\\")?\\\"&\\\":\\\"?\\\")+n.join(\\\"&\\\")}function _(t,i){return t.replace(ii,function(t,e){var n=i[e];if(void 0===n)throw new Error(\\\"No value provided for variable \\\"+t);return\\\"function\\\"==typeof n&&(n=n(i)),n})}function d(t,i){for(var e=0;e\u003Ct.length;e++)if(t[e]===i)return e;return-1}function p(t){return window[\\\"webkit\\\"+t]||window[\\\"moz\\\"+t]||window[\\\"ms\\\"+t]}function m(t){var i=+new Date,e=Math.max(0,16-(i-oi));return oi=i+e,window.setTimeout(t,e)}function f(t,i,n){if(!n||si!==m)return si.call(window,e(t,i));t.call(i)}function g(t){t&&ri.call(window,t)}function v(){}function y(t){if(\\\"undefined\\\"!=typeof L&&L&&L.Mixin){t=ei(t)?t:[t];for(var i=0;i\u003Ct.length;i++)t[i]===L.Mixin.Events&&console.warn(\\\"Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.\\\",(new Error).stack)}}function x(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}function w(t,i,e){return t instanceof x?t:ei(t)?new x(t[0],t[1]):void 0===t||null===t?t:\\\"object\\\"==typeof t&&\\\"x\\\"in t&&\\\"y\\\"in t?new x(t.x,t.y):new x(t,i,e)}function P(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n\u003Co;n++)this.extend(e[n])}function b(t,i){return!t||t instanceof P?t:new P(t,i)}function T(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n\u003Co;n++)this.extend(e[n])}function z(t,i){return t instanceof T?t:new T(t,i)}function M(t,i,e){if(isNaN(t)||isNaN(i))throw new Error(\\\"Invalid LatLng object: (\\\"+t+\\\", \\\"+i+\\\")\\\");this.lat=+t,this.lng=+i,void 0!==e&&(this.alt=+e)}function C(t,i,e){return t instanceof M?t:ei(t)&&\\\"object\\\"!=typeof t[0]?3===t.length?new M(t[0],t[1],t[2]):2===t.length?new M(t[0],t[1]):null:void 0===t||null===t?t:\\\"object\\\"==typeof t&&\\\"lat\\\"in t?new M(t.lat,\\\"lng\\\"in t?t.lng:t.lon,t.alt):void 0===i?null:new M(t,i,e)}function Z(t,i,e,n){if(ei(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=i,this._c=e,this._d=n}function S(t,i,e,n){return new Z(t,i,e,n)}function E(t){return document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",t)}function k(t,i){var e,n,o,s,r,a,h=\\\"\\\";for(e=0,o=t.length;e\u003Co;e++){for(n=0,s=(r=t[e]).length;n\u003Cs;n++)a=r[n],h+=(n?\\\"L\\\":\\\"M\\\")+a.x+\\\" \\\"+a.y;h+=i?Xi?\\\"z\\\":\\\"x\\\":\\\"\\\"}return h||\\\"M0 0\\\"}function I(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}function A(t,i,e,n){return\\\"touchstart\\\"===i?O(t,e,n):\\\"touchmove\\\"===i?W(t,e,n):\\\"touchend\\\"===i&&H(t,e,n),this}function B(t,i,e){var n=t[\\\"_leaflet_\\\"+i+e];return\\\"touchstart\\\"===i?t.removeEventListener(Qi,n,!1):\\\"touchmove\\\"===i?t.removeEventListener(te,n,!1):\\\"touchend\\\"===i&&(t.removeEventListener(ie,n,!1),t.removeEventListener(ee,n,!1)),this}function O(t,i,n){var o=e(function(t){if(\\\"mouse\\\"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(ne.indexOf(t.target.tagName)\u003C0))return;$(t)}j(t,i)});t[\\\"_leaflet_touchstart\\\"+n]=o,t.addEventListener(Qi,o,!1),se||(document.documentElement.addEventListener(Qi,R,!0),document.documentElement.addEventListener(te,D,!0),document.documentElement.addEventListener(ie,N,!0),document.documentElement.addEventListener(ee,N,!0),se=!0)}function R(t){oe[t.pointerId]=t,re++}function D(t){oe[t.pointerId]&&(oe[t.pointerId]=t)}function N(t){delete oe[t.pointerId],re--}function j(t,i){t.touches=[];for(var e in oe)t.touches.push(oe[e]);t.changedTouches=[t],i(t)}function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&\\\"mouse\\\"!==t.pointerType||0!==t.buttons)&&j(t,i)};t[\\\"_leaflet_touchmove\\\"+e]=n,t.addEventListener(te,n,!1)}function H(t,i,e){var n=function(t){j(t,i)};t[\\\"_leaflet_touchend\\\"+e]=n,t.addEventListener(ie,n,!1),t.addEventListener(ee,n,!1)}function F(t,i,e){function n(t){var i;if(Ui){if(!Pi||\\\"mouse\\\"===t.pointerType)return;i=re}else i=t.touches.length;if(!(i>1)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=n>0&&n\u003C=h,s=e}}function o(t){if(a&&!r.cancelBubble){if(Ui){if(!Pi||\\\"mouse\\\"===t.pointerType)return;var e,n,o={};for(n in r)e=r[n],o[n]=e&&e.bind?e.bind(r):e;r=o}r.type=\\\"dblclick\\\",i(r),s=null}}var s,r,a=!1,h=250;return t[ue+ae+e]=n,t[ue+he+e]=o,t[ue+\\\"dblclick\\\"+e]=i,t.addEventListener(ae,n,!1),t.addEventListener(he,o,!1),t.addEventListener(\\\"dblclick\\\",i,!1),this}function U(t,i){var e=t[ue+ae+i],n=t[ue+he+i],o=t[ue+\\\"dblclick\\\"+i];return t.removeEventListener(ae,e,!1),t.removeEventListener(he,n,!1),Pi||t.removeEventListener(\\\"dblclick\\\",o,!1),this}function V(t,i,e,n){if(\\\"object\\\"==typeof i)for(var o in i)G(t,o,i[o],e);else for(var s=0,r=(i=u(i)).length;s\u003Cr;s++)G(t,i[s],e,n);return this}function q(t,i,e,n){if(\\\"object\\\"==typeof i)for(var o in i)K(t,o,i[o],e);else if(i)for(var s=0,r=(i=u(i)).length;s\u003Cr;s++)K(t,i[s],e,n);else{for(var a in t[le])K(t,a,t[le][a]);delete t[le]}return this}function G(t,i,e,o){var s=i+n(e)+(o?\\\"_\\\"+n(o):\\\"\\\");if(t[le]&&t[le][s])return this;var r=function(i){return e.call(o||t,i||window.event)},a=r;Ui&&0===i.indexOf(\\\"touch\\\")?A(t,i,r,s):!Vi||\\\"dblclick\\\"!==i||!F||Ui&&Si?\\\"addEventListener\\\"in t?\\\"mousewheel\\\"===i?t.addEventListener(\\\"onwheel\\\"in t?\\\"wheel\\\":\\\"mousewheel\\\",r,!1):\\\"mouseenter\\\"===i||\\\"mouseleave\\\"===i?(r=function(i){i=i||window.event,ot(t,i)&&a(i)},t.addEventListener(\\\"mouseenter\\\"===i?\\\"mouseover\\\":\\\"mouseout\\\",r,!1)):(\\\"click\\\"===i&&Ti&&(r=function(t){st(t,a)}),t.addEventListener(i,r,!1)):\\\"attachEvent\\\"in t&&t.attachEvent(\\\"on\\\"+i,r):F(t,r,s),t[le]=t[le]||{},t[le][s]=r}function K(t,i,e,o){var s=i+n(e)+(o?\\\"_\\\"+n(o):\\\"\\\"),r=t[le]&&t[le][s];if(!r)return this;Ui&&0===i.indexOf(\\\"touch\\\")?B(t,i,s):!Vi||\\\"dblclick\\\"!==i||!U||Ui&&Si?\\\"removeEventListener\\\"in t?\\\"mousewheel\\\"===i?t.removeEventListener(\\\"onwheel\\\"in t?\\\"wheel\\\":\\\"mousewheel\\\",r,!1):t.removeEventListener(\\\"mouseenter\\\"===i?\\\"mouseover\\\":\\\"mouseleave\\\"===i?\\\"mouseout\\\":i,r,!1):\\\"detachEvent\\\"in t&&t.detachEvent(\\\"on\\\"+i,r):U(t,s),t[le][s]=null}function Y(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,nt(t),this}function X(t){return G(t,\\\"mousewheel\\\",Y),this}function J(t){return V(t,\\\"mousedown touchstart dblclick\\\",Y),G(t,\\\"click\\\",et),this}function $(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Q(t){return $(t),Y(t),this}function tt(t,i){if(!i)return new x(t.clientX,t.clientY);var e=i.getBoundingClientRect(),n=e.width/i.offsetWidth||1,o=e.height/i.offsetHeight||1;return new x(t.clientX/n-e.left-i.clientLeft,t.clientY/o-e.top-i.clientTop)}function it(t){return Pi?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/ce:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)\u003C32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function et(t){_e[t.type]=!0}function nt(t){var i=_e[t.type];return _e[t.type]=!1,i}function ot(t,i){var e=i.relatedTarget;if(!e)return!0;try{for(;e&&e!==t;)e=e.parentNode}catch(t){return!1}return e!==t}function st(t,i){var e=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,n=pi&&e-pi;n&&n>100&&n\u003C500||t.target._simulatedClick&&!t._simulated?Q(t):(pi=e,i(t))}function rt(t){return\\\"string\\\"==typeof t?document.getElementById(t):t}function at(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!e||\\\"auto\\\"===e)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);e=n?n[i]:null}return\\\"auto\\\"===e?null:e}function ht(t,i,e){var n=document.createElement(t);return n.className=i||\\\"\\\",e&&e.appendChild(n),n}function ut(t){var i=t.parentNode;i&&i.removeChild(t)}function lt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ct(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}function _t(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function dt(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=gt(t);return e.length>0&&new RegExp(\\\"(^|\\\\\\\\s)\\\"+i+\\\"(\\\\\\\\s|$)\\\").test(e)}function pt(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;n\u003Co;n++)t.classList.add(e[n]);else if(!dt(t,i)){var s=gt(t);ft(t,(s?s+\\\" \\\":\\\"\\\")+i)}}function mt(t,i){void 0!==t.classList?t.classList.remove(i):ft(t,h((\\\" \\\"+gt(t)+\\\" \\\").replace(\\\" \\\"+i+\\\" \\\",\\\" \\\")))}function ft(t,i){void 0===t.className.baseVal?t.className=i:t.className.baseVal=i}function gt(t){return void 0===t.className.baseVal?t.className:t.className.baseVal}function vt(t,i){\\\"opacity\\\"in t.style?t.style.opacity=i:\\\"filter\\\"in t.style&&yt(t,i)}function yt(t,i){var e=!1,n=\\\"DXImageTransform.Microsoft.Alpha\\\";try{e=t.filters.item(n)}catch(t){if(1===i)return}i=Math.round(100*i),e?(e.Enabled=100!==i,e.Opacity=i):t.style.filter+=\\\" progid:\\\"+n+\\\"(opacity=\\\"+i+\\\")\\\"}function xt(t){for(var i=document.documentElement.style,e=0;e\u003Ct.length;e++)if(t[e]in i)return t[e];return!1}function wt(t,i,e){var n=i||new x(0,0);t.style[pe]=(Oi?\\\"translate(\\\"+n.x+\\\"px,\\\"+n.y+\\\"px)\\\":\\\"translate3d(\\\"+n.x+\\\"px,\\\"+n.y+\\\"px,0)\\\")+(e?\\\" scale(\\\"+e+\\\")\\\":\\\"\\\")}function Lt(t,i){t._leaflet_pos=i,Ni?wt(t,i):(t.style.left=i.x+\\\"px\\\",t.style.top=i.y+\\\"px\\\")}function Pt(t){return t._leaflet_pos||new x(0,0)}function bt(){V(window,\\\"dragstart\\\",$)}function Tt(){q(window,\\\"dragstart\\\",$)}function zt(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Mt(),ve=t,ye=t.style.outline,t.style.outline=\\\"none\\\",V(window,\\\"keydown\\\",Mt))}function Mt(){ve&&(ve.style.outline=ye,ve=void 0,ye=void 0,q(window,\\\"keydown\\\",Mt))}function Ct(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=kt(t,e),t=St(t,e)}function Zt(t,i,e){return Math.sqrt(Rt(t,i,e,!0))}function St(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+\\\"\\\"?Uint8Array:Array)(e);n[0]=n[e-1]=1,Et(t,n,i,0,e-1);var o,s=[];for(o=0;o\u003Ce;o++)n[o]&&s.push(t[o]);return s}function Et(t,i,e,n,o){var s,r,a,h=0;for(r=n+1;r\u003C=o-1;r++)(a=Rt(t[r],t[n],t[o],!0))>h&&(s=r,h=a);h>e&&(i[s]=1,Et(t,i,e,n,s),Et(t,i,e,s,o))}function kt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n\u003Cs;n++)Ot(t[n],t[o])>i&&(e.push(t[n]),o=n);return o\u003Cs-1&&e.push(t[s-1]),e}function It(t,i,e,n,o){var s,r,a,h=n?Se:Bt(t,e),u=Bt(i,e);for(Se=u;;){if(!(h|u))return[t,i];if(h&u)return!1;a=Bt(r=At(t,i,s=h||u,e,o),e),s===h?(t=r,h=a):(i=r,u=a)}}function At(t,i,e,n,o){var s,r,a=i.x-t.x,h=i.y-t.y,u=n.min,l=n.max;return 8&e?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&e?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&e?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&e&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new x(s,r,o)}function Bt(t,i){var e=0;return t.x\u003Ci.min.x?e|=1:t.x>i.max.x&&(e|=2),t.y\u003Ci.min.y?e|=4:t.y>i.max.y&&(e|=8),e}function Ot(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}function Rt(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=e.x,r=e.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new x(s,r)}function Dt(t){return!ei(t[0])||\\\"object\\\"!=typeof t[0][0]&&void 0!==t[0][0]}function Nt(t){return console.warn(\\\"Deprecated use of _flat, please use L.LineUtil.isFlat instead.\\\"),Dt(t)}function jt(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;o\u003Cu;o++)t[o]._code=Bt(t[o],i);for(r=0;r\u003C4;r++){for(l=_[r],n=[],o=0,s=(u=t.length)-1;o\u003Cu;s=o++)a=t[o],h=t[s],a._code&l?h._code&l||((c=At(h,a,l,i,e))._code=Bt(c,i),n.push(c)):(h._code&l&&((c=At(h,a,l,i,e))._code=Bt(c,i),n.push(c)),n.push(a));t=n}return t}function Wt(t,i){var e,n,o,s,r=\\\"Feature\\\"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],u=i&&i.pointToLayer,l=i&&i.coordsToLatLng||Ht;if(!a&&!r)return null;switch(r.type){case\\\"Point\\\":return e=l(a),u?u(t,e):new Xe(e);case\\\"MultiPoint\\\":for(o=0,s=a.length;o\u003Cs;o++)e=l(a[o]),h.push(u?u(t,e):new Xe(e));return new qe(h);case\\\"LineString\\\":case\\\"MultiLineString\\\":return n=Ft(a,\\\"LineString\\\"===r.type?0:1,l),new tn(n,i);case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return n=Ft(a,\\\"Polygon\\\"===r.type?1:2,l),new en(n,i);case\\\"GeometryCollection\\\":for(o=0,s=r.geometries.length;o\u003Cs;o++){var c=Wt({geometry:r.geometries[o],type:\\\"Feature\\\",properties:t.properties},i);c&&h.push(c)}return new qe(h);default:throw new Error(\\\"Invalid GeoJSON object.\\\")}}function Ht(t){return new M(t[1],t[0],t[2])}function Ft(t,i,e){for(var n,o=[],s=0,r=t.length;s\u003Cr;s++)n=i?Ft(t[s],i-1,e):(e||Ht)(t[s]),o.push(n);return o}function Ut(t,i){return i=\\\"number\\\"==typeof i?i:6,void 0!==t.alt?[a(t.lng,i),a(t.lat,i),a(t.alt,i)]:[a(t.lng,i),a(t.lat,i)]}function Vt(t,i,e,n){for(var o=[],s=0,r=t.length;s\u003Cr;s++)o.push(i?Vt(t[s],i-1,e,n):Ut(t[s],n));return!i&&e&&o.push(o[0]),o}function qt(t,e){return t.feature?i({},t.feature,{geometry:e}):Gt(e)}function Gt(t){return\\\"Feature\\\"===t.type||\\\"FeatureCollection\\\"===t.type?t:{type:\\\"Feature\\\",properties:{},geometry:t}}function Kt(t,i){return new nn(t,i)}function Yt(t,i){return new dn(t,i)}function Xt(t){return Yi?new fn(t):null}function Jt(t){return Xi||Ji?new xn(t):null}var $t=Object.freeze;Object.freeze=function(t){return t};var Qt=Object.create||function(){function t(){}return function(i){return t.prototype=i,new t}}(),ti=0,ii=/\\\\{ *([\\\\w_-]+) *\\\\}/g,ei=Array.isArray||function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)},ni=\\\"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\\\",oi=0,si=window.requestAnimationFrame||p(\\\"RequestAnimationFrame\\\")||m,ri=window.cancelAnimationFrame||p(\\\"CancelAnimationFrame\\\")||p(\\\"CancelRequestAnimationFrame\\\")||function(t){window.clearTimeout(t)},ai=(Object.freeze||Object)({freeze:$t,extend:i,create:Qt,bind:e,lastId:ti,stamp:n,throttle:o,wrapNum:s,falseFn:r,formatNum:a,trim:h,splitWords:u,setOptions:l,getParamString:c,template:_,isArray:ei,indexOf:d,emptyImageUrl:ni,requestFn:si,cancelFn:ri,requestAnimFrame:f,cancelAnimFrame:g});v.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},n=e.__super__=this.prototype,o=Qt(n);o.constructor=e,e.prototype=o;for(var s in this)this.hasOwnProperty(s)&&\\\"prototype\\\"!==s&&\\\"__super__\\\"!==s&&(e[s]=this[s]);return t.statics&&(i(e,t.statics),delete t.statics),t.includes&&(y(t.includes),i.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=i(Qt(o.options),t.options)),i(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=o._initHooks.length;t\u003Ci;t++)o._initHooks[t].call(this)}},e},v.include=function(t){return i(this.prototype,t),this},v.mergeOptions=function(t){return i(this.prototype.options,t),this},v.addInitHook=function(t){var i=Array.prototype.slice.call(arguments,1),e=\\\"function\\\"==typeof t?t:function(){this[t].apply(this,i)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(e),this};var hi={on:function(t,i,e){if(\\\"object\\\"==typeof t)for(var n in t)this._on(n,t[n],i);else for(var o=0,s=(t=u(t)).length;o\u003Cs;o++)this._on(t[o],i,e);return this},off:function(t,i,e){if(t)if(\\\"object\\\"==typeof t)for(var n in t)this._off(n,t[n],i);else for(var o=0,s=(t=u(t)).length;o\u003Cs;o++)this._off(t[o],i,e);else delete this._events;return this},_on:function(t,i,e){this._events=this._events||{};var n=this._events[t];n||(n=[],this._events[t]=n),e===this&&(e=void 0);for(var o={fn:i,ctx:e},s=n,r=0,a=s.length;r\u003Ca;r++)if(s[r].fn===i&&s[r].ctx===e)return;s.push(o)},_off:function(t,i,e){var n,o,s;if(this._events&&(n=this._events[t]))if(i){if(e===this&&(e=void 0),n)for(o=0,s=n.length;o\u003Cs;o++){var a=n[o];if(a.ctx===e&&a.fn===i)return a.fn=r,this._firingCount&&(this._events[t]=n=n.slice()),void n.splice(o,1)}}else{for(o=0,s=n.length;o\u003Cs;o++)n[o].fn=r;delete this._events[t]}},fire:function(t,e,n){if(!this.listens(t,n))return this;var o=i({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r\u003Ca;r++){var h=s[r];h.fn.call(h.ctx||this,o)}this._firingCount--}}return n&&this._propagateEvent(o),this},listens:function(t,i){var e=this._events&&this._events[t];if(e&&e.length)return!0;if(i)for(var n in this._eventParents)if(this._eventParents[n].listens(t,i))return!0;return!1},once:function(t,i,n){if(\\\"object\\\"==typeof t){for(var o in t)this.once(o,t[o],i);return this}var s=e(function(){this.off(t,i,n).off(t,s,n)},this);return this.on(t,i,n).on(t,s,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[n(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[n(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,i({layer:t.target,propagatedFrom:t.target},t),!0)}};hi.addEventListener=hi.on,hi.removeEventListener=hi.clearAllEventListeners=hi.off,hi.addOneTimeEventListener=hi.once,hi.fireEvent=hi.fire,hi.hasEventListeners=hi.listens;var ui=v.extend(hi),li=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};x.prototype={clone:function(){return new x(this.x,this.y)},add:function(t){return this.clone()._add(w(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(w(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new x(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new x(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=li(this.x),this.y=li(this.y),this},distanceTo:function(t){var i=(t=w(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=w(t)).x===this.x&&t.y===this.y},contains:function(t){return t=w(t),Math.abs(t.x)\u003C=Math.abs(this.x)&&Math.abs(t.y)\u003C=Math.abs(this.y)},toString:function(){return\\\"Point(\\\"+a(this.x)+\\\", \\\"+a(this.y)+\\\")\\\"}},P.prototype={extend:function(t){return t=w(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new x((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new x(this.min.x,this.max.y)},getTopRight:function(){return new x(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var i,e;return(t=\\\"number\\\"==typeof t[0]||t instanceof x?w(t):b(t))instanceof P?(i=t.min,e=t.max):i=e=t,i.x>=this.min.x&&e.x\u003C=this.max.x&&i.y>=this.min.y&&e.y\u003C=this.max.y},intersects:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x\u003C=e.x,r=o.y>=i.y&&n.y\u003C=e.y;return s&&r},overlaps:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.x\u003Ce.x,r=o.y>i.y&&n.y\u003Ce.y;return s&&r},isValid:function(){return!(!this.min||!this.max)}},T.prototype={extend:function(t){var i,e,n=this._southWest,o=this._northEast;if(t instanceof M)i=t,e=t;else{if(!(t instanceof T))return t?this.extend(C(t)||z(t)):this;if(i=t._southWest,e=t._northEast,!i||!e)return this}return n||o?(n.lat=Math.min(i.lat,n.lat),n.lng=Math.min(i.lng,n.lng),o.lat=Math.max(e.lat,o.lat),o.lng=Math.max(e.lng,o.lng)):(this._southWest=new M(i.lat,i.lng),this._northEast=new M(e.lat,e.lng)),this},pad:function(t){var i=this._southWest,e=this._northEast,n=Math.abs(i.lat-e.lat)*t,o=Math.abs(i.lng-e.lng)*t;return new T(new M(i.lat-n,i.lng-o),new M(e.lat+n,e.lng+o))},getCenter:function(){return new M((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new M(this.getNorth(),this.getWest())},getSouthEast:function(){return new M(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=\\\"number\\\"==typeof t[0]||t instanceof M||\\\"lat\\\"in t?C(t):z(t);var i,e,n=this._southWest,o=this._northEast;return t instanceof T?(i=t.getSouthWest(),e=t.getNorthEast()):i=e=t,i.lat>=n.lat&&e.lat\u003C=o.lat&&i.lng>=n.lng&&e.lng\u003C=o.lng},intersects:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat\u003C=e.lat,r=o.lng>=i.lng&&n.lng\u003C=e.lng;return s&&r},overlaps:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lat\u003Ce.lat,r=o.lng>i.lng&&n.lng\u003Ce.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(\\\",\\\")},equals:function(t,i){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),i)&&this._northEast.equals(t.getNorthEast(),i))},isValid:function(){return!(!this._southWest||!this._northEast)}},M.prototype={equals:function(t,i){return!!t&&(t=C(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))\u003C=(void 0===i?1e-9:i))},toString:function(t){return\\\"LatLng(\\\"+a(this.lat,t)+\\\", \\\"+a(this.lng,t)+\\\")\\\"},distanceTo:function(t){return _i.distance(this,C(t))},wrap:function(){return _i.wrapLatLng(this)},toBounds:function(t){var i=180*t/40075017,e=i/Math.cos(Math.PI/180*this.lat);return z([this.lat-i,this.lng-e],[this.lat+i,this.lng+e])},clone:function(){return new M(this.lat,this.lng,this.alt)}};var ci={latLngToPoint:function(t,i){var e=this.projection.project(t),n=this.scale(i);return this.transformation._transform(e,n)},pointToLatLng:function(t,i){var e=this.scale(i),n=this.transformation.untransform(t,e);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var i=this.projection.bounds,e=this.scale(t);return new P(this.transformation.transform(i.min,e),this.transformation.transform(i.max,e))},infinite:!1,wrapLatLng:function(t){var i=this.wrapLng?s(t.lng,this.wrapLng,!0):t.lng;return new M(this.wrapLat?s(t.lat,this.wrapLat,!0):t.lat,i,t.alt)},wrapLatLngBounds:function(t){var i=t.getCenter(),e=this.wrapLatLng(i),n=i.lat-e.lat,o=i.lng-e.lng;if(0===n&&0===o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new T(new M(s.lat-n,s.lng-o),new M(r.lat-n,r.lng-o))}},_i=i({},ci,{wrapLng:[-180,180],R:6371e3,distance:function(t,i){var e=Math.PI/180,n=t.lat*e,o=i.lat*e,s=Math.sin((i.lat-t.lat)*e/2),r=Math.sin((i.lng-t.lng)*e/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),di={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var i=Math.PI/180,e=this.MAX_LATITUDE,n=Math.max(Math.min(e,t.lat),-e),o=Math.sin(n*i);return new x(this.R*t.lng*i,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var i=180/Math.PI;return new M((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*i,t.x*i/this.R)},bounds:function(){var t=6378137*Math.PI;return new P([-t,-t],[t,t])}()};Z.prototype={transform:function(t,i){return this._transform(t.clone(),i)},_transform:function(t,i){return i=i||1,t.x=i*(this._a*t.x+this._b),t.y=i*(this._c*t.y+this._d),t},untransform:function(t,i){return i=i||1,new x((t.x/i-this._b)/this._a,(t.y/i-this._d)/this._c)}};var pi,mi,fi,gi,vi=i({},_i,{code:\\\"EPSG:3857\\\",projection:di,transformation:function(){var t=.5/(Math.PI*di.R);return S(t,.5,-t,.5)}()}),yi=i({},vi,{code:\\\"EPSG:900913\\\"}),xi=document.documentElement.style,wi=\\\"ActiveXObject\\\"in window,Li=wi&&!document.addEventListener,Pi=\\\"msLaunchUri\\\"in navigator&&!(\\\"documentMode\\\"in document),bi=I(\\\"webkit\\\"),Ti=I(\\\"android\\\"),zi=I(\\\"android 2\\\")||I(\\\"android 3\\\"),Mi=parseInt(/WebKit\\\\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ci=Ti&&I(\\\"Google\\\")&&Mi\u003C537&&!(\\\"AudioNode\\\"in window),Zi=!!window.opera,Si=I(\\\"chrome\\\"),Ei=I(\\\"gecko\\\")&&!bi&&!Zi&&!wi,ki=!Si&&I(\\\"safari\\\"),Ii=I(\\\"phantom\\\"),Ai=\\\"OTransition\\\"in xi,Bi=0===navigator.platform.indexOf(\\\"Win\\\"),Oi=wi&&\\\"transition\\\"in xi,Ri=\\\"WebKitCSSMatrix\\\"in window&&\\\"m11\\\"in new window.WebKitCSSMatrix&&!zi,Di=\\\"MozPerspective\\\"in xi,Ni=!window.L_DISABLE_3D&&(Oi||Ri||Di)&&!Ai&&!Ii,ji=\\\"undefined\\\"!=typeof orientation||I(\\\"mobile\\\"),Wi=ji&&bi,Hi=ji&&Ri,Fi=!window.PointerEvent&&window.MSPointerEvent,Ui=!(!window.PointerEvent&&!Fi),Vi=!window.L_NO_TOUCH&&(Ui||\\\"ontouchstart\\\"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),qi=ji&&Zi,Gi=ji&&Ei,Ki=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Yi=!!document.createElement(\\\"canvas\\\").getContext,Xi=!(!document.createElementNS||!E(\\\"svg\\\").createSVGRect),Ji=!Xi&&function(){try{var t=document.createElement(\\\"div\\\");t.innerHTML='\u003Cv:shape adj=\\\"1\\\"/>';var i=t.firstChild;return i.style.behavior=\\\"url(#default#VML)\\\",i&&\\\"object\\\"==typeof i.adj}catch(t){return!1}}(),$i=(Object.freeze||Object)({ie:wi,ielt9:Li,edge:Pi,webkit:bi,android:Ti,android23:zi,androidStock:Ci,opera:Zi,chrome:Si,gecko:Ei,safari:ki,phantom:Ii,opera12:Ai,win:Bi,ie3d:Oi,webkit3d:Ri,gecko3d:Di,any3d:Ni,mobile:ji,mobileWebkit:Wi,mobileWebkit3d:Hi,msPointer:Fi,pointer:Ui,touch:Vi,mobileOpera:qi,mobileGecko:Gi,retina:Ki,canvas:Yi,svg:Xi,vml:Ji}),Qi=Fi?\\\"MSPointerDown\\\":\\\"pointerdown\\\",te=Fi?\\\"MSPointerMove\\\":\\\"pointermove\\\",ie=Fi?\\\"MSPointerUp\\\":\\\"pointerup\\\",ee=Fi?\\\"MSPointerCancel\\\":\\\"pointercancel\\\",ne=[\\\"INPUT\\\",\\\"SELECT\\\",\\\"OPTION\\\"],oe={},se=!1,re=0,ae=Fi?\\\"MSPointerDown\\\":Ui?\\\"pointerdown\\\":\\\"touchstart\\\",he=Fi?\\\"MSPointerUp\\\":Ui?\\\"pointerup\\\":\\\"touchend\\\",ue=\\\"_leaflet_\\\",le=\\\"_leaflet_events\\\",ce=Bi&&Si?2*window.devicePixelRatio:Ei?window.devicePixelRatio:1,_e={},de=(Object.freeze||Object)({on:V,off:q,stopPropagation:Y,disableScrollPropagation:X,disableClickPropagation:J,preventDefault:$,stop:Q,getMousePosition:tt,getWheelDelta:it,fakeStop:et,skipped:nt,isExternalTarget:ot,addListener:V,removeListener:q}),pe=xt([\\\"transform\\\",\\\"WebkitTransform\\\",\\\"OTransform\\\",\\\"MozTransform\\\",\\\"msTransform\\\"]),me=xt([\\\"webkitTransition\\\",\\\"transition\\\",\\\"OTransition\\\",\\\"MozTransition\\\",\\\"msTransition\\\"]),fe=\\\"webkitTransition\\\"===me||\\\"OTransition\\\"===me?me+\\\"End\\\":\\\"transitionend\\\";if(\\\"onselectstart\\\"in document)mi=function(){V(window,\\\"selectstart\\\",$)},fi=function(){q(window,\\\"selectstart\\\",$)};else{var ge=xt([\\\"userSelect\\\",\\\"WebkitUserSelect\\\",\\\"OUserSelect\\\",\\\"MozUserSelect\\\",\\\"msUserSelect\\\"]);mi=function(){if(ge){var t=document.documentElement.style;gi=t[ge],t[ge]=\\\"none\\\"}},fi=function(){ge&&(document.documentElement.style[ge]=gi,gi=void 0)}}var ve,ye,xe=(Object.freeze||Object)({TRANSFORM:pe,TRANSITION:me,TRANSITION_END:fe,get:rt,getStyle:at,create:ht,remove:ut,empty:lt,toFront:ct,toBack:_t,hasClass:dt,addClass:pt,removeClass:mt,setClass:ft,getClass:gt,setOpacity:vt,testProp:xt,setTransform:wt,setPosition:Lt,getPosition:Pt,disableTextSelection:mi,enableTextSelection:fi,disableImageDrag:bt,enableImageDrag:Tt,preventOutline:zt,restoreOutline:Mt}),we=ui.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pt(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire(\\\"start\\\"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=f(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,e=1e3*this._duration;i\u003Ce?this._runFrame(this._easeOut(i/e),t):(this._runFrame(1),this._complete())},_runFrame:function(t,i){var e=this._startPos.add(this._offset.multiplyBy(t));i&&e._round(),Lt(this._el,e),this.fire(\\\"step\\\")},_complete:function(){g(this._animId),this._inProgress=!1,this.fire(\\\"end\\\")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Le=ui.extend({options:{crs:vi,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,i){i=l(this,i),this._initContainer(t),this._initLayout(),this._onResize=e(this._onResize,this),this._initEvents(),i.maxBounds&&this.setMaxBounds(i.maxBounds),void 0!==i.zoom&&(this._zoom=this._limitZoom(i.zoom)),i.center&&void 0!==i.zoom&&this.setView(C(i.center),i.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this.callInitHooks(),this._zoomAnimated=me&&Ni&&!qi&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),V(this._proxy,fe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,n){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(C(t),e,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&!0!==n&&(void 0!==n.animate&&(n.zoom=i({animate:n.animate},n.zoom),n.pan=i({animate:n.animate,duration:n.duration},n.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,i){return this._loaded?this.setView(this.getCenter(),t,{zoom:i}):(this._zoom=t,this)},zoomIn:function(t,i){return t=t||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom+t,i)},zoomOut:function(t,i){return t=t||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom-t,i)},setZoomAround:function(t,i,e){var n=this.getZoomScale(i),o=this.getSize().divideBy(2),s=(t instanceof x?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,i,{zoom:e})},_getBoundsCenterZoom:function(t,i){i=i||{},t=t.getBounds?t.getBounds():z(t);var e=w(i.paddingTopLeft||i.padding||[0,0]),n=w(i.paddingBottomRight||i.padding||[0,0]),o=this.getBoundsZoom(t,!1,e.add(n));if((o=\\\"number\\\"==typeof i.maxZoom?Math.min(i.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(e).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,i){if(!(t=z(t)).isValid())throw new Error(\\\"Bounds are not valid.\\\");var e=this._getBoundsCenterZoom(t,i);return this.setView(e.center,e.zoom,i)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,i){return this.setView(t,this._zoom,{pan:i})},panBy:function(t,i){if(t=w(t).round(),i=i||{},!t.x&&!t.y)return this.fire(\\\"moveend\\\");if(!0!==i.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new we,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),i.noMoveStart||this.fire(\\\"movestart\\\"),!1!==i.animate){pt(this._mapPane,\\\"leaflet-pan-anim\\\");var e=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,e,i.duration||.25,i.easeLinearity)}else this._rawPanBy(t),this.fire(\\\"move\\\").fire(\\\"moveend\\\");return this},flyTo:function(t,i,e){function n(t){var i=(g*g-m*m+(t?-1:1)*x*x*v*v)/(2*(t?g:m)*x*v),e=Math.sqrt(i*i+1)-i;return e\u003C1e-9?-18:Math.log(e)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/s(t)}function a(t){return m*(s(w)/s(w+y*t))}function h(t){return m*(s(w)*r(w+y*t)-o(w))/x}function u(t){return 1-Math.pow(1-t,1.5)}function l(){var e=(Date.now()-L)/b,n=u(e)*P;e\u003C=1?(this._flyToFrame=f(l,this),this._move(this.unproject(c.add(_.subtract(c).multiplyBy(h(n)/v)),p),this.getScaleZoom(m/a(n),p),{flyTo:!0})):this._move(t,i)._moveEnd(!0)}if(!1===(e=e||{}).animate||!Ni)return this.setView(t,i,e);this._stop();var c=this.project(this.getCenter()),_=this.project(t),d=this.getSize(),p=this._zoom;t=C(t),i=void 0===i?p:i;var m=Math.max(d.x,d.y),g=m*this.getZoomScale(p,i),v=_.distanceTo(c)||1,y=1.42,x=y*y,w=n(0),L=Date.now(),P=(n(1)-w)/y,b=e.duration?1e3*e.duration:1e3*P*.8;return this._moveStart(!0,e.noMoveStart),l.call(this),this},flyToBounds:function(t,i){var e=this._getBoundsCenterZoom(t,i);return this.flyTo(e.center,e.zoom,i)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off(\\\"moveend\\\",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on(\\\"moveend\\\",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off(\\\"moveend\\\",this._panInsideMaxBounds))},setMinZoom:function(t){var i=this.options.minZoom;return this.options.minZoom=t,this._loaded&&i!==t&&(this.fire(\\\"zoomlevelschange\\\"),this.getZoom()\u003Cthis.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var i=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&i!==t&&(this.fire(\\\"zoomlevelschange\\\"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,z(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var n=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=n.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire(\\\"move\\\"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(e(this.fire,this,\\\"moveend\\\"),200)):this.fire(\\\"moveend\\\")),this.fire(\\\"resize\\\",{oldSize:n,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire(\\\"viewreset\\\"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!(\\\"geolocation\\\"in navigator))return this._handleGeolocationError({code:0,message:\\\"Geolocation not supported.\\\"}),this;var n=e(this._handleGeolocationResponse,this),o=e(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(n,o,t):navigator.geolocation.getCurrentPosition(n,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?\\\"permission denied\\\":2===i?\\\"position unavailable\\\":\\\"timeout\\\");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire(\\\"locationerror\\\",{code:i,message:\\\"Geolocation error: \\\"+e+\\\".\\\"})},_handleGeolocationResponse:function(t){var i=new M(t.coords.latitude,t.coords.longitude),e=i.toBounds(t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(e);this.setView(i,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:i,bounds:e,timestamp:t.timestamp};for(var r in t.coords)\\\"number\\\"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire(\\\"locationfound\\\",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error(\\\"Map container is being reused by another instance\\\");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ut(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire(\\\"unload\\\");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)ut(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=ht(\\\"div\\\",\\\"leaflet-pane\\\"+(t?\\\" leaflet-\\\"+t.replace(\\\"Pane\\\",\\\"\\\")+\\\"-pane\\\":\\\"\\\"),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new T(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=z(t),e=w(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=b(this.project(a,n),this.project(r,n)).getSize(),l=Ni?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_);return n=this.getScaleZoom(d,n),l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new x(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new P(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return\\\"string\\\"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(C(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(w(t),i)},layerPointToLatLng:function(t){var i=w(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(C(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(C(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,i){return this.options.crs.distance(C(t),C(i))},containerPointToLayerPoint:function(t){return w(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return w(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(w(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(C(t)))},mouseEventToContainerPoint:function(t){return tt(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=rt(t);if(!i)throw new Error(\\\"Map container not found.\\\");if(i._leaflet_id)throw new Error(\\\"Map container is already initialized.\\\");V(i,\\\"scroll\\\",this._onScroll,this),this._containerId=n(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ni,pt(t,\\\"leaflet-container\\\"+(Vi?\\\" leaflet-touch\\\":\\\"\\\")+(Ki?\\\" leaflet-retina\\\":\\\"\\\")+(Li?\\\" leaflet-oldie\\\":\\\"\\\")+(ki?\\\" leaflet-safari\\\":\\\"\\\")+(this._fadeAnimated?\\\" leaflet-fade-anim\\\":\\\"\\\"));var i=at(t,\\\"position\\\");\\\"absolute\\\"!==i&&\\\"relative\\\"!==i&&\\\"fixed\\\"!==i&&(t.style.position=\\\"relative\\\"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane(\\\"mapPane\\\",this._container),Lt(this._mapPane,new x(0,0)),this.createPane(\\\"tilePane\\\"),this.createPane(\\\"shadowPane\\\"),this.createPane(\\\"overlayPane\\\"),this.createPane(\\\"markerPane\\\"),this.createPane(\\\"tooltipPane\\\"),this.createPane(\\\"popupPane\\\"),this.options.markerZoomAnimation||(pt(t.markerPane,\\\"leaflet-zoom-hide\\\"),pt(t.shadowPane,\\\"leaflet-zoom-hide\\\"))},_resetView:function(t,i){Lt(this._mapPane,new x(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire(\\\"viewprereset\\\");var n=this._zoom!==i;this._moveStart(n,!1)._move(t,i)._moveEnd(n),this.fire(\\\"viewreset\\\"),e&&this.fire(\\\"load\\\")},_moveStart:function(t,i){return t&&this.fire(\\\"zoomstart\\\"),i||this.fire(\\\"movestart\\\"),this},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire(\\\"zoom\\\",e),this.fire(\\\"move\\\",e)},_moveEnd:function(t){return t&&this.fire(\\\"zoomend\\\"),this.fire(\\\"moveend\\\")},_stop:function(){return g(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Lt(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error(\\\"Set map center and zoom first.\\\")},_initEvents:function(t){this._targets={},this._targets[n(this._container)]=this;var i=t?q:V;i(this._container,\\\"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress\\\",this._handleDOMEvent,this),this.options.trackResize&&i(window,\\\"resize\\\",this._onResize,this),Ni&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,\\\"moveend\\\",this._onMoveEnd)},_onResize:function(){g(this._resizeRequest),this._resizeRequest=f(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,o=[],s=\\\"mouseout\\\"===i||\\\"mouseover\\\"===i,r=t.target||t.srcElement,a=!1;r;){if((e=this._targets[n(r)])&&(\\\"click\\\"===i||\\\"preclick\\\"===i)&&!t._simulated&&this._draggableMoved(e)){a=!0;break}if(e&&e.listens(i,!0)){if(s&&!ot(r,t))break;if(o.push(e),s)break}if(r===this._container)break;r=r.parentNode}return o.length||a||s||!ot(r,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!nt(t)){var i=t.type;\\\"mousedown\\\"!==i&&\\\"keypress\\\"!==i||zt(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:[\\\"click\\\",\\\"dblclick\\\",\\\"mouseover\\\",\\\"mouseout\\\",\\\"contextmenu\\\"],_fireDOMEvent:function(t,e,n){if(\\\"click\\\"===t.type){var o=i({},t);o.type=\\\"preclick\\\",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];\\\"contextmenu\\\"===e&&s.listens(e,!0)&&$(t);var r={originalEvent:t};if(\\\"keypress\\\"!==t.type){var a=s.getLatLng&&(!s._radius||s._radius\u003C=10);r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h\u003Cn.length;h++)if(n[h].fire(e,r,!0),r.originalEvent._stopped||!1===n[h].options.bubblingMouseEvents&&-1!==d(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,i=this._handlers.length;t\u003Ci;t++)this._handlers[t].disable()},whenReady:function(t,i){return this._loaded?t.call(i||this,{target:this}):this.on(\\\"load\\\",t,i),this},_getMapPanePos:function(){return Pt(this._mapPane)||new x(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,i){return(t&&void 0!==i?this._getNewPixelOrigin(t,i):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,i){var e=this.getSize()._divideBy(2);return this.project(t,i)._subtract(e)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return this.project(t,i)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return b([this.project(t.getSouthWest(),i)._subtract(n),this.project(t.getNorthWest(),i)._subtract(n),this.project(t.getSouthEast(),i)._subtract(n),this.project(t.getNorthEast(),i)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,i,e){if(!e)return t;var n=this.project(t,i),o=this.getSize().divideBy(2),s=new P(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,e,i);return r.round().equals([0,0])?t:this.unproject(n.add(r),i)},_limitOffset:function(t,i){if(!i)return t;var e=this.getPixelBounds(),n=new P(e.min.add(t),e.max.add(t));return t.add(this._getBoundsOffset(n,i))},_getBoundsOffset:function(t,i,e){var n=b(this.project(i.getNorthEast(),e),this.project(i.getSouthWest(),e)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new x(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,i){return t+i>0?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=Ni?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire(\\\"move\\\")},_onPanTransitionEnd:function(){mt(this._mapPane,\\\"leaflet-pan-anim\\\"),this.fire(\\\"moveend\\\")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._trunc();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=ht(\\\"div\\\",\\\"leaflet-proxy leaflet-zoom-animated\\\");this._panes.mapPane.appendChild(t),this.on(\\\"zoomanim\\\",function(t){var i=pe,e=this._proxy.style[i];wt(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on(\\\"load moveend\\\",function(){var t=this.getCenter(),i=this.getZoom();wt(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on(\\\"unload\\\",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ut(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf(\\\"transform\\\")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName(\\\"leaflet-zoom-animated\\\").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(f(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,n,o){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pt(this._mapPane,\\\"leaflet-zoom-anim\\\")),this.fire(\\\"zoomanim\\\",{center:t,zoom:i,noUpdate:o}),setTimeout(e(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mt(this._mapPane,\\\"leaflet-zoom-anim\\\"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),f(function(){this._moveEnd(!0)},this))}}),Pe=v.extend({options:{position:\\\"topright\\\"},initialize:function(t){l(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return pt(i,\\\"leaflet-control\\\"),-1!==e.indexOf(\\\"bottom\\\")?n.insertBefore(i,n.firstChild):n.appendChild(i),this},remove:function(){return this._map?(ut(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),be=function(t){return new Pe(t)};Le.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,o){var s=e+t+\\\" \\\"+e+o;i[t+o]=ht(\\\"div\\\",s,n)}var i=this._controlCorners={},e=\\\"leaflet-\\\",n=this._controlContainer=ht(\\\"div\\\",e+\\\"control-container\\\",this._container);t(\\\"top\\\",\\\"left\\\"),t(\\\"top\\\",\\\"right\\\"),t(\\\"bottom\\\",\\\"left\\\"),t(\\\"bottom\\\",\\\"right\\\")},_clearControlPos:function(){for(var t in this._controlCorners)ut(this._controlCorners[t]);ut(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Te=Pe.extend({options:{collapsed:!0,position:\\\"topright\\\",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e\u003Cn?-1:n\u003Ce?1:0}},initialize:function(t,i,e){l(this,e),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in i)this._addLayer(i[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on(\\\"zoomend\\\",this._checkDisabledLayers,this);for(var i=0;i\u003Cthis._layers.length;i++)this._layers[i].layer.on(\\\"add remove\\\",this._onLayerChange,this);return this._container},addTo:function(t){return Pe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off(\\\"zoomend\\\",this._checkDisabledLayers,this);for(var t=0;t\u003Cthis._layers.length;t++)this._layers[t].layer.off(\\\"add remove\\\",this._onLayerChange,this)},addBaseLayer:function(t,i){return this._addLayer(t,i),this._map?this._update():this},addOverlay:function(t,i){return this._addLayer(t,i,!0),this._map?this._update():this},removeLayer:function(t){t.off(\\\"add remove\\\",this._onLayerChange,this);var i=this._getLayer(n(t));return i&&this._layers.splice(this._layers.indexOf(i),1),this._map?this._update():this},expand:function(){pt(this._container,\\\"leaflet-control-layers-expanded\\\"),this._form.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t\u003Cthis._form.clientHeight?(pt(this._form,\\\"leaflet-control-layers-scrollbar\\\"),this._form.style.height=t+\\\"px\\\"):mt(this._form,\\\"leaflet-control-layers-scrollbar\\\"),this._checkDisabledLayers(),this},collapse:function(){return mt(this._container,\\\"leaflet-control-layers-expanded\\\"),this},_initLayout:function(){var t=\\\"leaflet-control-layers\\\",i=this._container=ht(\\\"div\\\",t),e=this.options.collapsed;i.setAttribute(\\\"aria-haspopup\\\",!0),J(i),X(i);var n=this._form=ht(\\\"form\\\",t+\\\"-list\\\");e&&(this._map.on(\\\"click\\\",this.collapse,this),Ti||V(i,{mouseenter:this.expand,mouseleave:this.collapse},this));var o=this._layersLink=ht(\\\"a\\\",t+\\\"-toggle\\\",i);o.href=\\\"#\\\",o.title=\\\"Layers\\\",Vi?(V(o,\\\"click\\\",Q),V(o,\\\"click\\\",this.expand,this)):V(o,\\\"focus\\\",this.expand,this),e||this.expand(),this._baseLayersList=ht(\\\"div\\\",t+\\\"-base\\\",n),this._separator=ht(\\\"div\\\",t+\\\"-separator\\\",n),this._overlaysList=ht(\\\"div\\\",t+\\\"-overlays\\\",n),i.appendChild(n)},_getLayer:function(t){for(var i=0;i\u003Cthis._layers.length;i++)if(this._layers[i]&&n(this._layers[i].layer)===t)return this._layers[i]},_addLayer:function(t,i,n){this._map&&t.on(\\\"add remove\\\",this._onLayerChange,this),this._layers.push({layer:t,name:i,overlay:n}),this.options.sortLayers&&this._layers.sort(e(function(t,i){return this.options.sortFunction(t.layer,i.layer,t.name,i.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;lt(this._baseLayersList),lt(this._overlaysList),this._layerControlInputs=[];var t,i,e,n,o=0;for(e=0;e\u003Cthis._layers.length;e++)n=this._layers[e],this._addItem(n),i=i||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&o>1,this._baseLayersList.style.display=t?\\\"\\\":\\\"none\\\"),this._separator.style.display=i&&t?\\\"\\\":\\\"none\\\",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(n(t.target)),e=i.overlay?\\\"add\\\"===t.type?\\\"overlayadd\\\":\\\"overlayremove\\\":\\\"add\\\"===t.type?\\\"baselayerchange\\\":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='\u003Cinput type=\\\"radio\\\" class=\\\"leaflet-control-layers-selector\\\" name=\\\"'+t+'\\\"'+(i?' checked=\\\"checked\\\"':\\\"\\\")+\\\"/>\\\",n=document.createElement(\\\"div\\\");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement(\\\"label\\\"),o=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement(\\\"input\\\")).type=\\\"checkbox\\\",i.className=\\\"leaflet-control-layers-selector\\\",i.defaultChecked=o):i=this._createRadioElement(\\\"leaflet-base-layers\\\",o),this._layerControlInputs.push(i),i.layerId=n(t.layer),V(i,\\\"click\\\",this._onInputClick,this);var s=document.createElement(\\\"span\\\");s.innerHTML=\\\" \\\"+t.name;var r=document.createElement(\\\"div\\\");return e.appendChild(r),r.appendChild(i),r.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;s>=0;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s\u003Co.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s\u003Cn.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,i,e=this._layerControlInputs,n=this._map.getZoom(),o=e.length-1;o>=0;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&n\u003Ci.options.minZoom||void 0!==i.options.maxZoom&&n>i.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ze=Pe.extend({options:{position:\\\"topleft\\\",zoomInText:\\\"+\\\",zoomInTitle:\\\"Zoom in\\\",zoomOutText:\\\"−\\\",zoomOutTitle:\\\"Zoom out\\\"},onAdd:function(t){var i=\\\"leaflet-control-zoom\\\",e=ht(\\\"div\\\",i+\\\" leaflet-bar\\\"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+\\\"-in\\\",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+\\\"-out\\\",e,this._zoomOut),this._updateDisabled(),t.on(\\\"zoomend zoomlevelschange\\\",this._updateDisabled,this),e},onRemove:function(t){t.off(\\\"zoomend zoomlevelschange\\\",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom\u003Cthis._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=ht(\\\"a\\\",e,n);return s.innerHTML=t,s.href=\\\"#\\\",s.title=i,s.setAttribute(\\\"role\\\",\\\"button\\\"),s.setAttribute(\\\"aria-label\\\",i),J(s),V(s,\\\"click\\\",Q),V(s,\\\"click\\\",o,this),V(s,\\\"click\\\",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i=\\\"leaflet-disabled\\\";mt(this._zoomInButton,i),mt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMinZoom())&&pt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMaxZoom())&&pt(this._zoomInButton,i)}});Le.mergeOptions({zoomControl:!0}),Le.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ze,this.addControl(this.zoomControl))});var Me=Pe.extend({options:{position:\\\"bottomleft\\\",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i=ht(\\\"div\\\",\\\"leaflet-control-scale\\\"),e=this.options;return this._addScales(e,\\\"leaflet-control-scale-line\\\",i),t.on(e.updateWhenIdle?\\\"moveend\\\":\\\"move\\\",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?\\\"moveend\\\":\\\"move\\\",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=ht(\\\"div\\\",i,e)),t.imperial&&(this._iScale=ht(\\\"div\\\",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i\u003C1e3?i+\\\" m\\\":i/1e3+\\\" km\\\";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;o>5280?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+\\\" mi\\\",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+\\\" ft\\\",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+\\\"px\\\",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+\\\"\\\").length-1),e=t/i;return e=e>=10?10:e>=5?5:e>=3?3:e>=2?2:1,i*e}}),Ce=Pe.extend({options:{position:\\\"bottomright\\\",prefix:'\u003Ca href=\\\"http://leafletjs.com\\\" title=\\\"A JS library for interactive maps\\\">Leaflet\u003C/a>'},initialize:function(t){l(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=ht(\\\"div\\\",\\\"leaflet-control-attribution\\\"),J(this._container);for(var i in t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(\\\", \\\")),this._container.innerHTML=e.join(\\\" | \\\")}}});Le.mergeOptions({attributionControl:!0}),Le.addInitHook(function(){this.options.attributionControl&&(new Ce).addTo(this)});Pe.Layers=Te,Pe.Zoom=ze,Pe.Scale=Me,Pe.Attribution=Ce,be.layers=function(t,i,e){return new Te(t,i,e)},be.zoom=function(t){return new ze(t)},be.scale=function(t){return new Me(t)},be.attribution=function(t){return new Ce(t)};var Ze=v.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ze.addTo=function(t,i){return t.addHandler(i,this),this};var Se,Ee={Events:hi},ke=Vi?\\\"touchstart mousedown\\\":\\\"mousedown\\\",Ie={mousedown:\\\"mouseup\\\",touchstart:\\\"touchend\\\",pointerdown:\\\"touchend\\\",MSPointerDown:\\\"touchend\\\"},Ae={mousedown:\\\"mousemove\\\",touchstart:\\\"touchmove\\\",pointerdown:\\\"touchmove\\\",MSPointerDown:\\\"touchmove\\\"},Be=ui.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){l(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(V(this._dragStartTarget,ke,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Be._dragging===this&&this.finishDrag(),q(this._dragStartTarget,ke,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!dt(this._element,\\\"leaflet-zoom-anim\\\")&&!(Be._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(Be._dragging=this,this._preventOutline&&zt(this._element),bt(),mi(),this._moving)))){this.fire(\\\"down\\\");var i=t.touches?t.touches[0]:t;this._startPoint=new x(i.clientX,i.clientY),V(document,Ae[t.type],this._onMove,this),V(document,Ie[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new x(i.clientX,i.clientY).subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)\u003Cthis.options.clickTolerance||($(t),this._moved||(this.fire(\\\"dragstart\\\"),this._moved=!0,this._startPos=Pt(this._element).subtract(e),pt(document.body,\\\"leaflet-dragging\\\"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),pt(this._lastTarget,\\\"leaflet-drag-target\\\")),this._newPos=this._startPos.add(e),this._moving=!0,g(this._animRequest),this._lastEvent=t,this._animRequest=f(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire(\\\"predrag\\\",t),Lt(this._element,this._newPos),this.fire(\\\"drag\\\",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){mt(document.body,\\\"leaflet-dragging\\\"),this._lastTarget&&(mt(this._lastTarget,\\\"leaflet-drag-target\\\"),this._lastTarget=null);for(var t in Ae)q(document,Ae[t],this._onMove,this),q(document,Ie[t],this._onUp,this);Tt(),fi(),this._moved&&this._moving&&(g(this._animRequest),this.fire(\\\"dragend\\\",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,Be._dragging=!1}}),Oe=(Object.freeze||Object)({simplify:Ct,pointToSegmentDistance:Zt,closestPointOnSegment:function(t,i,e){return Rt(t,i,e)},clipSegment:It,_getEdgeIntersection:At,_getBitCode:Bt,_sqClosestPointOnSegment:Rt,isFlat:Dt,_flat:Nt}),Re=(Object.freeze||Object)({clipPolygon:jt}),De={project:function(t){return new x(t.lng,t.lat)},unproject:function(t){return new M(t.y,t.x)},bounds:new P([-180,-90],[180,90])},Ne={R:6378137,R_MINOR:6356752.314245179,bounds:new P([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var i=Math.PI/180,e=this.R,n=t.lat*i,o=this.R_MINOR/e,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-e*Math.log(Math.max(a,1e-10)),new x(t.lng*i*e,n)},unproject:function(t){for(var i,e=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,u=.1;h\u003C15&&Math.abs(u)>1e-7;h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new M(a*e,t.x*e/n)}},je=(Object.freeze||Object)({LonLat:De,Mercator:Ne,SphericalMercator:di}),We=i({},_i,{code:\\\"EPSG:3395\\\",projection:Ne,transformation:function(){var t=.5/(Math.PI*Ne.R);return S(t,.5,-t,.5)}()}),He=i({},_i,{code:\\\"EPSG:4326\\\",projection:De,transformation:S(1/180,1,-1/180,.5)}),Fe=i({},ci,{projection:De,transformation:S(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});ci.Earth=_i,ci.EPSG3395=We,ci.EPSG3857=vi,ci.EPSG900913=yi,ci.EPSG4326=He,ci.Simple=Fe;var Ue=ui.extend({options:{pane:\\\"overlayPane\\\",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[n(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var e=this.getEvents();i.on(e,this),this.once(\\\"remove\\\",function(){i.off(e,this)},this)}this.onAdd(i),this.getAttribution&&i.attributionControl&&i.attributionControl.addAttribution(this.getAttribution()),this.fire(\\\"add\\\"),i.fire(\\\"layeradd\\\",{layer:this})}}});Le.include({addLayer:function(t){if(!t._layerAdd)throw new Error(\\\"The provided object is not a Layer.\\\");var i=n(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=n(t);return this._layers[i]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire(\\\"layerremove\\\",{layer:t}),t.fire(\\\"remove\\\")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&n(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?ei(t)?t:[t]:[]).length;i\u003Ce;i++)this.addLayer(t[i])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[n(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var i=n(t);this._zoomBoundLayers[i]&&(delete this._zoomBoundLayers[i],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,i=-1/0,e=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom)}this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=t===1/0?void 0:t,e!==this._getZoomSpan()&&this.fire(\\\"zoomlevelschange\\\"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()\u003Cthis._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Ve=Ue.extend({initialize:function(t,i){l(this,i),this._layers={};var e,n;if(t)for(e=0,n=t.length;e\u003Cn;e++)this.addLayer(t[e])},addLayer:function(t){var i=this.getLayerId(t);return this._layers[i]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var i=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[i]&&this._map.removeLayer(this._layers[i]),delete this._layers[i],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var i,e,n=Array.prototype.slice.call(arguments,1);for(i in this._layers)(e=this._layers[i])[t]&&e[t].apply(e,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke(\\\"setZIndex\\\",t)},getLayerId:function(t){return n(t)}}),qe=Ve.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Ve.prototype.addLayer.call(this,t),this.fire(\\\"layeradd\\\",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Ve.prototype.removeLayer.call(this,t),this.fire(\\\"layerremove\\\",{layer:t})):this},setStyle:function(t){return this.invoke(\\\"setStyle\\\",t)},bringToFront:function(){return this.invoke(\\\"bringToFront\\\")},bringToBack:function(){return this.invoke(\\\"bringToBack\\\")},getBounds:function(){var t=new T;for(var i in this._layers){var e=this._layers[i];t.extend(e.getBounds?e.getBounds():e.getLatLng())}return t}}),Ge=v.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){l(this,t)},createIcon:function(t){return this._createIcon(\\\"icon\\\",t)},createShadow:function(t){return this._createIcon(\\\"shadow\\\",t)},_createIcon:function(t,i){var e=this._getIconUrl(t);if(!e){if(\\\"icon\\\"===t)throw new Error(\\\"iconUrl not set in Icon options (see the docs).\\\");return null}var n=this._createImg(e,i&&\\\"IMG\\\"===i.tagName?i:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,i){var e=this.options,n=e[i+\\\"Size\\\"];\\\"number\\\"==typeof n&&(n=[n,n]);var o=w(n),s=w(\\\"shadow\\\"===i&&e.shadowAnchor||e.iconAnchor||o&&o.divideBy(2,!0));t.className=\\\"leaflet-marker-\\\"+i+\\\" \\\"+(e.className||\\\"\\\"),s&&(t.style.marginLeft=-s.x+\\\"px\\\",t.style.marginTop=-s.y+\\\"px\\\"),o&&(t.style.width=o.x+\\\"px\\\",t.style.height=o.y+\\\"px\\\")},_createImg:function(t,i){return i=i||document.createElement(\\\"img\\\"),i.src=t,i},_getIconUrl:function(t){return Ki&&this.options[t+\\\"RetinaUrl\\\"]||this.options[t+\\\"Url\\\"]}}),Ke=Ge.extend({options:{iconUrl:\\\"marker-icon.png\\\",iconRetinaUrl:\\\"marker-icon-2x.png\\\",shadowUrl:\\\"marker-shadow.png\\\",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return Ke.imagePath||(Ke.imagePath=this._detectIconPath()),(this.options.imagePath||Ke.imagePath)+Ge.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ht(\\\"div\\\",\\\"leaflet-default-icon-path\\\",document.body),i=at(t,\\\"background-image\\\")||at(t,\\\"backgroundImage\\\");return document.body.removeChild(t),i=null===i||0!==i.indexOf(\\\"url\\\")?\\\"\\\":i.replace(/^url\\\\([\\\"']?/,\\\"\\\").replace(/marker-icon\\\\.png[\\\"']?\\\\)$/,\\\"\\\")}}),Ye=Ze.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Be(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),pt(t,\\\"leaflet-marker-draggable\\\")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&mt(this._marker._icon,\\\"leaflet-marker-draggable\\\")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var i=this._marker,e=i._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=L.DomUtil.getPosition(i._icon),r=e.getPixelBounds(),a=e.getPixelOrigin(),h=b(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var u=w((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(n);e.panBy(u,{animate:!1}),this._draggable._newPos._add(u),this._draggable._startPos._add(u),L.DomUtil.setPosition(i._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=f(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire(\\\"movestart\\\").fire(\\\"dragstart\\\")},_onPreDrag:function(t){this._marker.options.autoPan&&(g(this._panRequest),this._panRequest=f(this._adjustPan.bind(this,t)))},_onDrag:function(t){var i=this._marker,e=i._shadow,n=Pt(i._icon),o=i._map.layerPointToLatLng(n);e&&Lt(e,n),i._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,i.fire(\\\"move\\\",t).fire(\\\"drag\\\",t)},_onDragEnd:function(t){g(this._panRequest),delete this._oldLatLng,this._marker.fire(\\\"moveend\\\").fire(\\\"dragend\\\",t)}}),Xe=Ue.extend({options:{icon:new Ke,interactive:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10,keyboard:!0,title:\\\"\\\",alt:\\\"\\\",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:\\\"markerPane\\\",bubblingMouseEvents:!1},initialize:function(t,i){l(this,i),this._latlng=C(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on(\\\"zoomanim\\\",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off(\\\"zoomanim\\\",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var i=this._latlng;return this._latlng=C(t),this.update(),this.fire(\\\"move\\\",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,i=\\\"leaflet-zoom-\\\"+(this._zoomAnimated?\\\"animated\\\":\\\"hide\\\"),e=t.icon.createIcon(this._icon),n=!1;e!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(e.title=t.title),\\\"IMG\\\"===e.tagName&&(e.alt=t.alt||\\\"\\\")),pt(e,i),t.keyboard&&(e.tabIndex=\\\"0\\\"),this._icon=e,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(pt(o,i),o.alt=\\\"\\\"),this._shadow=o,t.opacity\u003C1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane(\\\"shadowPane\\\").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),ut(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ut(this._shadow),this._shadow=null},_setPos:function(t){Lt(this._icon,t),this._shadow&&Lt(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(i)},_initInteraction:function(){if(this.options.interactive&&(pt(this._icon,\\\"leaflet-interactive\\\"),this.addInteractiveTarget(this._icon),Ye)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Ye(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;vt(this._icon,t),this._shadow&&vt(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Je=Ue.extend({options:{stroke:!0,color:\\\"#3388ff\\\",weight:3,opacity:1,lineCap:\\\"round\\\",lineJoin:\\\"round\\\",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:\\\"evenodd\\\",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return l(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),$e=Je.extend({options:{fill:!0,radius:10},initialize:function(t,i){l(this,i),this._latlng=C(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=C(t),this.redraw(),this.fire(\\\"move\\\",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var i=t&&t.radius||this._radius;return Je.prototype.setStyle.call(this,t),this.setRadius(i),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,i=this._radiusY||t,e=this._clickTolerance(),n=[t+e,i+e];this._pxBounds=new P(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)\u003C=this._radius+this._clickTolerance()}}),Qe=$e.extend({initialize:function(t,e,n){if(\\\"number\\\"==typeof e&&(e=i({},n,{radius:e})),l(this,e),this._latlng=C(t),isNaN(this.options.radius))throw new Error(\\\"Circle radius cannot be NaN\\\");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new T(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Je.prototype.setStyle,_project:function(){var t=this._latlng.lng,i=this._latlng.lat,e=this._map,n=e.options.crs;if(n.distance===_i.distance){var o=Math.PI/180,s=this._mRadius/_i.R/o,r=e.project([i+s,t]),a=e.project([i-s,t]),h=r.add(a).divideBy(2),u=e.unproject(h).lat,l=Math.acos((Math.cos(s*o)-Math.sin(i*o)*Math.sin(u*o))/(Math.cos(i*o)*Math.cos(u*o)))/o;(isNaN(l)||0===l)&&(l=s/Math.cos(Math.PI/180*i)),this._point=h.subtract(e.getPixelOrigin()),this._radius=isNaN(l)?0:h.x-e.project([u,t-l]).x,this._radiusY=h.y-r.y}else{var c=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=e.latLngToLayerPoint(this._latlng),this._radius=this._point.x-e.latLngToLayerPoint(c).x}this._updateBounds()}}),tn=Je.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,i){l(this,i),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var i,e,n=1/0,o=null,s=Rt,r=0,a=this._parts.length;r\u003Ca;r++)for(var h=this._parts[r],u=1,l=h.length;u\u003Cl;u++){var c=s(t,i=h[u-1],e=h[u],!0);c\u003Cn&&(n=c,o=s(t,i,e))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error(\\\"Must add layer to map before using getCenter()\\\");var t,i,e,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(t=0,i=0;t\u003Ch-1;t++)i+=a[t].distanceTo(a[t+1])/2;if(0===i)return this._map.layerPointToLatLng(a[0]);for(t=0,n=0;t\u003Ch-1;t++)if(o=a[t],s=a[t+1],e=o.distanceTo(s),(n+=e)>i)return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=C(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new T,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return Dt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=Dt(t),n=0,o=t.length;n\u003Co;n++)e?(i[n]=C(t[n]),this._bounds.extend(i[n])):i[n]=this._convertLatLngs(t[n]);return i},_project:function(){var t=new P;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var i=this._clickTolerance(),e=new x(i,i);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(e),t.max._add(e),this._pxBounds=t)},_projectLatlngs:function(t,i,e){var n,o,s=t[0]instanceof M,r=t.length;if(s){for(o=[],n=0;n\u003Cr;n++)o[n]=this._map.latLngToLayerPoint(t[n]),e.extend(o[n]);i.push(o)}else for(n=0;n\u003Cr;n++)this._projectLatlngs(t[n],i,e)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var i,e,n,o,s,r,a,h=this._parts;for(i=0,n=0,o=this._rings.length;i\u003Co;i++)for(e=0,s=(a=this._rings[i]).length;e\u003Cs-1;e++)(r=It(a[e],a[e+1],t,e,!0))&&(h[n]=h[n]||[],h[n].push(r[0]),r[1]===a[e+1]&&e!==s-2||(h[n].push(r[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,e=0,n=t.length;e\u003Cn;e++)t[e]=Ct(t[e],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,i){var e,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(e=0,s=this._parts.length;e\u003Cs;e++)for(n=0,o=(r=(a=this._parts[e]).length)-1;n\u003Cr;o=n++)if((i||0!==n)&&Zt(t,a[o],a[n])\u003C=h)return!0;return!1}});tn._flat=Nt;var en=tn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error(\\\"Must add layer to map before using getCenter()\\\");var t,i,e,n,o,s,r,a,h,u=this._rings[0],l=u.length;if(!l)return null;for(s=r=a=0,t=0,i=l-1;t\u003Cl;i=t++)e=u[t],n=u[i],o=e.y*n.x-n.y*e.x,r+=(e.x+n.x)*o,a+=(e.y+n.y)*o,s+=3*o;return h=0===s?u[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var i=tn.prototype._convertLatLngs.call(this,t),e=i.length;return e>=2&&i[0]instanceof M&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){tn.prototype._setLatLngs.call(this,t),Dt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Dt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new x(i,i);if(t=new P(t.min.subtract(e),t.max.add(e)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o\u003Cs;o++)(n=jt(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var i,e,n,o,s,r,a,h,u=!1;if(!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o\u003Ca;o++)for(s=0,r=(h=(i=this._parts[o]).length)-1;s\u003Ch;r=s++)e=i[s],n=i[r],e.y>t.y!=n.y>t.y&&t.x\u003C(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||tn.prototype._containsPoint.call(this,t,!0)}}),nn=qe.extend({initialize:function(t,i){l(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=ei(t)?t:t.features;if(o){for(i=0,e=o.length;i\u003Ce;i++)((n=o[i]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Wt(t,s);return r?(r.feature=Gt(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=i({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(i){this._setLayerStyle(i,t)},this)},_setLayerStyle:function(t,i){\\\"function\\\"==typeof i&&(i=i(t.feature)),t.setStyle&&t.setStyle(i)}}),on={toGeoJSON:function(t){return qt(this,{type:\\\"Point\\\",coordinates:Ut(this.getLatLng(),t)})}};Xe.include(on),Qe.include(on),$e.include(on),tn.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=Vt(this._latlngs,i?1:0,!1,t);return qt(this,{type:(i?\\\"Multi\\\":\\\"\\\")+\\\"LineString\\\",coordinates:e})}}),en.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=i&&!Dt(this._latlngs[0]),n=Vt(this._latlngs,e?2:i?1:0,!0,t);return i||(n=[n]),qt(this,{type:(e?\\\"Multi\\\":\\\"\\\")+\\\"Polygon\\\",coordinates:n})}}),Ve.include({toMultiPoint:function(t){var i=[];return this.eachLayer(function(e){i.push(e.toGeoJSON(t).geometry.coordinates)}),qt(this,{type:\\\"MultiPoint\\\",coordinates:i})},toGeoJSON:function(t){var i=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(\\\"MultiPoint\\\"===i)return this.toMultiPoint(t);var e=\\\"GeometryCollection\\\"===i,n=[];return this.eachLayer(function(i){if(i.toGeoJSON){var o=i.toGeoJSON(t);if(e)n.push(o.geometry);else{var s=Gt(o);\\\"FeatureCollection\\\"===s.type?n.push.apply(n,s.features):n.push(s)}}}),e?qt(this,{geometries:n,type:\\\"GeometryCollection\\\"}):{type:\\\"FeatureCollection\\\",features:n}}});var sn=Kt,rn=Ue.extend({options:{opacity:1,alt:\\\"\\\",interactive:!1,crossOrigin:!1,errorOverlayUrl:\\\"\\\",zIndex:1,className:\\\"\\\"},initialize:function(t,i,e){this._url=t,this._bounds=z(i),l(this,e)},onAdd:function(){this._image||(this._initImage(),this.options.opacity\u003C1&&this._updateOpacity()),this.options.interactive&&(pt(this._image,\\\"leaflet-interactive\\\"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ut(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ct(this._image),this},bringToBack:function(){return this._map&&_t(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=\\\"IMG\\\"===this._url.tagName,i=this._image=t?this._url:ht(\\\"img\\\");pt(i,\\\"leaflet-image-layer\\\"),this._zoomAnimated&&pt(i,\\\"leaflet-zoom-animated\\\"),this.options.className&&pt(i,this.options.className),i.onselectstart=r,i.onmousemove=r,i.onload=e(this.fire,this,\\\"load\\\"),i.onerror=e(this._overlayOnError,this,\\\"error\\\"),this.options.crossOrigin&&(i.crossOrigin=\\\"\\\"),this.options.zIndex&&this._updateZIndex(),t?this._url=i.src:(i.src=this._url,i.alt=this.options.alt)},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),e=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;wt(this._image,e,i)},_reset:function(){var t=this._image,i=new P(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),e=i.getSize();Lt(t,i.min),t.style.width=e.x+\\\"px\\\",t.style.height=e.y+\\\"px\\\"},_updateOpacity:function(){vt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire(\\\"error\\\");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),an=rn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t=\\\"VIDEO\\\"===this._url.tagName,i=this._image=t?this._url:ht(\\\"video\\\");if(pt(i,\\\"leaflet-image-layer\\\"),this._zoomAnimated&&pt(i,\\\"leaflet-zoom-animated\\\"),i.onselectstart=r,i.onmousemove=r,i.onloadeddata=e(this.fire,this,\\\"load\\\"),t){for(var n=i.getElementsByTagName(\\\"source\\\"),o=[],s=0;s\u003Cn.length;s++)o.push(n[s].src);this._url=n.length>0?o:[i.src]}else{ei(this._url)||(this._url=[this._url]),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop;for(var a=0;a\u003Cthis._url.length;a++){var h=ht(\\\"source\\\");h.src=this._url[a],i.appendChild(h)}}}}),hn=Ue.extend({options:{offset:[0,7],className:\\\"\\\",pane:\\\"popupPane\\\"},initialize:function(t,i){l(this,t),this._source=i},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&vt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&vt(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(vt(this._container,0),this._removeTimeout=setTimeout(e(ut,void 0,this._container),200)):ut(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=C(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility=\\\"hidden\\\",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility=\\\"\\\",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ct(this._container),this},bringToBack:function(){return this._map&&_t(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,i=\\\"function\\\"==typeof this._content?this._content(this._source||this):this._content;if(\\\"string\\\"==typeof i)t.innerHTML=i;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(i)}this.fire(\\\"contentupdate\\\")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),i=w(this.options.offset),e=this._getAnchor();this._zoomAnimated?Lt(this._container,t.add(e)):i=i.add(t).add(e);var n=this._containerBottom=-i.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+i.x;this._container.style.bottom=n+\\\"px\\\",this._container.style.left=o+\\\"px\\\"}},_getAnchor:function(){return[0,0]}}),un=hn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:\\\"\\\"},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){hn.prototype.onAdd.call(this,t),t.fire(\\\"popupopen\\\",{popup:this}),this._source&&(this._source.fire(\\\"popupopen\\\",{popup:this},!0),this._source instanceof Je||this._source.on(\\\"preclick\\\",Y))},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire(\\\"popupclose\\\",{popup:this}),this._source&&(this._source.fire(\\\"popupclose\\\",{popup:this},!0),this._source instanceof Je||this._source.off(\\\"preclick\\\",Y))},getEvents:function(){var t=hn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t=\\\"leaflet-popup\\\",i=this._container=ht(\\\"div\\\",t+\\\" \\\"+(this.options.className||\\\"\\\")+\\\" leaflet-zoom-animated\\\"),e=this._wrapper=ht(\\\"div\\\",t+\\\"-content-wrapper\\\",i);if(this._contentNode=ht(\\\"div\\\",t+\\\"-content\\\",e),J(e),X(this._contentNode),V(e,\\\"contextmenu\\\",Y),this._tipContainer=ht(\\\"div\\\",t+\\\"-tip-container\\\",i),this._tip=ht(\\\"div\\\",t+\\\"-tip\\\",this._tipContainer),this.options.closeButton){var n=this._closeButton=ht(\\\"a\\\",t+\\\"-close-button\\\",i);n.href=\\\"#close\\\",n.innerHTML=\\\"×\\\",V(n,\\\"click\\\",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,i=t.style;i.width=\\\"\\\",i.whiteSpace=\\\"nowrap\\\";var e=t.offsetWidth;e=Math.min(e,this.options.maxWidth),e=Math.max(e,this.options.minWidth),i.width=e+1+\\\"px\\\",i.whiteSpace=\\\"\\\",i.height=\\\"\\\";var n=t.offsetHeight,o=this.options.maxHeight;o&&n>o?(i.height=o+\\\"px\\\",pt(t,\\\"leaflet-popup-scrolled\\\")):mt(t,\\\"leaflet-popup-scrolled\\\"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Lt(this._container,i.add(e))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,i=parseInt(at(this._container,\\\"marginBottom\\\"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new x(this._containerLeft,-e-this._containerBottom);o._add(Pt(this._container));var s=t.layerPointToContainerPoint(o),r=w(this.options.autoPanPadding),a=w(this.options.autoPanPaddingTopLeft||r),h=w(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x\u003C0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y\u003C0&&(c=s.y-a.y),(l||c)&&t.fire(\\\"autopanstart\\\").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),Q(t)},_getAnchor:function(){return w(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Le.mergeOptions({closePopupOnClick:!0}),Le.include({openPopup:function(t,i,e){return t instanceof un||(t=new un(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ue.include({bindPopup:function(t,i){return t instanceof un?(l(t,i),this._popup=t,t._source=this):(this._popup&&!i||(this._popup=new un(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Q(t),i instanceof Je?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var ln=hn.extend({options:{pane:\\\"tooltipPane\\\",offset:[0,0],direction:\\\"auto\\\",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){hn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire(\\\"tooltipopen\\\",{tooltip:this}),this._source&&this._source.fire(\\\"tooltipopen\\\",{tooltip:this},!0)},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire(\\\"tooltipclose\\\",{tooltip:this}),this._source&&this._source.fire(\\\"tooltipclose\\\",{tooltip:this},!0)},getEvents:function(){var t=hn.prototype.getEvents.call(this);return Vi&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t=\\\"leaflet-tooltip \\\"+(this.options.className||\\\"\\\")+\\\" leaflet-zoom-\\\"+(this._zoomAnimated?\\\"animated\\\":\\\"hide\\\");this._contentNode=this._container=ht(\\\"div\\\",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=w(this.options.offset),u=this._getAnchor();\\\"top\\\"===s?t=t.add(w(-r/2+h.x,-a+h.y+u.y,!0)):\\\"bottom\\\"===s?t=t.subtract(w(r/2-h.x,-h.y,!0)):\\\"center\\\"===s?t=t.subtract(w(r/2+h.x,a/2-u.y+h.y,!0)):\\\"right\\\"===s||\\\"auto\\\"===s&&o.x\u003Cn.x?(s=\\\"right\\\",t=t.add(w(h.x+u.x,u.y-a/2+h.y,!0))):(s=\\\"left\\\",t=t.subtract(w(r+u.x-h.x,a/2-u.y-h.y,!0))),mt(e,\\\"leaflet-tooltip-right\\\"),mt(e,\\\"leaflet-tooltip-left\\\"),mt(e,\\\"leaflet-tooltip-top\\\"),mt(e,\\\"leaflet-tooltip-bottom\\\"),pt(e,\\\"leaflet-tooltip-\\\"+s),Lt(e,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&vt(this._container,t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(i)},_getAnchor:function(){return w(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Le.include({openTooltip:function(t,i,e){return t instanceof ln||(t=new ln(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ue.include({bindTooltip:function(t,i){return t instanceof ln?(l(t,i),this._tooltip=t,t._source=this):(this._tooltip&&!i||(this._tooltip=new ln(i,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var i=t?\\\"off\\\":\\\"on\\\",e={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?e.add=this._openTooltip:(e.mouseover=this._openTooltip,e.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(e.mousemove=this._moveTooltip),Vi&&(e.click=this._openTooltip)),this[i](e),this._tooltipHandlersAdded=!t}},openTooltip:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,i),this._tooltip.options.interactive&&this._tooltip._container&&(pt(this._tooltip._container,\\\"leaflet-clickable\\\"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(mt(this._tooltip._container,\\\"leaflet-clickable\\\"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var i=t.layer||t.target;this._tooltip&&this._map&&this.openTooltip(i,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var i,e,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(i=this._map.mouseEventToContainerPoint(t.originalEvent),e=this._map.containerPointToLayerPoint(i),n=this._map.layerPointToLatLng(e)),this._tooltip.setLatLng(n)}});var cn=Ge.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:\\\"leaflet-div-icon\\\"},createIcon:function(t){var i=t&&\\\"DIV\\\"===t.tagName?t:document.createElement(\\\"div\\\"),e=this.options;if(i.innerHTML=!1!==e.html?e.html:\\\"\\\",e.bgPos){var n=w(e.bgPos);i.style.backgroundPosition=-n.x+\\\"px \\\"+-n.y+\\\"px\\\"}return this._setIconStyles(i,\\\"icon\\\"),i},createShadow:function(){return null}});Ge.Default=Ke;var _n=Ue.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ji,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:\\\"tilePane\\\",className:\\\"\\\",keepBuffer:2},initialize:function(t){l(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),ut(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ct(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_t(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=o(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement(\\\"div\\\")},getTileSize:function(){var t=this.options.tileSize;return t instanceof x?t:new x(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var i,e=this.getPane().children,n=-t(-1/0,1/0),o=0,s=e.length;o\u003Cs;o++)i=e[o].style.zIndex,e[o]!==this._container&&i&&(n=t(n,+i));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Li){vt(this._container,this.options.opacity);var t=+new Date,i=!1,e=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);vt(o.el,s),s\u003C1?i=!0:(o.active?e=!0:this._onOpaqueTile(o),o.active=!0)}}e&&!this._noPrune&&this._pruneTiles(),i&&(g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this))}},_onOpaqueTile:r,_initContainer:function(){this._container||(this._container=ht(\\\"div\\\",\\\"leaflet-layer \\\"+(this.options.className||\\\"\\\")),this._updateZIndex(),this.options.opacity\u003C1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,i=this.options.maxZoom;if(void 0!==t){for(var e in this._levels)this._levels[e].el.children.length||e===t?(this._levels[e].el.style.zIndex=i-Math.abs(t-e),this._onUpdateLevel(e)):(ut(this._levels[e].el),this._removeTilesAtZoom(e),this._onRemoveLevel(e),delete this._levels[e]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=ht(\\\"div\\\",\\\"leaflet-tile-container leaflet-zoom-animated\\\",this._container),n.el.style.zIndex=i,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:r,_onRemoveLevel:r,_onCreateLevel:r,_pruneTiles:function(){if(this._map){var t,i,e=this._map.getZoom();if(e>this.options.maxZoom||e\u003Cthis.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)if((i=this._tiles[t]).current&&!i.active){var n=i.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var i in this._tiles)this._tiles[i].coords.z===t&&this._removeTile(i)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)ut(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,i,e,n){var o=Math.floor(t/2),s=Math.floor(i/2),r=e-1,a=new x(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),u=this._tiles[h];return u&&u.active?(u.retain=!0,!0):(u&&u.loaded&&(u.retain=!0),r>n&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o\u003C2*t+2;o++)for(var s=2*i;s\u003C2*i+2;s++){var r=new x(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1\u003Cn&&this._retainChildren(o,s,e+1,n))}},_resetView:function(t){var i=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),i,i)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var i=this.options;return void 0!==i.minNativeZoom&&t\u003Ci.minNativeZoom?i.minNativeZoom:void 0!==i.maxNativeZoom&&i.maxNativeZoom\u003Ct?i.maxNativeZoom:t},_setView:function(t,i,e,n){var o=this._clampZoom(Math.round(i));(void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o\u003Cthis.options.minZoom)&&(o=void 0);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),e||this._pruneTiles(),this._noPrune=!!e),this._setZoomTransforms(t,i)},_setZoomTransforms:function(t,i){for(var e in this._levels)this._setZoomTransform(this._levels[e],t,i)},_setZoomTransform:function(t,i,e){var n=this._map.getZoomScale(e,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(i,e)).round();Ni?wt(t.el,o,n):Lt(t.el,o)},_resetGrid:function(){var t=this._map,i=t.options.crs,e=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=i.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,i.wrapLng[0]],n).x/e.x),Math.ceil(t.project([0,i.wrapLng[1]],n).x/e.y)],this._wrapY=i.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([i.wrapLat[0],0],n).y/e.x),Math.ceil(t.project([i.wrapLat[1],0],n).y/e.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var i=this._map,e=i._animatingZoom?Math.max(i._animateToZoom,i.getZoom()):i.getZoom(),n=i.getZoomScale(e,this._tileZoom),o=i.project(t,this._tileZoom).floor(),s=i.getSize().divideBy(2*n);return new P(o.subtract(s),o.add(s))},_update:function(t){var i=this._map;if(i){var e=this._clampZoom(i.getZoom());if(void 0===t&&(t=i.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new P(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error(\\\"Attempted to load an infinite number of tiles\\\");for(var u in this._tiles){var l=this._tiles[u].coords;l.z===this._tileZoom&&h.contains(new x(l.x,l.y))||(this._tiles[u].current=!1)}if(Math.abs(e-this._tileZoom)>1)this._setView(t,e);else{for(var c=o.min.y;c\u003C=o.max.y;c++)for(var _=o.min.x;_\u003C=o.max.x;_++){var d=new x(_,c);if(d.z=this._tileZoom,this._isValidTile(d)){var p=this._tiles[this._tileCoordsToKey(d)];p?p.current=!0:r.push(d)}}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire(\\\"loading\\\"));var m=document.createDocumentFragment();for(_=0;_\u003Cr.length;_++)this._addTile(r[_],m);this._level.el.appendChild(m)}}}}},_isValidTile:function(t){var i=this._map.options.crs;if(!i.infinite){var e=this._globalTileRange;if(!i.wrapLng&&(t.x\u003Ce.min.x||t.x>e.max.x)||!i.wrapLat&&(t.y\u003Ce.min.y||t.y>e.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new T(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+\\\":\\\"+t.y+\\\":\\\"+t.z},_keyToTileCoords:function(t){var i=t.split(\\\":\\\"),e=new x(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(Ci||i.el.setAttribute(\\\"src\\\",ni),ut(i.el),delete this._tiles[t],this.fire(\\\"tileunload\\\",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pt(t,\\\"leaflet-tile\\\");var i=this.getTileSize();t.style.width=i.x+\\\"px\\\",t.style.height=i.y+\\\"px\\\",t.onselectstart=r,t.onmousemove=r,Li&&this.options.opacity\u003C1&&vt(t,this.options.opacity),Ti&&!zi&&(t.style.WebkitBackfaceVisibility=\\\"hidden\\\")},_addTile:function(t,i){var n=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),e(this._tileReady,this,t));this._initTile(s),this.createTile.length\u003C2&&f(e(this._tileReady,this,t,null,s)),Lt(s,n),this._tiles[o]={el:s,coords:t,current:!0},i.appendChild(s),this.fire(\\\"tileloadstart\\\",{tile:s,coords:t})},_tileReady:function(t,i,n){if(this._map){i&&this.fire(\\\"tileerror\\\",{error:i,tile:n,coords:t});var o=this._tileCoordsToKey(t);(n=this._tiles[o])&&(n.loaded=+new Date,this._map._fadeAnimated?(vt(n.el,0),g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),i||(pt(n.el,\\\"leaflet-tile-loaded\\\"),this.fire(\\\"tileload\\\",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire(\\\"load\\\"),Li||!this._map._fadeAnimated?f(this._pruneTiles,this):setTimeout(e(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new x(this._wrapX?s(t.x,this._wrapX):t.x,this._wrapY?s(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new P(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),dn=_n.extend({options:{minZoom:0,maxZoom:18,subdomains:\\\"abc\\\",errorTileUrl:\\\"\\\",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=l(this,i)).detectRetina&&Ki&&i.maxZoom>0&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),\\\"string\\\"==typeof i.subdomains&&(i.subdomains=i.subdomains.split(\\\"\\\")),Ti||this.on(\\\"tileunload\\\",this._onTileRemove)},setUrl:function(t,i){return this._url=t,i||this.redraw(),this},createTile:function(t,i){var n=document.createElement(\\\"img\\\");return V(n,\\\"load\\\",e(this._tileOnLoad,this,i,n)),V(n,\\\"error\\\",e(this._tileOnError,this,i,n)),this.options.crossOrigin&&(n.crossOrigin=\\\"\\\"),n.alt=\\\"\\\",n.setAttribute(\\\"role\\\",\\\"presentation\\\"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ki?\\\"@2x\\\":\\\"\\\",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e[\\\"-y\\\"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,i){Li?setTimeout(e(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.getAttribute(\\\"src\\\")!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom,e=this.options.zoomReverse,n=this.options.zoomOffset;return e&&(t=i-t),t+n},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=r,i.onerror=r,i.complete||(i.src=ni,ut(i),delete this._tiles[t]))}}),pn=dn.extend({defaultWmsParams:{service:\\\"WMS\\\",request:\\\"GetMap\\\",layers:\\\"\\\",styles:\\\"\\\",format:\\\"image/jpeg\\\",transparent:!1,version:\\\"1.1.1\\\"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=l(this,e)).detectRetina&&Ki?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?\\\"crs\\\":\\\"srs\\\";this.wmsParams[i]=this._crs.code,dn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=b(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===He?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(\\\",\\\"),a=L.TileLayer.prototype.getTileUrl.call(this,t);return a+c(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?\\\"&BBOX=\\\":\\\"&bbox=\\\")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});dn.WMS=pn,Yt.wms=function(t,i){return new pn(t,i)};var mn=Ue.extend({options:{padding:.1,tolerance:0},initialize:function(t){l(this,t),n(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&pt(this._container,\\\"leaflet-zoom-animated\\\")),this.getPane().appendChild(this._container),this._update(),this.on(\\\"update\\\",this._updatePaths,this)},onRemove:function(){this.off(\\\"update\\\",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=Pt(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);Ni?wt(this._container,a,e):Lt(this._container,a)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new P(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),fn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){mn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement(\\\"canvas\\\");V(t,\\\"mousemove\\\",o(this._onMouseMove,32,this),this),V(t,\\\"click dblclick mousedown mouseup contextmenu\\\",this._onClick,this),V(t,\\\"mouseout\\\",this._handleMouseOut,this),this._ctx=t.getContext(\\\"2d\\\")},_destroyContainer:function(){delete this._ctx,ut(this._container),q(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var t in this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},mn.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Ki?2:1;Lt(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+\\\"px\\\",i.style.height=e.y+\\\"px\\\",Ki&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire(\\\"update\\\")}},_reset:function(){mn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[n(t)]=t;var i=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,n=i.prev;e?e.prev=n:this._drawLast=n,n?n.next=e:this._drawFirst=e,delete t._order,delete this._layers[L.stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var i,e=t.options.dashArray.split(\\\",\\\"),n=[];for(i=0;i\u003Ce.length;i++)n.push(Number(e[i]));t.options._dashArray=n}},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||f(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var i=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new P,this._redrawBounds.extend(t._pxBounds.min.subtract([i,i])),this._redrawBounds.extend(t._pxBounds.max.add([i,i]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var i=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,i.x,i.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,i=this._redrawBounds;if(this._ctx.save(),i){var e=i.getSize();this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,i){if(this._drawing){var e,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(this._drawnLayers[t._leaflet_id]=t,h.beginPath(),e=0;e\u003Ca;e++){for(n=0,o=r[e].length;n\u003Co;n++)s=r[e][n],h[n?\\\"lineTo\\\":\\\"moveTo\\\"](s.x,s.y);i&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var i=t._point,e=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;this._drawnLayers[t._leaflet_id]=t,1!==o&&(e.save(),e.scale(1,o)),e.beginPath(),e.arc(i.x,i.y/o,n,0,2*Math.PI,!1),1!==o&&e.restore(),this._fillStroke(e,t)}},_fillStroke:function(t,i){var e=i.options;e.fill&&(t.globalAlpha=e.fillOpacity,t.fillStyle=e.fillColor||e.color,t.fill(e.fillRule||\\\"evenodd\\\")),e.stroke&&0!==e.weight&&(t.setLineDash&&t.setLineDash(i.options&&i.options._dashArray||[]),t.globalAlpha=e.opacity,t.lineWidth=e.weight,t.strokeStyle=e.color,t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.stroke())},_onClick:function(t){for(var i,e,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(n)&&!this._map._draggableMoved(i)&&(e=i);e&&(et(t),this._fireEvent([e],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var i=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,i)}},_handleMouseOut:function(t){var i=this._hoveredLayer;i&&(mt(this._container,\\\"leaflet-interactive\\\"),this._fireEvent([i],t,\\\"mouseout\\\"),this._hoveredLayer=null)},_handleMouseHover:function(t,i){for(var e,n,o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(i)&&(n=e);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(pt(this._container,\\\"leaflet-interactive\\\"),this._fireEvent([n],t,\\\"mouseover\\\"),this._hoveredLayer=n)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,i,e){this._map._fireDOMEvent(i,e||i.type,t)},_bringToFront:function(t){var i=t._order,e=i.next,n=i.prev;e&&(e.prev=n,n?n.next=e:e&&(this._drawFirst=e),i.prev=this._drawLast,this._drawLast.next=i,i.next=null,this._drawLast=i,this._requestRedraw(t))},_bringToBack:function(t){var i=t._order,e=i.next,n=i.prev;n&&(n.next=e,e?e.prev=n:n&&(this._drawLast=n),i.prev=null,i.next=this._drawFirst,this._drawFirst.prev=i,this._drawFirst=i,this._requestRedraw(t))}}),gn=function(){try{return document.namespaces.add(\\\"lvml\\\",\\\"urn:schemas-microsoft-com:vml\\\"),function(t){return document.createElement(\\\"\u003Clvml:\\\"+t+' class=\\\"lvml\\\">')}}catch(t){return function(t){return document.createElement(\\\"\u003C\\\"+t+' xmlns=\\\"urn:schemas-microsoft.com:vml\\\" class=\\\"lvml\\\">')}}}(),vn={_initContainer:function(){this._container=ht(\\\"div\\\",\\\"leaflet-vml-container\\\")},_update:function(){this._map._animatingZoom||(mn.prototype._update.call(this),this.fire(\\\"update\\\"))},_initPath:function(t){var i=t._container=gn(\\\"shape\\\");pt(i,\\\"leaflet-vml-shape \\\"+(this.options.className||\\\"\\\")),i.coordsize=\\\"1 1\\\",t._path=gn(\\\"path\\\"),i.appendChild(t._path),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ut(i),t.removeInteractiveTarget(i),delete this._layers[n(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=gn(\\\"stroke\\\")),o.appendChild(i),i.weight=n.weight+\\\"px\\\",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=ei(n.dashArray)?n.dashArray.join(\\\" \\\"):n.dashArray.replace(/( *, *)/g,\\\" \\\"):i.dashStyle=\\\"\\\",i.endcap=n.lineCap.replace(\\\"butt\\\",\\\"flat\\\"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=gn(\\\"fill\\\")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?\\\"M0 0\\\":\\\"AL \\\"+i.x+\\\",\\\"+i.y+\\\" \\\"+e+\\\",\\\"+n+\\\" 0,23592600\\\")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){ct(t._container)},_bringToBack:function(t){_t(t._container)}},yn=Ji?gn:E,xn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=yn(\\\"svg\\\"),this._container.setAttribute(\\\"pointer-events\\\",\\\"none\\\"),this._rootGroup=yn(\\\"g\\\"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ut(this._container),q(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){mn.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute(\\\"width\\\",i.x),e.setAttribute(\\\"height\\\",i.y)),Lt(e,t.min),e.setAttribute(\\\"viewBox\\\",[t.min.x,t.min.y,i.x,i.y].join(\\\" \\\")),this.fire(\\\"update\\\")}},_initPath:function(t){var i=t._path=yn(\\\"path\\\");t.options.className&&pt(i,t.options.className),t.options.interactive&&pt(i,\\\"leaflet-interactive\\\"),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ut(t._path),t.removeInteractiveTarget(t._path),delete this._layers[n(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute(\\\"stroke\\\",e.color),i.setAttribute(\\\"stroke-opacity\\\",e.opacity),i.setAttribute(\\\"stroke-width\\\",e.weight),i.setAttribute(\\\"stroke-linecap\\\",e.lineCap),i.setAttribute(\\\"stroke-linejoin\\\",e.lineJoin),e.dashArray?i.setAttribute(\\\"stroke-dasharray\\\",e.dashArray):i.removeAttribute(\\\"stroke-dasharray\\\"),e.dashOffset?i.setAttribute(\\\"stroke-dashoffset\\\",e.dashOffset):i.removeAttribute(\\\"stroke-dashoffset\\\")):i.setAttribute(\\\"stroke\\\",\\\"none\\\"),e.fill?(i.setAttribute(\\\"fill\\\",e.fillColor||e.color),i.setAttribute(\\\"fill-opacity\\\",e.fillOpacity),i.setAttribute(\\\"fill-rule\\\",e.fillRule||\\\"evenodd\\\")):i.setAttribute(\\\"fill\\\",\\\"none\\\"))},_updatePoly:function(t,i){this._setPath(t,k(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n=\\\"a\\\"+e+\\\",\\\"+(Math.max(Math.round(t._radiusY),1)||e)+\\\" 0 1,0 \\\",o=t._empty()?\\\"M0 0\\\":\\\"M\\\"+(i.x-e)+\\\",\\\"+i.y+n+2*e+\\\",0 \\\"+n+2*-e+\\\",0 \\\";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute(\\\"d\\\",i)},_bringToFront:function(t){ct(t._path)},_bringToBack:function(t){_t(t._path)}});Ji&&xn.include(vn),Le.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this.options.preferCanvas&&Xt()||Jt()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if(\\\"overlayPane\\\"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=xn&&Jt({pane:t})||fn&&Xt({pane:t}),this._paneRenderers[t]=i),i}});var wn=en.extend({initialize:function(t,i){en.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=z(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});xn.create=yn,xn.pointsToPath=k,nn.geometryToLayer=Wt,nn.coordsToLatLng=Ht,nn.coordsToLatLngs=Ft,nn.latLngToCoords=Ut,nn.latLngsToCoords=Vt,nn.getFeature=qt,nn.asFeature=Gt,Le.mergeOptions({boxZoom:!0});var Ln=Ze.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on(\\\"unload\\\",this._destroy,this)},addHooks:function(){V(this._container,\\\"mousedown\\\",this._onMouseDown,this)},removeHooks:function(){q(this._container,\\\"mousedown\\\",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ut(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),mi(),bt(),this._startPoint=this._map.mouseEventToContainerPoint(t),V(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ht(\\\"div\\\",\\\"leaflet-zoom-box\\\",this._container),pt(this._container,\\\"leaflet-crosshair\\\"),this._map.fire(\\\"boxzoomstart\\\")),this._point=this._map.mouseEventToContainerPoint(t);var i=new P(this._point,this._startPoint),e=i.getSize();Lt(this._box,i.min),this._box.style.width=e.x+\\\"px\\\",this._box.style.height=e.y+\\\"px\\\"},_finish:function(){this._moved&&(ut(this._box),mt(this._container,\\\"leaflet-crosshair\\\")),fi(),Tt(),q(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(e(this._resetState,this),0);var i=new T(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire(\\\"boxzoomend\\\",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Le.addInitHook(\\\"addHandler\\\",\\\"boxZoom\\\",Ln),Le.mergeOptions({doubleClickZoom:!0});var Pn=Ze.extend({addHooks:function(){this._map.on(\\\"dblclick\\\",this._onDoubleClick,this)},removeHooks:function(){this._map.off(\\\"dblclick\\\",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;\\\"center\\\"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Le.addInitHook(\\\"addHandler\\\",\\\"doubleClickZoom\\\",Pn),Le.mergeOptions({dragging:!0,inertia:!zi,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bn=Ze.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Be(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on(\\\"predrag\\\",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on(\\\"predrag\\\",this._onPreDragWrap,this),t.on(\\\"zoomend\\\",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}pt(this._map._container,\\\"leaflet-grab leaflet-touch-drag\\\"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,\\\"leaflet-grab\\\"),mt(this._map._container,\\\"leaflet-touch-drag\\\"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=z(this._map.options.maxBounds);this._offsetLimit=b(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire(\\\"movestart\\\").fire(\\\"dragstart\\\"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),this._prunePositions(i)}this._map.fire(\\\"move\\\",t).fire(\\\"drag\\\",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.x\u003Ci.min.x&&(t.x=this._viscousLimit(t.x,i.min.x)),t.y\u003Ci.min.y&&(t.y=this._viscousLimit(t.y,i.min.y)),t.x>i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)\u003CMath.abs(s+e)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var i=this._map,e=i.options,n=!e.inertia||this._times.length\u003C2;if(i.fire(\\\"dragend\\\",t),n)i.fire(\\\"moveend\\\");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=e.easeLinearity,a=o.multiplyBy(r/s),h=a.distanceTo([0,0]),u=Math.min(e.inertiaMaxSpeed,h),l=a.multiplyBy(u/h),c=u/(e.inertiaDeceleration*r),_=l.multiplyBy(-c/2).round();_.x||_.y?(_=i._limitOffset(_,i.options.maxBounds),f(function(){i.panBy(_,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})})):i.fire(\\\"moveend\\\")}}});Le.addInitHook(\\\"addHandler\\\",\\\"dragging\\\",bn),Le.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Tn=Ze.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex\u003C=0&&(t.tabIndex=\\\"0\\\"),V(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),q(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,i=document.documentElement,e=t.scrollTop||i.scrollTop,n=t.scrollLeft||i.scrollLeft;this._map._container.focus(),window.scrollTo(n,e)}},_onFocus:function(){this._focused=!0,this._map.fire(\\\"focus\\\")},_onBlur:function(){this._focused=!1,this._map.fire(\\\"blur\\\")},_setPanDelta:function(t){var i,e,n=this._panKeys={},o=this.keyCodes;for(i=0,e=o.left.length;i\u003Ce;i++)n[o.left[i]]=[-1*t,0];for(i=0,e=o.right.length;i\u003Ce;i++)n[o.right[i]]=[t,0];for(i=0,e=o.down.length;i\u003Ce;i++)n[o.down[i]]=[0,t];for(i=0,e=o.up.length;i\u003Ce;i++)n[o.up[i]]=[0,-1*t]},_setZoomDelta:function(t){var i,e,n=this._zoomKeys={},o=this.keyCodes;for(i=0,e=o.zoomIn.length;i\u003Ce;i++)n[o.zoomIn[i]]=t;for(i=0,e=o.zoomOut.length;i\u003Ce;i++)n[o.zoomOut[i]]=-t},_addHooks:function(){V(document,\\\"keydown\\\",this._onKeyDown,this)},_removeHooks:function(){q(document,\\\"keydown\\\",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var i,e=t.keyCode,n=this._map;if(e in this._panKeys){if(n._panAnim&&n._panAnim._inProgress)return;i=this._panKeys[e],t.shiftKey&&(i=w(i).multiplyBy(3)),n.panBy(i),n.options.maxBounds&&n.panInsideBounds(n.options.maxBounds)}else if(e in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[e]);else{if(27!==e||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}Q(t)}}});Le.addInitHook(\\\"addHandler\\\",\\\"keyboard\\\",Tn),Le.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var zn=Ze.extend({addHooks:function(){V(this._map._container,\\\"mousewheel\\\",this._onWheelScroll,this),this._delta=0},removeHooks:function(){q(this._map._container,\\\"mousewheel\\\",this._onWheelScroll,this)},_onWheelScroll:function(t){var i=it(t),n=this._map.options.wheelDebounceTime;this._delta+=i,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var o=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(e(this._performZoom,this),o),Q(t)},_performZoom:function(){var t=this._map,i=t.getZoom(),e=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=e?Math.ceil(o/e)*e:o,r=t._limitZoom(i+(this._delta>0?s:-s))-i;this._delta=0,this._startTime=null,r&&(\\\"center\\\"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});Le.addInitHook(\\\"addHandler\\\",\\\"scrollWheelZoom\\\",zn),Le.mergeOptions({tap:!0,tapTolerance:15});var Mn=Ze.extend({addHooks:function(){V(this._map._container,\\\"touchstart\\\",this._onDown,this)},removeHooks:function(){q(this._map._container,\\\"touchstart\\\",this._onDown,this)},_onDown:function(t){if(t.touches){if($(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new x(i.clientX,i.clientY),n.tagName&&\\\"a\\\"===n.tagName.toLowerCase()&&pt(n,\\\"leaflet-active\\\"),this._holdTimeout=setTimeout(e(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent(\\\"contextmenu\\\",i))},this),1e3),this._simulateEvent(\\\"mousedown\\\",i),V(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),q(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],e=i.target;e&&e.tagName&&\\\"a\\\"===e.tagName.toLowerCase()&&mt(e,\\\"leaflet-active\\\"),this._simulateEvent(\\\"mouseup\\\",i),this._isTapValid()&&this._simulateEvent(\\\"click\\\",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)\u003C=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new x(i.clientX,i.clientY),this._simulateEvent(\\\"mousemove\\\",i)},_simulateEvent:function(t,i){var e=document.createEvent(\\\"MouseEvents\\\");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});Vi&&!Ui&&Le.addInitHook(\\\"addHandler\\\",\\\"tap\\\",Mn),Le.mergeOptions({touchZoom:Vi&&!zi,bounceAtZoomLimits:!0});var Cn=Ze.extend({addHooks:function(){pt(this._map._container,\\\"leaflet-touch-zoom\\\"),V(this._map._container,\\\"touchstart\\\",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,\\\"leaflet-touch-zoom\\\"),q(this._map._container,\\\"touchstart\\\",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),\\\"center\\\"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(e.add(n)._divideBy(2))),this._startDist=e.distanceTo(n),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),V(document,\\\"touchmove\\\",this._onTouchMove,this),V(document,\\\"touchend\\\",this._onTouchEnd,this),$(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,n=i.mouseEventToContainerPoint(t.touches[0]),o=i.mouseEventToContainerPoint(t.touches[1]),s=n.distanceTo(o)/this._startDist;if(this._zoom=i.getScaleZoom(s,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoom\u003Ci.getMinZoom()&&s\u003C1||this._zoom>i.getMaxZoom()&&s>1)&&(this._zoom=i._limitZoom(this._zoom)),\\\"center\\\"===i.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=n._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),g(this._animRequest);var a=e(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=f(a,this,!0),$(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,g(this._animRequest),q(document,\\\"touchmove\\\",this._onTouchMove),q(document,\\\"touchend\\\",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Le.addInitHook(\\\"addHandler\\\",\\\"touchZoom\\\",Cn),Le.BoxZoom=Ln,Le.DoubleClickZoom=Pn,Le.Drag=bn,Le.Keyboard=Tn,Le.ScrollWheelZoom=zn,Le.Tap=Mn,Le.TouchZoom=Cn;var Zn=window.L;window.L=t,Object.freeze=$t,t.version=\\\"1.3.1\\\",t.noConflict=function(){return window.L=Zn,this},t.Control=Pe,t.control=be,t.Browser=$i,t.Evented=ui,t.Mixin=Ee,t.Util=ai,t.Class=v,t.Handler=Ze,t.extend=i,t.bind=e,t.stamp=n,t.setOptions=l,t.DomEvent=de,t.DomUtil=xe,t.PosAnimation=we,t.Draggable=Be,t.LineUtil=Oe,t.PolyUtil=Re,t.Point=x,t.point=w,t.Bounds=P,t.bounds=b,t.Transformation=Z,t.transformation=S,t.Projection=je,t.LatLng=M,t.latLng=C,t.LatLngBounds=T,t.latLngBounds=z,t.CRS=ci,t.GeoJSON=nn,t.geoJSON=Kt,t.geoJson=sn,t.Layer=Ue,t.LayerGroup=Ve,t.layerGroup=function(t,i){return new Ve(t,i)},t.FeatureGroup=qe,t.featureGroup=function(t){return new qe(t)},t.ImageOverlay=rn,t.imageOverlay=function(t,i,e){return new rn(t,i,e)},t.VideoOverlay=an,t.videoOverlay=function(t,i,e){return new an(t,i,e)},t.DivOverlay=hn,t.Popup=un,t.popup=function(t,i){return new un(t,i)},t.Tooltip=ln,t.tooltip=function(t,i){return new ln(t,i)},t.Icon=Ge,t.icon=function(t){return new Ge(t)},t.DivIcon=cn,t.divIcon=function(t){return new cn(t)},t.Marker=Xe,t.marker=function(t,i){return new Xe(t,i)},t.TileLayer=dn,t.tileLayer=Yt,t.GridLayer=_n,t.gridLayer=function(t){return new _n(t)},t.SVG=xn,t.svg=Jt,t.Renderer=mn,t.Canvas=fn,t.canvas=Xt,t.Path=Je,t.CircleMarker=$e,t.circleMarker=function(t,i){return new $e(t,i)},t.Circle=Qe,t.circle=function(t,i,e){return new Qe(t,i,e)},t.Polyline=tn,t.polyline=function(t,i){return new tn(t,i)},t.Polygon=en,t.polygon=function(t,i){return new en(t,i)},t.Rectangle=wn,t.rectangle=function(t,i){return new wn(t,i)},t.Map=Le,t.map=function(t,i){return new Le(t,i)}});\\n}\\nexports.L = L;\\n\",\n \"type\": \"application/javascript\",\n \"title\": \"$:/plugins/sycom/leaflet/lib/leaflet.js\",\n \"module-type\": \"library\"\n },\n \"$:/plugins/sycom/leaflet/lib/leaflet-markercluster.js\": {\n \"text\": \"if($tw.browser){\\n!function(e,t){\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module?t(exports):\\\"function\\\"==typeof define&&define.amd?define([\\\"exports\\\"],t):t((e.Leaflet=e.Leaflet||{},e.Leaflet.markercluster=e.Leaflet.markercluster||{}))}(this,function(e){\\\"use strict\\\";var t=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:\\\"#222\\\",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire(\\\"layeradd\\\",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire(\\\"layeradd\\\",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire(\\\"layeradd\\\",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,i=this._zoom;if(e.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?e.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire(\\\"layerremove\\\",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire(\\\"layerremove\\\",{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire(\\\"layerremove\\\",{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var i,n=this._featureGroup,r=this._nonPointGroup,s=this.options.chunkedLoading,o=this.options.chunkInterval,a=this.options.chunkProgress,h=e.length,l=0,u=!0;if(this._map){var _=(new Date).getTime(),d=L.bind(function(){for(var c=(new Date).getTime();h>l;l++){if(s&&0===l%200){var p=(new Date).getTime()-c;if(p>o)break}if(i=e[l],i instanceof L.LayerGroup)u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length;else if(i.getLatLng){if(!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire(\\\"layeradd\\\",{layer:i}),i.__parent&&2===i.__parent.getChildCount())){var f=i.__parent.getAllChildMarkers(),m=f[0]===i?f[1]:f[0];n.removeLayer(m)}}else r.addLayer(i),t||this.fire(\\\"layeradd\\\",{layer:i})}a&&a(l,h,(new Date).getTime()-_),l===h?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(d,this.options.chunkDelay)},this);d()}else for(var c=this._needsClustering;h>l;l++)i=e[l],i instanceof L.LayerGroup?(u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length):i.getLatLng?this.hasLayer(i)||c.push(i):r.addLayer(i);return this},removeLayers:function(e){var t,i,n=e.length,r=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire(\\\"layerremove\\\",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=n;for(t=0;h>t;t++)i=a[t],i instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire(\\\"layerremove\\\",{layer:i}),r.hasLayer(i)&&(r.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire(\\\"layerremove\\\",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;t>=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,n,r,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),n=s.length-1;n>=0;n--){for(i=!0,r=o.length-1;r>=0;r--)if(o[r].layer===s[n]){i=!1;break}i&&e.call(t,s[n])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer(function(t){e.push(t)}),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer(function(i){L.stamp(i)===e&&(t=i)}),t},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;t>=0;t--)if(i[t]===e)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){\\\"function\\\"!=typeof t&&(t=function(){});var i=function(){!e._icon&&!e.__parent._icon||this._inZoomAnimation||(this._map.off(\\\"moveend\\\",i,this),this.off(\\\"animationend\\\",i,this),e._icon?t():e.__parent._icon&&(this.once(\\\"spiderfied\\\",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom\u003CMath.round(this._map._zoom)?(this._map.on(\\\"moveend\\\",i,this),this._map.panTo(e.getLatLng())):(this._map.on(\\\"moveend\\\",i,this),this.on(\\\"animationend\\\",i,this),e.__parent.zoomToBounds())},onAdd:function(e){this._map=e;var t,i,n;if(!isFinite(this._map.getMaxZoom()))throw\\\"Map has no maxZoom specified\\\";for(this._featureGroup.addTo(e),this._nonPointGroup.addTo(e),this._gridClusters||this._generateInitialClusters(),this._maxLat=e.options.crs.projection.MAX_LATITUDE,t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],n.newlatlng=n.layer._latlng,n.layer._latlng=n.latlng;for(t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],this._removeLayer(n.layer,!0),n.layer._latlng=n.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on(\\\"zoomend\\\",this._zoomEnd,this),this._map.on(\\\"moveend\\\",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off(\\\"zoomend\\\",this._zoomEnd,this),e.off(\\\"moveend\\\",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(\\\" leaflet-cluster-anim\\\",\\\"\\\"),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;i>=0;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,n=this._gridUnclustered,r=Math.floor(this._map.getMinZoom());t>=r&&n[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){e.target.__dragStart&&this._moveChild(e.target,e.target.__dragStart,e.target._latlng),delete e.target.__dragStart},_removeLayer:function(e,t,i){var n=this._gridClusters,r=this._gridUnclustered,s=this._featureGroup,o=this._map,a=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoom\u003Ca));)t&&l._childCount\u003C=1?(h=l._markers[0]===e?l._markers[1]:l._markers[0],n[l._zoom].removeObject(l,o.project(l._cLatLng,l._zoom)),r[l._zoom].addObject(h,o.project(h.getLatLng(),l._zoom)),this._arraySplice(l.__parent._childClusters,l),l.__parent._markers.push(h),h.__parent=l.__parent,l._icon&&(s.removeLayer(l),i||s.addLayer(h))):l._iconNeedsUpdate=!0,l=l.__parent;delete e.__parent},_isOrIsParent:function(e,t){for(;t;){if(e===t)return!0;t=t.parentNode}return!1},fire:function(e,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;e=\\\"cluster\\\"+e}L.FeatureGroup.prototype.fire.call(this,e,t,i)},listens:function(e,t){return L.FeatureGroup.prototype.listens.call(this,e,t)||L.FeatureGroup.prototype.listens.call(this,\\\"cluster\\\"+e,t)},_defaultIconCreateFunction:function(e){var t=e.getChildCount(),i=\\\" marker-cluster-\\\";return i+=10>t?\\\"small\\\":100>t?\\\"medium\\\":\\\"large\\\",new L.DivIcon({html:\\\"\u003Cdiv>\u003Cspan>\\\"+t+\\\"\u003C/span>\u003C/div>\\\",className:\\\"marker-cluster\\\"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick;(t||n)&&this.on(\\\"clusterclick\\\",this._zoomOrSpiderfy,this),i&&(this.on(\\\"clustermouseover\\\",this._showCoverage,this),this.on(\\\"clustermouseout\\\",this._hideCoverage,this),e.on(\\\"zoomend\\\",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){for(var t=e.layer,i=t;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,n=this._map;(e||i)&&this.off(\\\"clusterclick\\\",this._zoomOrSpiderfy,this),t&&(this.off(\\\"clustermouseover\\\",this._showCoverage,this),this.off(\\\"clustermouseout\\\",this._hideCoverage,this),n.off(\\\"zoomend\\\",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,n=i;\\\"function\\\"!=typeof i&&(n=function(){return i}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var r=e;r>=t;r--)this._gridClusters[r]=new L.DistanceGrid(n(r)),this._gridUnclustered[r]=new L.DistanceGrid(n(r));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,n,r=this._gridClusters,s=this._gridUnclustered,o=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=o;t--){i=this._map.project(e.getLatLng(),t);var a=r[t].getNearObject(i);if(a)return a._addChild(e),e.__parent=a,void 0;if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);r[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l,e.__parent=l;var u=l;for(n=t-1;n>h._zoom;n--)u=new this._markerCluster(this,n,u),r[n].addObject(u,this._map.project(a.getLatLng(),n));return h._addChild(u),this._removeFromGridUnclustered(a,t),void 0}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;e\u003Cthis._queue.length;e++)this._queue[e].call(this);this._queue.length=0,clearTimeout(this._queueTimeout),this._queueTimeout=null},_mergeSplitClusters:function(){var e=Math.round(this._map._zoom);this._processQueue(),this._zoom\u003Ce&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,e)):this._zoom>e?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return void 0!==t&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()\u003C=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,n=e.getLayers(),r=0;for(t=t||[];r\u003Cn.length;r++)i=n[r],i instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(e){var t=e.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[e]}});return t}});L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))}),L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire(\\\"animationend\\\")},_animationZoomOut:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire(\\\"animationend\\\")},_animationAddLayer:function(e,t){this._animationAddLayerNonAnimated(e,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=\\\" leaflet-cluster-anim\\\",this._inZoomAnimation++},_animationZoomIn:function(e,t){var i,n=this._getExpandedVisibleBounds(),r=this._featureGroup,s=Math.floor(this._map.getMinZoom());this._ignoreMove=!0,this._topClusterLevel._recursively(n,e,s,function(s){var o,a=s._latlng,h=s._markers;for(n.contains(a)||(a=null),s._isSingleParent()&&e+1===t?(r.removeLayer(s),s._recursivelyAddChildrenToMap(null,t,n)):(s.clusterHide(),s._recursivelyAddChildrenToMap(a,t,n)),i=h.length-1;i>=0;i--)o=h[i],n.contains(o._latlng)||r.removeLayer(o)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(n,e,t,function(e){e._recursivelyRestoreChildPositions(t)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(n,e,s,function(e){r.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,n=this._featureGroup;n.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){n.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,i){var n=this._getExpandedVisibleBounds(),r=Math.floor(this._map.getMinZoom());e._recursivelyAnimateChildrenInAndAddSelfToMap(n,r,t+1,i);var s=this;this._forceLayout(),e._recursivelyBecomeVisible(n,i),this._enqueue(function(){if(1===e._childCount){var o=e._markers[0];this._ignoreMove=!0,o.setLatLng(o.getLatLng()),this._ignoreMove=!1,o.clusterShow&&o.clusterShow()}else e._recursively(n,i,r,function(e){e._recursivelyRemoveChildrenFromMap(n,r,t+1)});s._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(\\\" leaflet-cluster-anim\\\",\\\"\\\")),this._inZoomAnimation--,this.fire(\\\"animationend\\\")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var i=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,i,n){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),n&&this._addChild(n)},getAllChildMarkers:function(e){e=e||[];for(var t=this._childClusters.length-1;t>=0;t--)this._childClusters[t].getAllChildMarkers(e);for(var i=this._markers.length-1;i>=0;i--)e.push(this._markers[i]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,i=this._childClusters.slice(),n=this._group._map,r=n.getBoundsZoom(this._bounds),s=this._zoom+1,o=n.getZoom();i.length>0&&r>s;){s++;var a=[];for(t=0;t\u003Ci.length;t++)a=a.concat(i[t]._childClusters);i=a}r>s?this._group._map.setView(this._latlng,s):o>=r?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,n,r=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e\u003Cr.length;e++)i=r[e]._latlng,this._bounds.extend(i),o+=i.lat,a+=i.lng;for(e=0;e\u003Cs.length;e++)t=s[e],t._boundsNeedUpdate&&t._recalculateBounds(),this._bounds.extend(t._bounds),i=t._wLatLng,n=t._childCount,o+=i.lat*n,a+=i.lng*n;this._latlng=this._wLatLng=new L.LatLng(o/h,a/h),this._boundsNeedUpdate=!1}},_addToMap:function(e){e&&(this._backupLatlng=this._latlng,this.setLatLng(e)),this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(e,t,i){this._recursively(e,this._group._map.getMinZoom(),i-1,function(e){var i,n,r=e._markers;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())},function(e){var i,n,r=e._childClusters;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,i,n){this._recursively(e,n,t,function(r){r._recursivelyAnimateChildrenIn(e,r._group._map.latLngToLayerPoint(r.getLatLng()).round(),i),r._isSingleParent()&&i-1===n?(r.clusterShow(),r._recursivelyRemoveChildrenFromMap(e,t,i)):r.clusterHide(),r._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(e,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(n){if(t!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var s=n._markers[r];i.contains(s._latlng)&&(e&&(s._backupLatlng=s.getLatLng(),s.setLatLng(e),s.clusterHide&&s.clusterHide()),n._group._featureGroup.addLayer(s))}},function(t){t._addToMap(e)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i,n){var r,s;this._recursively(e,t-1,i-1,function(e){for(s=e._markers.length-1;s>=0;s--)r=e._markers[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())},function(e){for(s=e._childClusters.length-1;s>=0;s--)r=e._childClusters[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())})},_recursively:function(e,t,i,n,r){var s,o,a=this._childClusters,h=this._zoom;if(h>=t&&(n&&n(this),r&&h===i&&r(this)),t>h||i>h)for(s=a.length-1;s>=0;s--)o=a[s],e.intersects(o._bounds)&&o._recursively(e,t,i,n,r)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){return this.options.opacityWhenUnclustered=this.options.opacity||1,this.setOpacity(0)},clusterShow:function(){var e=this.setOpacity(this.options.opacity||this.options.opacityWhenUnclustered);return delete this.options.opacityWhenUnclustered,e}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),n=this._getCoord(t.y),r=this._grid,s=r[n]=r[n]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,n,r=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[r]=a[r]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,n=h.length;n>i;i++)if(h[i]===e)return h.splice(i,1),1===n&&delete a[r],!0},eachObject:function(e,t){var i,n,r,s,o,a,h,l=this._grid;for(i in l){o=l[i];for(n in o)for(a=o[n],r=0,s=a.length;s>r;r++)h=e.call(t,a[r]),h&&(r--,s--)}},getNearObject:function(e){var t,i,n,r,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,c=null;for(t=u-1;u+1>=t;t++)if(r=this._grid[t])for(i=l-1;l+1>=i;i++)if(s=r[i])for(n=0,o=s.length;o>n;n++)a=s[n],h=this._sqDist(_[L.Util.stamp(a)],e),(d>h||d>=h&&null===c)&&(d=h,c=a);return c},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n}},function(){L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat,n=t[0].lng-t[1].lng;return n*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,n,r,s=0,o=null,a=[];for(i=t.length-1;i>=0;i--)n=t[i],r=this.getDistant(n,e),r>0&&(a.push(n),r>s&&(s=r,o=n));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],n=this.findMostDistantPointFromBaseLine(e,t);return n.maxPoint?(i=i.concat(this.buildConvexHull([e[0],n.maxPoint],n.newPoints)),i=i.concat(this.buildConvexHull([n.maxPoint,e[1]],n.newPoints))):[e[0]]},getConvexHull:function(e){var t,i=!1,n=!1,r=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;t>=0;t--){var d=e[t];(i===!1||d.lat>i)&&(o=d,i=d.lat),(n===!1||d.lat\u003Cn)&&(a=d,n=d.lat),(r===!1||d.lng>r)&&(h=d,r=d.lng),(s===!1||d.lng\u003Cs)&&(l=d,s=d.lng)}n!==i?(_=a,u=o):(_=l,u=h);var c=[].concat(this.buildConvexHull([_,u],e),this.buildConvexHull([u,_],e));return c}}}(),L.MarkerCluster.include({getConvexHull:function(){var e,t,i=this.getAllChildMarkers(),n=[];for(t=i.length-1;t>=0;t--)e=i[t].getLatLng(),n.push(e);return L.QuickHull.getConvexHull(n)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(),i=this._group,n=i._map,r=n.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,t.length>=this._circleSpiralSwitchover?e=this._generatePointsSpiral(t.length,r):(r.y+=10,e=this._generatePointsCircle(t.length,r)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e),s=r/this._2PI,o=this._2PI/e,a=[];for(s=Math.max(s,35),a.length=e,i=0;e>i;i++)n=this._circleStartAngle+i*o,a[i]=new L.Point(t.x+s*Math.cos(n),t.y+s*Math.sin(n))._round();return a},_generatePointsSpiral:function(e,t){var i,n=this._group.options.spiderfyDistanceMultiplier,r=n*this._spiralLengthStart,s=n*this._spiralFootSeparation,o=n*this._spiralLengthFactor*this._2PI,a=0,h=[];for(h.length=e,i=e;i>=0;i--)e>i&&(h[i]=new L.Point(t.x+r*Math.cos(a),t.y+r*Math.sin(a))._round()),a+=s/r+5e-4*i,r+=o/a;return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,n=i._map,r=i._featureGroup,s=this.getAllChildMarkers();for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;t>=0;t--)e=s[t],r.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(n.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire(\\\"unspiderfied\\\",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,n,r,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i\u003Ce.length;i++)s=a.layerPointToLatLng(t[i]),n=e[i],r=new L.Polyline([this._latlng,s],l),a.addLayer(r),n._spiderLeg=r,n._preSpiderfyLatlng=n._latlng,n.setLatLng(s),n.setZIndexOffset&&n.setZIndexOffset(1e6),h.addLayer(n);this.setOpacity(.3),o._ignoreMove=!1,o.fire(\\\"spiderfied\\\",{cluster:this,markers:e})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerCluster.include({_animationSpiderfy:function(e,t){var i,n,r,s,o,a,h=this,l=this._group,u=l._map,_=l._featureGroup,d=this._latlng,c=u.latLngToLayerPoint(d),p=L.Path.SVG,f=L.extend({},this._group.options.spiderLegPolylineOptions),m=f.opacity;for(void 0===m&&(m=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),p?(f.opacity=0,f.className=(f.className||\\\"\\\")+\\\" leaflet-cluster-spider-leg\\\"):f.opacity=m,l._ignoreMove=!0,i=0;i\u003Ce.length;i++)n=e[i],a=u.layerPointToLatLng(t[i]),r=new L.Polyline([d,a],f),u.addLayer(r),n._spiderLeg=r,p&&(s=r._path,o=s.getTotalLength()+.1,s.style.strokeDasharray=o,s.style.strokeDashoffset=o),n.setZIndexOffset&&n.setZIndexOffset(1e6),n.clusterHide&&n.clusterHide(),_.addLayer(n),n._setPos&&n._setPos(c);for(l._forceLayout(),l._animationStart(),i=e.length-1;i>=0;i--)a=u.layerPointToLatLng(t[i]),n=e[i],n._preSpiderfyLatlng=n._latlng,n.setLatLng(a),n.clusterShow&&n.clusterShow(),p&&(r=n._spiderLeg,s=r._path,s.style.strokeDashoffset=0,r.setStyle({opacity:m}));this.setOpacity(.3),l._ignoreMove=!1,setTimeout(function(){l._animationEnd(),l.fire(\\\"spiderfied\\\",{cluster:h,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,n,r,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(),c=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;i>=0;i--)t=d[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),c&&(n=t._spiderLeg,r=n._path,s=r.getTotalLength()+.1,r.style.strokeDashoffset=s,n.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&e++;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),e>1&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire(\\\"unspiderfied\\\",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on(\\\"click\\\",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on(\\\"zoomstart\\\",this._unspiderfyZoomStart,this),this._map.on(\\\"zoomend\\\",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off(\\\"click\\\",this._unspiderfyWrapper,this),this._map.off(\\\"zoomstart\\\",this._unspiderfyZoomStart,this),this._map.off(\\\"zoomanim\\\",this._unspiderfyZoomAnim,this),this._map.off(\\\"zoomend\\\",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()\\n},_unspiderfyZoomStart:function(){this._map&&this._map.on(\\\"zoomanim\\\",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,\\\"leaflet-touching\\\")||(this._map.off(\\\"zoomanim\\\",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=i});\\n//# sourceMappingURL=leaflet.markercluster.js.map\\n}\\n\",\n \"type\": \"application/javascript\",\n \"title\": \"$:/plugins/sycom/leaflet/lib/leaflet-markercluster.js\",\n \"module-type\": \"library\"\n },\n \"$:/plugins/sycom/leaflet/mapCssTweaks.css.tid\": {\n \"title\": \"$:/plugins/sycom/leaflet/mapCssTweaks.css.tid\",\n \"created\": \"20161028202401905\",\n \"modified\": \"20161111151011600\",\n \"tags\": \"[[$:/tags/Stylesheet]]\",\n \"text\": \"\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\\n\\n/* add some styling tweaks to leaflet */\\n.leaflet-right {\\n\\tmax-width:50%\\n}\\n.leaflet-popup-content h6 {\\n\\tfont-size:.7rem;\\n\\tmargin:0 0 .2rem 0\\n}\\n\\n.leaflet-control-attribution {\\n\\theight:1.5em;\\n}\\n.leaflet-control-attribution:hover {\\n\\theight:auto;\\n}\\n\\n.leaflet-top, .leaflet-bottom {\\n z-index:999;\\n}\\n\\n/* solve conflict between tw and leaflet */\\n.leaflet-zoom-animated {max-width: initial !important}\\n\\n/* solve background image problem for layer control */\\n.leaflet-control-layers-toggle {\\n\\tbackground-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20height%3D%2226%22%20width%3D%2226%22%3E%3Cpath%20d%3D%22M.032%2017.056l13-8%2013%208-13%208-13-8%22%20fill%3D%22%23b9b9b9%22/%3E%3Cpath%20d%3D%22M.032%2017.056l-.032.93%2013%208%2013-8%20.032-.93-13%208z%22%20fill%3D%22%23737373%22/%3E%3Cpath%20d%3D%22M0%2013.076l13-8%2013%208-13%208-13-8%22%20fill%3D%22%23cdcdcd%22/%3E%3Cpath%20d%3D%22M0%2013.076v.91l13%208%2013-8v-.91l-13%208z%22%20fill%3D%22%23737373%22/%3E%3Cpath%20d%3D%22M0%208.986l13-8%2013%208-13%208-13-8%22%20fill-opacity%3D%22.585%22%20stroke%3D%22%23797979%22%20stroke-width%3D%22.1%22%20fill%3D%22%23e9e9e9%22/%3E%3Cpath%20d%3D%22M0%208.986v1l13%208%2013-8v-1l-13%208z%22%20fill%3D%22%23737373%22/%3E%3C/svg%3E') !important\\n}\\n\\n/* default polygon stylin */\\n.polyline {fill:none}\\n.leaflet-popup-content ul {padding:0 1em}\\n\\n/* some styling for clusters */\\n.marker-cluster div {\\n min-width:16px;min-height:16px;\\n border-radius:50%;border:none;\\n vertical-align:middle;text-align:center;font-weight:bold\\n }\\n.marker-cluster div div{width:100%;height:100%}\\n.marker-cluster div span {display:block;text-shadow:0px 0px 6px #ffffff}\\n\\npath.leaflet-clickable {fill:\u003C\u003Ccolour primary>>;fill-opacity: 0.5;stroke:\u003C\u003Ccolour primary>>}\\n.leaflet-marker-colored {fill:\u003C\u003Ccolour primary>>}\\n\"\n },\n \"$:/plugins/sycom/leaflet/mapWidget.tid\": {\n \"title\": \"$:/plugins/sycom/leaflet/mapWidget.tid\",\n \"text\": \"/*\\\\\\ncreated: 20151028202401905\\nmodified: 20170318234011605\\ntitle: $:/plugins/sycom/leaflet/mapWidget.tid\\ntype: application/javascript\\nmodule-type: widget\\n\\nA widget for displaying leaflet map in TiddlyWiki\\n\\n\\\\*/\\n\\n(function() {\\n /* ----------------------- */\\n /*jslint node: true, browser: true */\\n /*global $tw: false */\\n \\\"use strict\\\";\\n var Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget,\\n L = require(\\\"$:/plugins/sycom/leaflet/lib/leaflet.js\\\"),\\n markerClusterGroup = require(\\\"$:/plugins/sycom/leaflet/lib/leaflet-markercluster.js\\\");\\n\\n var mapWidget = function(parseTreeNode, options) {\\n this.initialise(parseTreeNode, options);\\n };\\n\\n // global vars\\n var Map = [], // map collection\\n map = 0, // map order number\\n tn = 0, // tiddler number\\n fCluster = [], // the clusters\\n Colour = [], // the colors\\n clusterRadius = [], // cluster radii\\n clusterType = [], // clustering for whole map or for each tiddler\\n lfltDefBounds = [\\n [52.75, -2.55],\\n [52.85, -2.65]\\n ], // default bounds when nothing given\\n bounds, // global bounds for map ?todo one per map?\\n iter = [], // iteration indicator to avoid infinite loops\\n setting = {}; // the map's settings\\n\\n /* Inherit from the base widget class */\\n mapWidget.prototype = new Widget();\\n\\n /* Render this widget into the DOM */\\n mapWidget.prototype.render = function(parent, nextSibling) {\\n bounds = null;\\n // Compute our attributes\\n this.computeAttributes();\\n // Get the base settings for rendering : width / height (default : 100% / 500px)\\n // !todo : make a settings tidller in order to let user set it for the whole wiki (may be inspired from roadtree)\\n // !todo what happens if windows is resized?\\n var width = this.getAttribute(\\\"width\\\", \\\"100%\\\"),\\n height = this.getAttribute(\\\"height\\\", \\\"420px\\\");\\n // creating the div container\\n var div = this.document.createElement(\\\"div\\\");\\n div.setAttribute(\\\"id\\\", \\\"lfltMap-\\\" + map);\\n div.setAttribute(\\\"style\\\", \\\"width:\\\" + width + \\\";height:\\\" + height);\\n // Save the parent dom node\\n this.parentDomNode = parent;\\n // Compute our attributes\\n // this.computeAttributes();\\n // create the container\\n parent.insertBefore(div, nextSibling);\\n this.domNodes.push(div);\\n // Create the map\\n this.createMap();\\n // Execute our logic\\n this.execute();\\n // increment map number indicator\\n map += 1;\\n };\\n\\n /* Create the map for the widget */\\n mapWidget.prototype.createMap = function(parent, nextSibling) {\\n // create the leaflet and push it to #lfltMap\\n Map[map] = L.map('lfltMap-' + map);\\n // Install base tile layer (if none provided, default is \\\"osm\\\")\\n // get tilelayers from JSON\\n var fonds = JSON.parse(this.wiki.getTiddlerText(\\\"$:/plugins/sycom/leaflet/lib/tileLayers.json\\\"));\\n // create tile layers list object from json list\\n var Tiles = []; // leaflet tile layers\\n var tiles = {}; // tile identifier for control\\n // look for tile parameter\\n setting.tile = this.getAttribute(\\\"tile\\\", \\\"osm\\\");\\n setting.marker = this.getAttribute(\\\"marker\\\", null);\\n // create tile layer list\\n for (var i in fonds) {\\n if (i == setting.tile || fonds[i].id == setting.tile) {\\n setting.tile = fonds[i].id;\\n }\\n var couche = new L.TileLayer(fonds[i].url, {\\n attribution: fonds[i].attrib,\\n minZoom: fonds[i].zMin,\\n maxZoom: fonds[i].zMax,\\n unloadInvisibleTiles: true\\n });\\n Tiles[fonds[i].id] = couche;\\n tiles[fonds[i].nom] = couche;\\n }\\n // if user entered a wrong tile id\\n if (Tiles[setting.tile] === undefined) {\\n setting.tile = \\\"osm\\\";\\n $tw.utils.error(\\\"Seems you entered a wrong tile id, displayed osm instead. Please refer to plugin documentation to avoid this - error : \\\" + error);\\n }\\n Tiles[setting.tile].addTo(Map[map]);\\n // install tile layer control if needed\\n setting.tileControl = this.getAttribute(\\\"tileControl\\\");\\n if (setting.tileControl) {\\n var tControl = L.control.layers(tiles);\\n tControl.addTo(Map[map]);\\n }\\n /* !todo to come next (will have to implement leaflet.draw extension)\\n // look for draw parameter\\n setting.drawControl = this.getAttribute(\\\"drawControl\\\");\\n if (setting.drawControl) {\\n // Initialize the FeatureGroup to store editable layers\\n var drawnItems = new L.FeatureGroup();\\n Map[map].addLayer(drawnItems);\\n // Initialize the draw control and pass it the FeatureGroup of editable layers\\n var drawControl = new L.Control.Draw({\\n edit: {\\n featureGroup: drawnItems\\n }\\n }\\n );\\n Map[map].addControl(drawControl);\\n }\\n*/\\n };\\n\\n /* Compute the internal state of the widget */\\n mapWidget.prototype.execute = function() {\\n // getting wiki primary color\\n // check if you defined a tiddler name for palette but no tiddler with that\\n if(this.wiki.getTiddlerData(this.wiki.getTiddlerText(\\\"$:/palette\\\"))) Colour.wiki = this.wiki.getTiddlerData(this.wiki.getTiddlerText(\\\"$:/palette\\\")).primary;\\n // switch back to basic blue\\n else Colour.wiki = \\\"#5778d8\\\";\\n\\n // switch back to basic tiddlywiki blue if primary is defined from another color\\n /* notes to upgrade this process\\n if primaire is \u003C\u003Ccolour xxxx>> set to default gray\\n if primaire.match(\\\"\u003C\u003C\\\") primaire=\\\"#555\\\"; */\\n if (Colour.wiki.match(/\u003C/g)) Colour.wiki = \\\"#5778d8\\\";\\n\\n // getting style parameters\\n var style = this.getAttribute(\\\"style\\\", undefined);\\n var st;\\n // case style defined\\n if(style !== undefined) {\\n st = JSON.parse(style);\\n // color parameter will overwrite style color and style fillColor parameter\\n if(st.fillColor) Colour[map] = this.getAttribute(\\\"color\\\", st.fillColor);\\n else Colour[map] = this.getAttribute(\\\"color\\\", st.color);\\n }\\n // case style undefined\\n else {\\n st = null;\\n // checking if user defined a color if no color go undefined\\n Colour[map] = this.getAttribute(\\\"color\\\", undefined);\\n }\\n // create default icon\\n // ?todo: only if there are points to display?\\n L.icon.default = lfltIcon(setColor(null, map), setting.marker, map);\\n\\n // create whole map cluster\\n // getting cluster size parameter, if exists\\n clusterRadius[map] = this.getAttribute(\\\"cluster\\\", 80);\\n clusterType[map] = this.getAttribute(\\\"clusterType\\\", \\\"map\\\");\\n if (clusterRadius[map] === 0 || clusterType[map] == \\\"tiddler\\\") {\\n // if clusterRadius null or clustering by tiddler, no whole clustering\\n fCluster[map] = L.featureGroup();\\n } else {\\n // creating a cluter group for whole map\\n fCluster[map] = L.markerClusterGroup({\\n name: \\\"Cluster\\\" + map,\\n polygonOptions: {\\\"weight\\\":\\\"0.5\\\"},\\n maxClusterRadius: clusterRadius[map],\\n /* for the record. may be a function\\n function() {return (clusterRadius - 50) / 9 * Map[map].getZoom() + 50 - (clusterRadius - 50) / 9 },*/\\n iconCreateFunction: createCluster\\n });\\n }\\n // Get the declared places from the attributes\\n var places = this.getAttribute(\\\"places\\\", undefined);\\n var feature = L.featureGroup();\\n // Render the map\\n if (places) mapPlaces(this,\\n JSON.parse(places),\\n Map[map],\\n fCluster[map],\\n null,\\n Colour[map],\\n this.getAttribute(\\\"marker\\\"),\\n st\\n );\\n\\n // set map to objects bounds\\n if (bounds) {\\n Map[map].fitBounds(bounds);\\n } else {\\n bounds = lfltDefBounds;\\n Map[map].fitBounds(bounds);\\n }\\n // if lat long zoom settings, overwrite bounds\\n setting.lat = this.getAttribute(\\\"lat\\\");\\n setting.lg = this.getAttribute(\\\"long\\\");\\n setting.zoom = this.getAttribute(\\\"zoom\\\");\\n // overwrite lat and long center\\n if (setting.lat && setting.lg) {\\n Map[map].setView([setting.lat, setting.lg]);\\n }\\n // overwrite zoom\\n if (setting.zoom) {\\n Map[map].setZoom(setting.zoom);\\n }\\n };\\n\\n // mapping a places json object (parent object, places json object, destination feature, destination cluster, popup for base objects, ands style parameters : color, marker, json style)\\n function mapPlaces(obj, plcs, feat, clust, pop, col, mark, style) {\\n // create feature for this mapping turn\\n var feature = L.featureGroup();\\n // case 1 : data in a tiddler\\n if (plcs.tiddler) {\\n // if no tiddler is given (single space) map current Tiddler\\n // !todo would be much better if so when no attribute at all...\\n if (plcs.tiddler == \\\" \\\") {\\n mapTiddler(obj, obj.getVariable(\\\"currentTiddler\\\"), feature, clust, pop, col, mark, style);\\n }\\n // else, map the given tiddler\\n else {\\n // get data fields in the tiddler, let's seek for geo data\\n mapTiddler(obj, plcs.tiddler, feature, clust, pop, col, mark, style);\\n }\\n }\\n // case 2 : data in multiple tiddlers\\n if (plcs.tiddlers) {\\n mapTiddlers(obj, plcs.tiddlers, feature, clust, pop, col, mark, style);\\n }\\n // case 3 : data in tiddlers following a filter\\n if (plcs.filter) {\\n mapFilter(obj, plcs.filter, feature, clust, pop, col, mark, style);\\n }\\n // case 4 : data are directly listed in places (point(s) - polygon - polyline - geojson)\\n // for each we will\\n // - use dedicated function to populate mapping turn layer\\n // - add layer to map\\n if (plcs.point) {\\n // add the point to the cluster layer\\n mapPoint(plcs.point, clust, pop, col, mark);\\n // add the cluster layer to map\\n feature.addLayer(clust);\\n // set bounds\\n }\\n if (plcs.points) {\\n // ?todo : create a cluster for those points if clusterType == \\\"tiddler\\\"\\n mapPoints(plcs.points, clust, pop, col, mark);\\n feature.addLayer(clust);\\n }\\n if (plcs.polygon) {\\n var polygFeat = L.featureGroup();\\n mapPolyg(plcs.polygon, polygFeat, pop, col, style);\\n polygFeat.addTo(feature);\\n }\\n if (plcs.polygons) {\\n var polygsFeat = L.featureGroup();\\n mapPolygs(plcs.polygons, polygsFeat, pop, col, style);\\n polygsFeat.addTo(feature);\\n }\\n if (plcs.polyline) {\\n var polylFeat = L.featureGroup();\\n mapPolyl(plcs.polyline, polylFeat, pop, col, style);\\n polylFeat.addTo(feature);\\n }\\n if (plcs.polylines) {\\n var polylsFeat = L.featureGroup();\\n mapPolyls(plcs.polylines, polylsFeat, pop, col, style);\\n polylsFeat.addTo(feature);\\n }\\n if (plcs.geojson) {\\n // !todo : create a cluster for those points if clusterType == \\\"tiddler\\\"\\n var geojsonFeat = L.featureGroup();\\n mapGeoJson(plcs.geojson, geojsonFeat, clust, col, mark, style);\\n geojsonFeat.addTo(feat);\\n }\\n // add feature to map\\n feature.addTo(feat);\\n extBounds(feature);\\n }\\n\\n // add a marker for a point\\n function mapPoint(coord, clust, pop, col, mark) {\\n try {\\n var location = coord.split(\\\",\\\");\\n } catch (err) {displayError(\\\"point coord error\\\", err);}\\n try {\\n var marker = L.marker(location, {\\n icon: lfltIcon(col, mark, map)\\n });\\n if (pop) marker.bindPopup(pop);\\n\\t\\t\\tif (clust.count) clust.count +=1;\\n\\t\\t\\telse clust.count = 1;\\n clust.addLayer(marker);\\n } catch (err) {displayError(\\\"point marker error\\\", err);}\\n }\\n // add a marker serie for a points list\\n function mapPoints(list, clust, pop, col, mark) {\\n var Points = list.split(\\\" \\\");\\n for (var pt in Points) {\\n mapPoint(Points[pt], clust, pop, col, mark);\\n }\\n }\\n\\n // add a polygon\\n function mapPolyg(list, feat, pop, col, st) {\\n var Coords = list.split(\\\" \\\");\\n var Shape = [];\\n try {\\n for (var nd in Coords) {\\n var location = Coords[nd].split(\\\",\\\");\\n Shape.push(location);\\n }\\n } catch (err) {\\n displayError(\\\"polygone\\\", err);\\n }\\n try {\\n var polygon = L.polygon(Shape, {\\n color: setColor(col, map)\\n });\\n if (st) polygon.setStyle(checkStyle(st, col));\\n if (pop) polygon.bindPopup(pop);\\n polygon.addTo(feat);\\n } catch (err) {\\n displayError(\\\"polygone\\\", err);\\n }\\n }\\n // add a polygons collection\\n function mapPolygs(collec, feat, pop, col, st) {\\n var Polys = collec.split(\\\"|\\\");\\n for (var pg in Polys) {\\n mapPolyg(Polys[pg], feat, pop, col, st);\\n }\\n }\\n // add a polyline\\n function mapPolyl(list, feat, pop, col, st) {\\n var Coords = list.split(\\\" \\\");\\n var Line = [];\\n try {\\n for (var nd in Coords) {\\n var location = Coords[nd].split(\\\",\\\");\\n Line.push(location);\\n }\\n } catch (err) {\\n displayError(\\\"polyline\\\", err);\\n }\\n try {\\n var polyline = L.polyline(Line, {\\n color: setColor(col,map)\\n });\\n if (st) polyline.setStyle(checkStyle(st, col));\\n if (pop) polyline.bindPopup(pop);\\n // add polyline class in order to make fill transparent\\n polyline.setStyle({\\n \\\"className\\\": \\\"polyline\\\"\\n }).addTo(feat);\\n } catch (err) {\\n displayError(\\\"polyline\\\", err);\\n }\\n }\\n // add a polylines collection\\n function mapPolyls(collec, feat, pop, col, st) {\\n var Lines = collec.split(\\\"|\\\");\\n for (var ln in Lines) {\\n mapPolyl(Lines[ln], feat, pop, col, st);\\n }\\n }\\n\\n // add a geojson set\\n function mapGeoJson(geojson, feat, clust, col, mark, st) {\\n try {\\n var data = JSON.parse(geojson);\\n var geoJson = L.geoJSON(data, {\\n // adding style\\n style: function (feature) {\\n // get feature style only if style is not injected\\n // ?todo : only overwrite injected values?\\n if (st === undefined || st === null) {\\n st = {};\\n if(feature.properties.style !== undefined) st = feature.properties.style;\\n }\\n // get feature properties style if exists\\n if(feature.properties.color !== undefined) {\\n st.color = feature.properties.color;\\n st.fillColor = st.color;\\n }\\n // color parameter overwrite style color if exists\\n if (col !== undefined && col !== null) {\\n st.color = col;\\n st.fillColor = col;\\n }\\n // if no color is defined at the end, fallback\\n if (st.color === undefined) {\\n col = setColor(col, map);\\n st.color = col;\\n st.fillColor = col;\\n }\\n return st;\\n },\\n onEachFeature: function (feature, layer) {\\n layer.bindPopup(jsonPop(feature));\\n },\\n // adding points\\n pointToLayer: function(geoJsonPoint, latlng) {\\n // working to get color (from properties)\\n var cl;\\n if(geoJsonPoint.properties.color !== undefined) cl = geoJsonPoint.properties.color;\\n if(geoJsonPoint.properties.fillColor !== undefined) cl = geoJsonPoint.properties.fillColor;\\n if(col !== undefined && col !== null) cl = col;\\n // binding default icon\\n var jsonPoint = L.marker(latlng, {\\n icon: lfltIcon(cl, mark, map)\\n });\\n jsonPoint.bindPopup(jsonPop(geoJsonPoint));\\n\\t\\t\\t\\t\\tif (clust.count) clust.count +=1;\\n\\t\\t\\t\\t\\telse clust.count = 1;\\n clust.addLayer(jsonPoint);\\n }\\n });\\n\\n // ?todo : should we add clust to feat or to geoJson? should we add clust even if it's already here?\\n feat.addLayer(clust);\\n feat.addLayer(geoJson);\\n } catch (error) {displayError(\\\"there was an error when displaying geoJson. error : \\\", error);}\\n }\\n\\n // map a tiddler\\n function mapTiddler(obj, tid, feat, clust, pop, col, mark, style) {\\n if(iter.map.tid === undefined) iter.map.tid = 1;\\n else iter.map.tid +=1;\\n if(iter.map.tid \u003C 4242) {\\n // get data fields in the tiddler, let's seek for geo data\\n var flds = obj.wiki.getTiddler(tid).fields,\\n feature = L.featureGroup(), // create the tiddler feature\\n popup = \\\"\\\"; // create the popup text\\n // setting marker, color, style\\n // if no marker injected, trying to get from tiddler\\n if(mark === null || mark === undefined) {\\n if(flds.marker) mark = flds.marker;\\n }\\n // working style and color together\\n var cl, st = {};\\n // style\\n if(flds.style) st = JSON.parse(flds.style);\\n // overwrite with injected values\\n if (style !== undefined && style !== null) {\\n st = style;\\n /* ?todo : should we overwrite only injected?\\n \\tfor (var v in st) {\\n if(style.v !== undefined) st.v = style.v;\\n }\\n \\tfor (var v in style) {\\n \\t}*/\\n }\\n // color\\n if (flds.color) cl = flds.color;\\n // overwrite with injected color style if exists\\n if (style !== undefined && style !== null) {\\n if (st.fillColor !== undefined) cl = st.fillColor\\n }\\n // overwrite with injected color also in style\\n if (col !== undefined && col !== null) {\\n cl = col;\\n st.color = cl; st.fillColor = cl;\\n }\\n Colour[\\\"t\\\" + tn] = cl;\\n // if clusterType is tiddler, creating a cluster group for tiddler\\n // also will have to deal with the filter / tiddler distinction\\n if (clusterType[map] == \\\"tiddler\\\") {\\n // ?todo : automate cluster creation?\\n fCluster[\\\"t\\\" + tn] = L.markerClusterGroup({\\n name: \\\"Cluster\\\" + map + \\\"Cluster\\\" + tn,\\n polygonOptions: {\\\"weight\\\":\\\"0.5\\\"},\\n maxClusterRadius: clusterRadius[map],\\n /* for the record. may be a function\\n function() {return (clusterRadius - 50) / 9 * Map[map].getZoom() + 50 - (clusterRadius - 50) / 9 },*/\\n iconCreateFunction: createCluster\\n });\\n } else {\\n fCluster[\\\"t\\\" + tn] = fCluster[map];\\n }\\n\\n // case 1 : data stored in a json tiddler\\n if (flds.type == \\\"application/json\\\") {\\n // for now, assuming any json stored data is geoJson...\\n var data = obj.wiki.getTiddlerText(tid);\\n mapGeoJson(data, feature, fCluster[\\\"t\\\" + tn], Colour[\\\"t\\\" + tn], mark, st);\\n feat.addLayer(feature);\\n }\\n // case 2 if tiddler is not JSON data, display tiddler stored geodata as point(s), polygon, polyline...\\n else {\\n // create the popup for base objects\\n popup = \\\"\u003Ch4>\u003Ca href=\\\\\\\"#\\\" + encodeURIComponent(flds.title) + \\\"\\\\\\\">\\\" + flds.title + \\\"\u003C/a>\u003C/h4>\\\";\\n var content = \\\"\\\";\\n if (flds.text !== \\\"\\\") {\\n // if tiddler contains a widget, avoid html rendering\\n if (flds.text.match(/\u003C\\\\$leafmap/)) {\\n content += \\\"\u003Cpre>\\\" + flds.text + \\\"\u003C/pre>\\\";\\n }\\n // else render\\n else {\\n content += obj.wiki.renderTiddler(\\\"text/html\\\", tid).substring(0, 420);\\n }\\n }\\n // adding a link to the tiddler\\n content += \\\"\u003Cbr/>(\u003Ca href=\\\\\\\"#\\\" + encodeURIComponent(flds.title) + \\\"\\\\\\\" title=\\\\\\\"read more...\\\\\\\">...\u003C/a>)\\\";\\n popup += content;\\n\\n // map recursively (!!! danger !!!)\\n mapPlaces(obj,\\n flds,\\n feature,\\n fCluster[\\\"t\\\" + tn],\\n popup,\\n cl,\\n mark,\\n st\\n );\\n feature.addTo(feat);\\n }\\n /*\\n// check if anything was rendered before binding popup\\n if (wasRendered == 0) console.log(\\\"tw-leaflet-map-plugin > non geotiddler was listed and not rendered : \\\" + flds.title);\\n // add the layer to the feature\\n feature.addLayer(subFeat);\\n feature.addTo(Map[map]); // layer.addTo(Map[map]);\\n } */\\n // get layer bounds for automatic zoom\\n extBounds(feature);\\n tn++;\\n }\\n // it tiddler rendered two many times for same map. Stoping and error launch\\n else $tw.utils.error(\\\"tiddler [[\\\" + tid + \\\"]] was rendered more than 4242 times in this map. Please double check circular dependencies...\\\");\\n }\\n\\n // map a tiddler collection\\n function mapTiddlers(obj, list, feat, clust, pop, col, mark, style) {\\n var Tids = list.split(\\\" \\\");\\n for (var td in Tids) {\\n mapTiddler(obj, Tids[td], feat, clust, pop, col, mark, style);\\n }\\n }\\n\\n // map tiddlers with a filter\\n function mapFilter(obj, filter, feat, clust, pop, col, mark, style) {\\n try {\\n var Tids = obj.wiki.filterTiddlers(filter);\\n for (var td in Tids) {\\n mapTiddler(obj, Tids[td], feat, clust, pop, col, mark, style);\\n }\\n } catch (error) {\\n $tw.utils.error(\\\"sorry there was something wrong when trying to map your filter. error : \\\" + error);\\n }\\n }\\n\\n // icon url creator\\n function iconUrl(col, tid, m) {\\n var icone = escape($tw.wiki.renderTiddler(\\\"text/html\\\", tid).replace(\\\"$primary$\\\", setColor(col, m)).replace(\\\"\u003C/p>\\\", \\\"\\\").replace(\\\"\u003Cp>\\\", \\\"\\\"));\\n return ('data:image/svg+xml;charset=UTF-8,' + icone);\\n }\\n\\n // create marker\\n // ?todo only if there are points to display;\\n function lfltIcon(col, tid, m) {\\n // checking if marker is defined. Fallback to default\\n if(tid === undefined || tid === null) tid = \\\"$:/plugins/sycom/leaflet/images/marker.svg\\\";\\n else tid = \\\"$:/plugins/sycom/leaflet/images/\\\" + tid + \\\".svg\\\";\\n if($tw.wiki.getTiddler(tid) === undefined) tid = \\\"$:/plugins/sycom/leaflet/images/marker.svg\\\";\\n // !todo create shadow from icon by transform matrix?\\n var shad = tid.split(\\\".svg\\\")[0] + \\\"shadow.svg\\\",\\n shadowUrl = 'data:image/svg+xml;charset=UTF-8,' + escape($tw.wiki.getTiddlerText(shad));\\n // get dimensions in tiddler\\n var MarkDim = $tw.wiki.getTiddler(tid).fields.marker_dim.split(\\\" \\\");\\n var ShadDim = $tw.wiki.getTiddler(shad).fields.marker_dim.split(\\\" \\\");\\n var theIcon = L.icon({\\n iconUrl: iconUrl(col, tid, m),\\n iconRetinaUrl: iconUrl(col, tid, m),\\n iconSize: [MarkDim[0], MarkDim[1]],\\n iconAnchor: [MarkDim[2], MarkDim[3]],\\n popupAnchor: [0, -MarkDim[3]],\\n shadowUrl: shadowUrl,\\n shadowRetinaUrl: shadowUrl,\\n shadowSize: [ShadDim[0], ShadDim[1]],\\n shadowAnchor: [ShadDim[2], ShadDim[3]]\\n });\\n return theIcon;\\n }\\n\\n // set color with fallback to map color or wiki...\\n function setColor(col, m) {\\n if(m === undefined) m = map;\\n if (col === undefined || col === null) col = Colour[m];\\n if (col === undefined || col === null) col = Colour.wiki;\\n return col;\\n }\\n\\n // set style with fallback to map color or wiki...\\n function checkStyle(sty, col) {\\n if (col === undefined || col === null) {\\n if(sty.color === undefined) sty.color = setColor(col, map);\\n if(sty.fillColor === undefined) sty.fillColor = setColor(col, map);\\n }\\n else {\\n sty.color = col;\\n sty.fillColor = col;\\n }\\n return sty;\\n }\\n\\n // coordinate error message\\n function displayError(objectType, error) {\\n $tw.utils.error(\\\"there was an error when mapping a \\\" + objectType + \\\" - error : \\\" + error);\\n }\\n\\n // adjust bounds to layer\\n function extBounds(feat) {\\n try {\\n if (bounds) {\\n bounds.extend(feat.getBounds());\\n } else {\\n if (feat.getBounds()._northEast) {\\n bounds = feat.getBounds();\\n }\\n }\\n } catch (error) {\\n $tw.utils.error(\\\"there was an error when trying to zoom on bounds. error : \\\" + error);\\n }\\n }\\n\\n // cluster icon creation\\n function createCluster(clust) {\\n // getting back map number\\n var m = this.name.split(\\\"Cluster\\\")[1],\\n t = this.name.split(\\\"Cluster\\\")[2],\\n zC = Map[m].getZoom(),\\n z0,cTot,cCol,cOpa;\\n // checking object density mean for the map\\n if (t === undefined) {\\n if (fCluster[m].z0 === undefined) fCluster[m].z0 = zC;\\n z0 = fCluster[m].z0;\\n if (fCluster[m].count === undefined) fCluster[m].count = 1;\\n cTot = fCluster[m].count;\\n cCol = setColor(Colour[m],m);\\n cOpa = 0.85\\n }\\n else {\\n if (fCluster[\\\"t\\\" + t].z0 === undefined) fCluster[\\\"t\\\" + t].z0 = zC;\\n z0 = fCluster[\\\"t\\\" + t].z0;\\n if (fCluster[\\\"t\\\" + t].count === undefined) fCluster[\\\"t\\\" + t].count = 1;\\n cTot = fCluster[\\\"t\\\" + t].count;\\n cCol = setColor(Colour[\\\"t\\\" + t],m);\\n cOpa = 0.65\\n }\\n // cluster icon size will be based on item number and zoom\\n // !todo: use density to get a more \\\"local\\\" percentage before calculating size\\n var cC = clust.getChildCount(),\\n cS = 20 * Math.log(clusterRadius[m]) * (1 + Math.log(cTot)/Math.max(cTot * Math.pow(2,zC-z0),Math.log(cTot))) * (1 - 1 / ((Math.log(cTot) / cTot) * Math.pow(2,zC-z0) * cC + 1));\\n if (cS \u003C 34) cS = 34;\\n var cF; // font size of cluster text\\n if (cC > 9999) cF = cS / 3;\\n else {if (cC > 999) cF = cS / 3.5;\\n else cF = cS / 2}\\n if (cF \u003C 12) cF = 12;\\n // creating icon. Checking tiddler or whole clustering before\\n return new L.DivIcon({\\n html: '\u003Cdiv style=\\\"width:' + cS + 'px;height:' + cS + 'px;font-size:' + cF + 'px;background-color:' + cCol + ';border-color:' + cCol + ';opacity:'+cOpa+'\\\">\u003Cdiv>\u003Cspan style=\\\"line-height:' + cS + 'px;opacity:'+(cOpa+0.12)+'\\\">' + cC + \\\"\u003C/span>\u003C/div>\u003C/div>\\\",\\n className: \\\"marker-cluster marker-cluster-\\\" + cC,\\n iconSize: new L.Point(cS, cS)\\n });\\n }\\n\\n // popup function for Json\\n function jsonPop(feat) {\\n // extracting data to create popup (all non-null data!)\\n var Prop = feat.properties,\\n jsontitle = \\\"\\\",\\n jsondesc = \\\"\\\",\\n jsonhtml = \\\"\\\";\\n // testing if properties title or name exists\\n if (Prop.name) jsontitle += Prop.name + \\\" \\\";\\n if (Prop.title) jsontitle += Prop.title + \\\" \\\";\\n if (Prop.description) jsondesc += Prop.description + \\\"\\\";\\n // populating other data\\n // if we got a title\\n if (jsontitle !== \\\"\\\") {\\n jsonhtml += \\\"\u003Ch4>\\\" + jsontitle + \\\"\u003C/h4>\\\";\\n // if we got a description let's give it\\n if (jsondesc !== \\\"\\\") jsonhtml += jsondesc;\\n else {\\n jsonhtml+= \\\"\u003Cul>\\\";\\n for (var p in Prop) {\\n if (Prop[p] !== null && Prop[p] !== \\\"\\\" && p != \\\"name\\\" && p != \\\"title\\\") jsonhtml += \\\"\u003Cli>\\\" + p + \\\" : \\\" + Prop[p] + \\\"\u003C/li>\\\";\\n }\\n jsonhtml += \\\"\u003C/ul>\\\";\\n }\\n }\\n // if we have no title, giving one with first fields\\n else {\\n // in case we've got a description. Stop after title\\n if (jsondesc !== \\\"\\\") {\\n for (var pr in Prop) {\\n // if title is really to short (as an id), taking next field\\n if (jsontitle.length \u003C 8) jsontitle += Prop[pr] + \\\" \\\";\\n else break;\\n }\\n jsonhtml = \\\"\u003Ch4>\\\" + jsontitle + \\\"\u003C/h4>\\\" + jsonhtml;\\n }\\n else {\\n for (var po in Prop) {\\n // if title is really to short (as an id), taking next field\\n if (jsontitle.length \u003C 4) jsontitle += Prop[po] + \\\" \\\";\\n else {\\n if (Prop[po] !== null && Prop[po] !== \\\"\\\") jsonhtml += \\\"\u003Cli>\\\" + po + \\\" : \\\" + Prop[po] + \\\"\u003C/li>\\\";\\n }\\n }\\n jsonhtml = \\\"\u003Ch4>\\\" + jsontitle + \\\"\u003C/h4>\u003Cul>\\\" + jsonhtml + \\\"\u003C/ul>\\\";\\n }\\n }\\n return jsonhtml;\\n }\\n\\n exports.leafmap = mapWidget;\\n\\n})();\\n/*\\nMISC NOTES for later\\nJSON.parse(tiddler.fields.text);\\nvar jsonData = this.wiki.getTiddlerAsJson(this.to),\\n*/\\n\",\n \"created\": \"20151028202401905\",\n \"modified\": \"20170318234011605\",\n \"type\": \"application/javascript\",\n \"module-type\": \"widget\"\n },\n \"$:/plugins/sycom/leaflet/readme\": {\n \"title\": \"$:/plugins/sycom/leaflet/readme\",\n \"text\": \"The [leaflet plugin](#$:/plugins/sycom/leaflet) is a work in progress integration of the [leaflet][leaflet] library in TiddlyWiki in order to display geographical purpose tiddlers.\\n\\nHave a look at [demo page on the web][plugindemo] or at integrated documentation which describes usage and examples.\\n\\nKeep in mind that the plugin might be buggy or imperfect. Please [report any comment or issue][issues] on main repo.\\n\\n## Sources / licenses\\n* [leaflet][leaflet] library (_1.3.1_) - License 2-clause BSD\\n * leaflet-[markerCluster][markercluster] extension - Licence MIT\\n* [leaflet plugin][source] is released under similar [BSD 3-Clause license][license] as TiddlyWiki.\\n!! Side projects\\n\\n[plugindemo]: https://sycom.gitlab.io/TiddlyWiki-Plugins/#Michel%20Strogoff%20from%20the%20sky\\n[source]: https://framagit.org/sycom/TiddlyWiki-Plugins/plugins/sycom/leaflet\\n[issues]: https://framagit.org/sycom/TiddlyWiki-Plugins/issues\\n[leaflet]: http://leafletjs.com/\\n[markercluster]: https://github.com/Leaflet/Leaflet.markercluster\\n[license]: https://framagit.org/sycom/TiddlyWiki-Plugins/LICENSE.md\\n\",\n \"type\": \"text/x-markdown\",\n \"created\": \"20151119173416000\",\n \"modified\": \"20190332172200000\",\n \"caption\": \"Readme\"\n },\n \"$:/plugins/sycom/leaflet/templates/geoTiddler\": {\n \"title\": \"$:/plugins/sycom/leaflet/templates/geoTiddler\",\n \"created\": \"20180602095702318\",\n \"modified\": \"20180602105242971\",\n \"tags\": \"$:/tags/ViewTemplate\",\n \"type\": \"text/vnd.tiddlywiki\",\n \"text\": \"\u003C$list filter=\\\"[all[current]has[point]] [all[current]has[points]] [all[current]has[polyline]] [all[current]has[polylines]] [all[current]has[polygon]] [all[current]has[polygons]] [all[current]has[places]] [all[current]has[geojson]]\\\">\\n \u003C$leafmap places='{\\\"tiddler\\\":\\\" \\\"}' height='240px'/>\\n\u003C/$list>\\n\"\n }\n }\n}","bag":"default","revision":"0","version":"0.8.6","type":"application/json","title":"$:/plugins/sycom/leaflet","source":"https://framagit.org/sycom/TiddlyWiki-Plugins","plugin-type":"plugin","list":"readme usage geoSyntax tileLayers markers example","description":"Leaflet maps","dependents":"","core-version":">=5.0.0","author":"Sylvain Comte","modified":"20231007121836978","tags":"$:/isAttachment $:/isEmbedded"}, {"title":"$:/plugins/tiddlywiki/mobiledragdrop","name":"Mobile Drag Drop","description":"Mobile drag and drop shim","author":"Tim Ruffles","list":"readme license","version":"5.3.3","plugin-type":"plugin","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/plugins/tiddlywiki/mobiledragdrop/ios-drag-drop.js\":{\"text\":\"(function(doc) {\\n\\nfunction _exposeIosHtml5DragDropShim(config) {\\n log = noop; // noOp, remove this line to enable debugging\\n\\n var coordinateSystemForElementFromPoint;\\n\\n var DRAG_OVER_EMIT_FREQ = 50;\\n\\n function main() {\\n config = config || {};\\n if (!config.hasOwnProperty(\\\"simulateAnchorClick\\\")) config.simulateAnchorClick = true;\\n\\n coordinateSystemForElementFromPoint = navigator.userAgent.match(/OS [1-4](?:_\\\\d+)+ like Mac/) ? \\\"page\\\" : \\\"client\\\";\\n\\n var div = doc.createElement('div');\\n var dragDiv = 'draggable' in div;\\n var evts = 'ondragstart' in div && 'ondrop' in div;\\n\\n var needsPatch = !(dragDiv || evts) || /iPad|iPhone|iPod|Android/.test(navigator.userAgent);\\n log((needsPatch ? \\\"\\\" : \\\"not \\\") + \\\"patching html5 drag drop\\\");\\n\\n if(!needsPatch) {\\n return;\\n }\\n\\n if(!config.enableEnterLeave) {\\n DragDrop.prototype.synthesizeEnterLeave = noop;\\n }\\n\\n if(config.holdToDrag){\\n doc.addEventListener(\\\"touchstart\\\", touchstartDelay(config.holdToDrag), {passive:false});\\n }\\n else {\\n doc.addEventListener(\\\"touchstart\\\", touchstart, {passive:false});\\n }\\n }\\n\\n function DragDrop(event, el) {\\n\\n this.dragData = {};\\n this.dragDataTypes = [];\\n this.dragImage = null;\\n this.dragImageTransform = null;\\n this.dragImageWebKitTransform = null;\\n this.customDragImage = null;\\n this.customDragImageX = null;\\n this.customDragImageY = null;\\n this.el = el || event.target;\\n this.dragOverTimer = null;\\n this.lastMoveEvent = null;\\n\\n log(\\\"dragstart\\\");\\n\\n if (this.dispatchDragStart()) {\\n this.createDragImage();\\n this.listen();\\n }\\n }\\n\\n DragDrop.prototype = {\\n listen: function() {\\n var move = onEvt(doc, \\\"touchmove\\\", this.move, this);\\n var end = onEvt(doc, \\\"touchend\\\", ontouchend, this);\\n var cancel = onEvt(doc, \\\"touchcancel\\\", cleanup, this);\\n\\n function ontouchend(event) {\\n this.dragend(event, event.target);\\n cleanup.call(this);\\n }\\n function cleanup() {\\n log(\\\"cleanup\\\");\\n this.dragDataTypes = [];\\n if (this.dragImage !== null) {\\n this.dragImage.parentNode.removeChild(this.dragImage);\\n this.dragImage = null;\\n this.dragImageTransform = null;\\n this.dragImageWebKitTransform = null;\\n }\\n this.customDragImage = null;\\n this.customDragImageX = null;\\n this.customDragImageY = null;\\n this.el = this.dragData = null;\\n return [move, end, cancel].forEach(function(handler) {\\n return handler.off();\\n });\\n }\\n },\\n move: function(event) {\\n event.preventDefault();\\n var pageXs = [], pageYs = [];\\n [].forEach.call(event.changedTouches, function(touch) {\\n pageXs.push(touch.pageX);\\n pageYs.push(touch.pageY);\\n });\\n\\n var x = average(pageXs) - (this.customDragImageX || parseInt(this.dragImage.offsetWidth, 10) / 2);\\n var y = average(pageYs) - (this.customDragImageY || parseInt(this.dragImage.offsetHeight, 10) / 2);\\n this.translateDragImage(x, y);\\n\\n this.synthesizeEnterLeave(event);\\n this.synthesizeOver(event);\\n },\\n // We use translate instead of top/left because of sub-pixel rendering and for the hope of better performance\\n // http://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/\\n translateDragImage: function(x, y) {\\n var translate = \\\"translate(\\\" + x + \\\"px,\\\" + y + \\\"px) \\\";\\n\\n if (this.dragImageWebKitTransform !== null) {\\n this.dragImage.style[\\\"-webkit-transform\\\"] = translate + this.dragImageWebKitTransform;\\n }\\n if (this.dragImageTransform !== null) {\\n this.dragImage.style.transform = translate + this.dragImageTransform;\\n }\\n },\\n synthesizeEnterLeave: function(event) {\\n var target = elementFromTouchEvent(this.el,event)\\n if (target != this.lastEnter) {\\n if (this.lastEnter) {\\n this.dispatchLeave(event);\\n }\\n this.lastEnter = target;\\n if (this.lastEnter) {\\n this.dispatchEnter(event);\\n }\\n }\\n },\\n synthesizeOver: function(event) {\\n this.lastMoveEvent = event;\\n if(this.lastEnter && !this.dragOverTimer) {\\n this.dragOverTimer = setInterval(this.dispatchOver.bind(this), DRAG_OVER_EMIT_FREQ);\\n }\\n },\\n clearDragOverTimer: function() {\\n if(this.dragOverTimer) {\\n clearInterval(this.dragOverTimer);\\n this.dragOverTimer = null;\\n }\\n },\\n dragend: function(event) {\\n\\n // we'll dispatch drop if there's a target, then dragEnd.\\n // drop comes first http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-and-drop-processing-model\\n log(\\\"dragend\\\");\\n\\n if (this.lastEnter) {\\n this.dispatchLeave(event);\\n }\\n\\n var target = elementFromTouchEvent(this.el,event)\\n if (target) {\\n log(\\\"found drop target \\\" + target.tagName);\\n this.dispatchDrop(target, event);\\n } else {\\n log(\\\"no drop target\\\");\\n }\\n\\n var dragendEvt = doc.createEvent(\\\"Event\\\");\\n dragendEvt.initEvent(\\\"dragend\\\", true, true);\\n this.el.dispatchEvent(dragendEvt);\\n this.clearDragOverTimer();\\n },\\n dispatchDrop: function(target, event) {\\n var dropEvt = doc.createEvent(\\\"Event\\\");\\n dropEvt.initEvent(\\\"drop\\\", true, true);\\n\\n var touch = event.changedTouches[0];\\n var x = touch[coordinateSystemForElementFromPoint + 'X'];\\n var y = touch[coordinateSystemForElementFromPoint + 'Y'];\\n\\n var targetOffset = getOffset(target);\\n\\n dropEvt.offsetX = x - targetOffset.x;\\n dropEvt.offsetY = y - targetOffset.y;\\n\\n dropEvt.dataTransfer = {\\n types: this.dragDataTypes,\\n getData: function(type) {\\n return this.dragData[type];\\n }.bind(this),\\n dropEffect: \\\"move\\\"\\n };\\n dropEvt.preventDefault = function() {\\n // https://www.w3.org/Bugs/Public/show_bug.cgi?id=14638 - if we don't cancel it, we'll snap back\\n }.bind(this);\\n\\n once(doc, \\\"drop\\\", function() {\\n log(\\\"drop event not canceled\\\");\\n },this);\\n\\n target.dispatchEvent(dropEvt);\\n },\\n dispatchEnter: function(event) {\\n\\n var enterEvt = doc.createEvent(\\\"Event\\\");\\n enterEvt.initEvent(\\\"dragenter\\\", true, true);\\n enterEvt.dataTransfer = {\\n types: this.dragDataTypes,\\n getData: function(type) {\\n return this.dragData[type];\\n }.bind(this)\\n };\\n\\n var touch = event.changedTouches[0];\\n enterEvt.pageX = touch.pageX;\\n enterEvt.pageY = touch.pageY;\\n enterEvt.clientX = touch.clientX;\\n enterEvt.clientY = touch.clientY;\\n\\n this.lastEnter.dispatchEvent(enterEvt);\\n },\\n dispatchOver: function() {\\n\\n var overEvt = doc.createEvent(\\\"Event\\\");\\n overEvt.initEvent(\\\"dragover\\\", true, true);\\n overEvt.dataTransfer = {\\n types: this.dragDataTypes,\\n getData: function(type) {\\n return this.dragData[type];\\n }.bind(this)\\n };\\n\\n var touch = this.lastMoveEvent.changedTouches[0];\\n overEvt.pageX = touch.pageX;\\n overEvt.pageY = touch.pageY;\\n overEvt.clientX = touch.clientX;\\n overEvt.clientY = touch.clientY;\\n\\n this.lastEnter.dispatchEvent(overEvt);\\n },\\n dispatchLeave: function(event) {\\n\\n var leaveEvt = doc.createEvent(\\\"Event\\\");\\n leaveEvt.initEvent(\\\"dragleave\\\", true, true);\\n leaveEvt.dataTransfer = {\\n types: this.dragDataTypes,\\n getData: function(type) {\\n return this.dragData[type];\\n }.bind(this)\\n };\\n\\n var touch = event.changedTouches[0];\\n leaveEvt.pageX = touch.pageX;\\n leaveEvt.pageY = touch.pageY;\\n leaveEvt.clientX = touch.clientX;\\n leaveEvt.clientY = touch.clientY;\\n\\n this.lastEnter.dispatchEvent(leaveEvt);\\n this.lastEnter = null;\\n this.clearDragOverTimer();\\n },\\n dispatchDragStart: function() {\\n var evt = doc.createEvent(\\\"Event\\\");\\n evt.initEvent(\\\"dragstart\\\", true, true);\\n evt.dataTransfer = {\\n setData: function(type, val) {\\n this.dragData[type] = val;\\n if (this.dragDataTypes.indexOf(type) == -1) {\\n this.dragDataTypes[this.dragDataTypes.length] = type;\\n }\\n return val;\\n }.bind(this),\\n setDragImage: function(el, x, y){\\n this.customDragImage = el;\\n this.customDragImageX = x\\n this.customDragImageY = y\\n }.bind(this),\\n dropEffect: \\\"move\\\"\\n };\\n return this.el.dispatchEvent(evt);\\n },\\n createDragImage: function() {\\n if (this.customDragImage) {\\n this.dragImage = this.customDragImage.cloneNode(true);\\n duplicateStyle(this.customDragImage, this.dragImage);\\n } else {\\n this.dragImage = this.el.cloneNode(true);\\n duplicateStyle(this.el, this.dragImage);\\n }\\n this.dragImage.style.opacity = \\\"0.5\\\";\\n this.dragImage.style.position = \\\"absolute\\\";\\n this.dragImage.style.left = \\\"0px\\\";\\n this.dragImage.style.top = \\\"0px\\\";\\n this.dragImage.style.zIndex = \\\"999999\\\";\\n\\n var transform = this.dragImage.style.transform;\\n if (typeof transform !== \\\"undefined\\\") {\\n this.dragImageTransform = \\\"\\\";\\n if (transform != \\\"none\\\") {\\n this.dragImageTransform = transform.replace(/translate\\\\(\\\\D*\\\\d+[^,]*,\\\\D*\\\\d+[^,]*\\\\)\\\\s*/g, '');\\n }\\n }\\n\\n var webkitTransform = this.dragImage.style[\\\"-webkit-transform\\\"];\\n if (typeof webkitTransform !== \\\"undefined\\\") {\\n this.dragImageWebKitTransform = \\\"\\\";\\n if (webkitTransform != \\\"none\\\") {\\n this.dragImageWebKitTransform = webkitTransform.replace(/translate\\\\(\\\\D*\\\\d+[^,]*,\\\\D*\\\\d+[^,]*\\\\)\\\\s*/g, '');\\n }\\n }\\n\\n this.translateDragImage(-9999, -9999);\\n\\n doc.body.appendChild(this.dragImage);\\n }\\n };\\n\\n // delayed touch start event\\n function touchstartDelay(delay) {\\n return function(evt){\\n var el = evt.target;\\n\\n do {\\n if (elementIsDraggable(el)) {\\n var heldItem = function() {\\n end.off();\\n cancel.off();\\n scroll.off();\\n touchstart(evt);\\n };\\n\\n var onReleasedItem = function() {\\n end.off();\\n cancel.off();\\n scroll.off();\\n clearTimeout(timer);\\n };\\n\\n var timer = setTimeout(heldItem, delay);\\n\\n var end = onEvt(el, 'touchend', onReleasedItem, this);\\n var cancel = onEvt(el, 'touchcancel', onReleasedItem, this);\\n var scroll = onEvt(window, 'scroll', onReleasedItem, this);\\n break;\\n }\\n } while ((el = el.parentNode) && el !== doc.body);\\n };\\n };\\n\\n // event listeners\\n function touchstart(evt) {\\n var el = evt.target;\\n do {\\n if (elementIsDraggable(el)) {\\n handleTouchStartOnAnchor(evt, el);\\n\\n evt.preventDefault();\\n new DragDrop(evt,el);\\n break;\\n }\\n } while((el = el.parentNode) && el !== doc.body);\\n }\\n\\n function elementIsDraggable(el){\\n // if an element is not draggable either explicitly or implicitly we can exit immediately\\n if(!el.draggable) return false;\\n\\n // if an element has been explicitly set to be draggable we're good to go\\n if(el.hasAttribute(\\\"draggable\\\")) return true;\\n\\n // otherwise we investigate the implicit option\\n return (!config.requireExplicitDraggable);\\n }\\n\\n function elementIsAnchor(el){\\n return el.tagName.toLowerCase() == \\\"a\\\";\\n }\\n\\n function handleTouchStartOnAnchor(evt, el){\\n // If draggable isn't explicitly set for anchors, then simulate a click event.\\n // Otherwise plain old vanilla links will stop working.\\n // https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events#Handling_clicks\\n if (!el.hasAttribute(\\\"draggable\\\") && elementIsAnchor(el) && config.simulateAnchorClick) {\\n var clickEvt = document.createEvent(\\\"MouseEvents\\\");\\n clickEvt.initMouseEvent(\\\"click\\\", true, true, el.ownerDocument.defaultView, 1,\\n evt.screenX, evt.screenY, evt.clientX, evt.clientY,\\n evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, 0, null);\\n el.dispatchEvent(clickEvt);\\n log(\\\"Simulating click to anchor\\\");\\n }\\n }\\n\\n // DOM helpers\\n function elementFromTouchEvent(el,event) {\\n var touch = event.changedTouches[0];\\n var target = doc.elementFromPoint(\\n touch[coordinateSystemForElementFromPoint + \\\"X\\\"],\\n touch[coordinateSystemForElementFromPoint + \\\"Y\\\"]\\n );\\n return target;\\n }\\n\\n //calculate the offset position of an element (relative to the window, not the document)\\n function getOffset(el) {\\n var rect = el.getBoundingClientRect();\\n return {\\n \\\"x\\\": rect.left,\\n \\\"y\\\": rect.top\\n };\\n }\\n\\n function onEvt(el, event, handler, context) {\\n if(context) {\\n handler = handler.bind(context);\\n }\\n el.addEventListener(event, handler, {passive:false});\\n return {\\n off: function() {\\n return el.removeEventListener(event, handler, {passive:false});\\n }\\n };\\n }\\n\\n function once(el, event, handler, context) {\\n if(context) {\\n handler = handler.bind(context);\\n }\\n function listener(evt) {\\n handler(evt);\\n return el.removeEventListener(event,listener);\\n }\\n return el.addEventListener(event,listener);\\n }\\n\\n // duplicateStyle expects dstNode to be a clone of srcNode\\n function duplicateStyle(srcNode, dstNode) {\\n // Is this node an element?\\n if (srcNode.nodeType == 1) {\\n // Remove any potential conflict attributes\\n dstNode.removeAttribute(\\\"id\\\");\\n dstNode.removeAttribute(\\\"class\\\");\\n dstNode.removeAttribute(\\\"style\\\");\\n dstNode.removeAttribute(\\\"draggable\\\");\\n\\n // Clone the style\\n var cs = window.getComputedStyle(srcNode);\\n for (var i = 0; i \u003C cs.length; i++) {\\n var csName = cs[i];\\n dstNode.style.setProperty(csName, cs.getPropertyValue(csName), cs.getPropertyPriority(csName));\\n }\\n\\n // Pointer events as none makes the drag image transparent to document.elementFromPoint()\\n dstNode.style.pointerEvents = \\\"none\\\";\\n }\\n\\n // Do the same for the children\\n if (srcNode.hasChildNodes()) {\\n for (var j = 0; j \u003C srcNode.childNodes.length; j++) {\\n duplicateStyle(srcNode.childNodes[j], dstNode.childNodes[j]);\\n }\\n }\\n }\\n\\n // general helpers\\n function log(msg) {\\n console.log(msg);\\n }\\n\\n function average(arr) {\\n if (arr.length === 0) return 0;\\n return arr.reduce((function(s, v) {\\n return v + s;\\n }), 0) / arr.length;\\n }\\n\\n function noop() {}\\n\\n main();\\n\\n};\\n\\nif (typeof module === 'object' && typeof module.exports === 'object') {\\n module.exports = _exposeIosHtml5DragDropShim;\\n} else if (typeof window !== 'undefined') {\\n _exposeIosHtml5DragDropShim(window.iosDragDropShim);\\n}\\n})(document);\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/tiddlywiki/mobiledragdrop/ios-drag-drop.js\"},\"$:/plugins/tiddlywiki/mobiledragdrop/license\":{\"text\":\"Copyright (c) 2013 Tim Ruffles\\n\\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\\"Software\\\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\\n\\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\\n\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n\",\"type\":\"text/plain\",\"title\":\"$:/plugins/tiddlywiki/mobiledragdrop/license\"},\"$:/plugins/tiddlywiki/mobiledragdrop/rawmarkup\":{\"title\":\"$:/plugins/tiddlywiki/mobiledragdrop/rawmarkup\",\"tags\":\"$:/tags/RawMarkupWikified\",\"text\":\"`\u003Cscript>\\nvar iosDragDropShim = { enableEnterLeave: true, holdToDrag: 300 };`\\n{{$:/plugins/tiddlywiki/mobiledragdrop/ios-drag-drop.js}}\\n`\u003C/script>`\\n\"},\"$:/plugins/tiddlywiki/mobiledragdrop/readme\":{\"title\":\"$:/plugins/tiddlywiki/mobiledragdrop/readme\",\"text\":\"This plugin provides a \\\"shim\\\" that enables HTML 5 compatible drag and drop operations on mobile browsers, including iOS and Android. The shim was created by Tim Ruffles and is published at https://github.com/timruffles/ios-html5-drag-drop-shim.\\n\\nAfter installing the plugin it is necessary to save the HTML file a second time before it will be fully enabled.\\n\"},\"$:/plugins/tiddlywiki/mobiledragdrop/startup.js\":{\"title\":\"$:/plugins/tiddlywiki/mobiledragdrop/startup.js\",\"text\":\"/*\\\\\\ntitle: $:/plugins/tiddlywiki/mobiledragdrop/startup.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nStartup initialisation\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"mobiledragdrop\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\nexports.startup = function() {\\n\\twindow.addEventListener(\\\"touchmove\\\", function() {});\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"}}}"}, @@ -1022,12 +1022,12 @@ Error message and password prompt {"created":"20231009123439467","title":"$:/state/plugin-info--563445158-$:/core--816026031","text":"contents","modified":"20231009123439467"}, {"created":"20240108030252726","title":"$:/state/plugin-info-1867135918-$:/plugins/bj/tiddlyclip","text":"no","modified":"20240308145437638"}, {"created":"20240108030256678","title":"$:/state/plugin-info-1867135918-$:/plugins/bj/tiddlyclip---727026454","text":"readme","modified":"20240308145430531"}, -{"created":"20240312133316342","title":"$:/state/plugin-info-1867135918-$:/plugins/Gk0Wk/CPL-Repo","text":"yes","modified":"20240312133316342"}, +{"created":"20240312133316342","title":"$:/state/plugin-info-1867135918-$:/plugins/Gk0Wk/CPL-Repo","text":"no","modified":"20240313150211884"}, {"created":"20240308145308888","title":"$:/state/plugin-info-1867135918-$:/plugins/Gk0Wk/drawio","text":"no","modified":"20240308145352596"}, {"created":"20240108031535321","title":"$:/state/plugin-info-1867135918-$:/plugins/Gk0Wk/sidebar-resizer","text":"no","modified":"20240228015434856"}, {"created":"20240308145403680","title":"$:/state/plugin-info-1867135918-$:/plugins/oeyoews/neotw-pwa","text":"no","modified":"20240308145408559"}, {"created":"20240312123524153","title":"$:/state/plugin-info-1867135918-$:/plugins/orange/mermaid-tw5","text":"no","modified":"20240312123530142"}, -{"created":"20240229002453021","title":"$:/state/plugin-info-1867135918-$:/plugins/sq/ExternalContent","text":"no","modified":"20240312123521006"}, +{"created":"20240229002453021","title":"$:/state/plugin-info-1867135918-$:/plugins/sq/ExternalContent","text":"yes","modified":"20240313150221314"}, {"created":"20240229002500427","title":"$:/state/plugin-info-1867135918-$:/plugins/sq/ExternalContent---751343348","text":"contents","modified":"20240304130309589"}, {"created":"20240312123620356","title":"$:/state/plugin-info-1867135918-$:/plugins/sycom/atom-feed","text":"no","modified":"20240312123703588"}, {"created":"20231007124549638","title":"$:/state/plugin-info-1935472218-$:/plugins/ipfs--1406793555","text":"contents","modified":"20231007124549638"}, @@ -1040,11 +1040,11 @@ Error message and password prompt {"created":"20231123173056838","title":"$:/state/tab--697582678","text":"$:/core/ui/ControlPanel/Settings/TiddlyWiki","modified":"20231123173101769"}, {"created":"20231202141850730","title":"$:/state/tab--86143343","text":"$:/core/ui/ControlPanel/Plugins/Installed/Plugins","modified":"20240312133344797"}, {"created":"20240312123830157","title":"$:/state/tab-1688658110","text":"$:/core/ui/ControlPanel/Plugins/Add/Plugins","modified":"20240312123917271"}, -{"created":"20231007121508028","title":"$:/state/tab-1749438307","text":"$:/core/ui/ControlPanel/Info","modified":"20240312141416292"}, +{"created":"20231007121508028","title":"$:/state/tab-1749438307","text":"$:/core/ui/ControlPanel/Plugins","modified":"20240313150158689"}, {"created":"20231007121510466","title":"$:/state/tab-2065006209","text":"$:/plugins/astroport/lightbeams/ControlPanel/Saving/Astroport :: Lightbeams","modified":"20231007124529021"}, {"created":"20231007122348727","title":"$:/state/tab/sidebar--595412856","text":"ZenCard","modified":"20240312141830861"}, {"title":"$:/status/RequireReloadDueToPluginChange","text":"no"}, -{"title":"$:/StoryList","created":"20240312140922176","text":"","list":"INTRODUCTION _PLAYER_ SONDAGE","modified":"20240312141800183"}, +{"title":"$:/StoryList","created":"20240313150155300","text":"","list":"INTRODUCTION _PLAYER_ SONDAGE","modified":"20240313150223683"}, {"title":"$:/themes/tiddlywiki/snowwhite","name":"Snow White","author":"JeremyRuston","core-version":">=5.0.0","plugin-type":"theme","description":"Emphasises individual tiddlers","dependents":"$:/themes/tiddlywiki/vanilla","plugin-priority":"0","version":"5.3.3","type":"application/json","text":"{\"tiddlers\":{\"$:/themes/tiddlywiki/snowwhite/base\":{\"title\":\"$:/themes/tiddlywiki/snowwhite/base\",\"tags\":\"[[$:/tags/Stylesheet]]\",\"text\":\"\\\\define sidebarbreakpoint-minus-one()\\n\u003C$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\\n\\\\end\\n\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\\n\\n.tc-sidebar-header {\\n\\ttext-shadow: 0 1px 0 \u003C\u003Ccolour sidebar-foreground-shadow>>;\\n}\\n\\n.tc-tiddler-info {\\n\\t\u003C\u003Cbox-shadow \\\"inset 1px 2px 3px rgba(0,0,0,0.1)\\\">>\\n}\\n\\n@media screen {\\n\\t.tc-tiddler-frame {\\n\\t\\t\u003C\u003Cbox-shadow \\\"1px 1px 5px rgba(0, 0, 0, 0.3)\\\">>\\n\\t}\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\t.tc-tiddler-frame {\\n\\t\\t\u003C\u003Cbox-shadow none>>\\n\\t}\\n}\\n\\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\\n\\t\u003C\u003Ctransition \\\"fill 150ms ease-in-out\\\">>\\n}\\n\\n.tc-tiddler-controls button.tc-selected,\\n.tc-page-controls button.tc-selected {\\n\\t\u003C\u003Cfilter \\\"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\\\">>\\n}\\n\\n.tc-tiddler-frame input.tc-edit-texteditor,\\n.tc-tiddler-frame select.tc-edit-texteditor {\\n\\t\u003C\u003Cbox-shadow \\\"inset 0 1px 8px rgba(0, 0, 0, 0.15)\\\">>\\n}\\n\\n.tc-edit-tags {\\n\\t\u003C\u003Cbox-shadow \\\"inset 0 1px 8px rgba(0, 0, 0, 0.15)\\\">>\\n}\\n\\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\\n\\t\u003C\u003Cbox-shadow \\\"none\\\">>\\n\\tborder: none;\\n\\toutline: none;\\n}\\n\\ntextarea.tc-edit-texteditor {\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\\n}\\n\\ncanvas.tc-edit-bitmapeditor {\\n\\t\u003C\u003Cbox-shadow \\\"2px 2px 5px rgba(0, 0, 0, 0.5)\\\">>\\n}\\n\\n.tc-drop-down {\\n\\tborder-radius: 4px;\\n\\t\u003C\u003Cbox-shadow \\\"2px 2px 10px rgba(0, 0, 0, 0.5)\\\">>\\n}\\n\\n.tc-block-dropdown {\\n\\tborder-radius: 4px;\\n\\t\u003C\u003Cbox-shadow \\\"2px 2px 10px rgba(0, 0, 0, 0.5)\\\">>\\n}\\n\\n.tc-modal {\\n\\tborder-radius: 6px;\\n\\t\u003C\u003Cbox-shadow \\\"0 3px 7px rgba(0,0,0,0.3)\\\">>\\n}\\n\\n.tc-modal-footer {\\n\\tborder-radius: 0 0 6px 6px;\\n\\t\u003C\u003Cbox-shadow \\\"inset 0 1px 0 #fff\\\">>;\\n}\\n\\n\\n.tc-alert {\\n\\tborder-radius: 6px;\\n\\t\u003C\u003Cbox-shadow \\\"0 3px 7px rgba(0,0,0,0.6)\\\">>\\n}\\n\\n.tc-notification {\\n\\tborder-radius: 6px;\\n\\t\u003C\u003Cbox-shadow \\\"0 3px 7px rgba(0,0,0,0.3)\\\">>\\n\\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\\n}\\n\\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\\n\\tborder-top: none;\\n\\theight: 1px;\\n\\t\u003C\u003Cbackground-linear-gradient \\\"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\\\">>\\n}\\n\\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\\n\\t\u003C\u003Cbackground-linear-gradient \\\"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\\\">>\\n}\\n\\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\\n\\t\u003C\u003Cbackground-linear-gradient \\\"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\\\">>\\n}\\n\\n.tc-message-box img {\\n\\t\u003C\u003Cbox-shadow \\\"1px 1px 3px rgba(0,0,0,0.5)\\\">>\\n}\\n\\n.tc-plugin-info {\\n\\t\u003C\u003Cbox-shadow \\\"1px 1px 3px rgba(0,0,0,0.5)\\\">>\\n}\\n\"}}}"}, {"title":"$:/themes/tiddlywiki/vanilla","name":"Vanilla","author":"JeremyRuston","core-version":">=5.0.0","plugin-type":"theme","description":"Basic theme","plugin-priority":"0","version":"5.3.3","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/themes/tiddlywiki/vanilla/themetweaks\":{\"title\":\"$:/themes/tiddlywiki/vanilla/themetweaks\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ThemeTweaks/ThemeTweaks}}\",\"text\":\"\\\\define lingo-base() $:/language/ThemeTweaks/\\n\\n\\\\define replacement-text()\\n[img[$(imageTitle)$]]\\n\\\\end\\n\\n\\\\define backgroundimage-dropdown()\\n\u003Cdiv class=\\\"tc-drop-down-wrapper\\\">\\n\u003C$set name=\\\"state\\\" value=\u003C\u003Cqualify \\\"$:/state/popup/themetweaks/backgroundimage\\\">>>\\n\u003C$button popup=\u003C\u003Cstate>> class=\\\"tc-btn-invisible tc-btn-dropdown\\\">{{$:/core/images/down-arrow}}\u003C/$button>\\n\u003C$reveal state=\u003C\u003Cstate>> type=\\\"popup\\\" position=\\\"belowleft\\\" text=\\\"\\\" default=\\\"\\\" class=\\\"tc-popup-keep\\\">\\n\u003Cdiv class=\\\"tc-drop-down\\\" style=\\\"text-align:center;\\\">\\n\u003C$macrocall $name=\\\"image-picker\\\" actions=\\\"\\\"\\\"\\n\\n\u003C$action-setfield\\n\\t$tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\\\"\\n\\t$value=\u003C\u003CimageTitle>>\\n/>\\n\\n\u003C$action-deletetiddler $tiddler=\u003C\u003Cstate>>/>\\n\\n\\\"\\\"\\\"/>\\n\u003C/div>\\n\u003C/$reveal>\\n\u003C/$set>\\n\u003C/div>\\n\\\\end\\n\\n\\\\define backgroundimageattachment-dropdown()\\n\u003C$select tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\\\" default=\\\"scroll\\\">\\n\u003Coption value=\\\"scroll\\\">\u003C\u003Clingo Settings/BackgroundImageAttachment/Scroll>>\u003C/option>\\n\u003Coption value=\\\"fixed\\\">\u003C\u003Clingo Settings/BackgroundImageAttachment/Fixed>>\u003C/option>\\n\u003C/$select>\\n\\\\end\\n\\n\\\\define backgroundimagesize-dropdown()\\n\u003C$select tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\\\" default=\\\"scroll\\\">\\n\u003Coption value=\\\"auto\\\">\u003C\u003Clingo Settings/BackgroundImageSize/Auto>>\u003C/option>\\n\u003Coption value=\\\"cover\\\">\u003C\u003Clingo Settings/BackgroundImageSize/Cover>>\u003C/option>\\n\u003Coption value=\\\"contain\\\">\u003C\u003Clingo Settings/BackgroundImageSize/Contain>>\u003C/option>\\n\u003C/$select>\\n\\\\end\\n\\n\u003C\u003Clingo ThemeTweaks/Hint>>\\n\\n! \u003C\u003Clingo Options>>\\n\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\\\">\u003C\u003Clingo Options/SidebarLayout>>\u003C/$link> |\u003C$select tiddler=\\\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\\\">\u003Coption value=\\\"fixed-fluid\\\">\u003C\u003Clingo Options/SidebarLayout/Fixed-Fluid>>\u003C/option>\u003Coption value=\\\"fluid-fixed\\\">\u003C\u003Clingo Options/SidebarLayout/Fluid-Fixed>>\u003C/option>\u003C/$select> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/options/stickytitles\\\">\u003C\u003Clingo Options/StickyTitles>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Options/StickyTitles/Hint>>// |\u003C$select tiddler=\\\"$:/themes/tiddlywiki/vanilla/options/stickytitles\\\">\u003Coption value=\\\"no\\\">{{$:/language/No}}\u003C/option>\u003Coption value=\\\"yes\\\">{{$:/language/Yes}}\u003C/option>\u003C/$select> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/options/codewrapping\\\">\u003C\u003Clingo Options/CodeWrapping>>\u003C/$link> |\u003C$select tiddler=\\\"$:/themes/tiddlywiki/vanilla/options/codewrapping\\\">\u003Coption value=\\\"pre\\\">{{$:/language/No}}\u003C/option>\u003Coption value=\\\"pre-wrap\\\">{{$:/language/Yes}}\u003C/option>\u003C/$select> |\\n\\n! \u003C\u003Clingo Settings>>\\n\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\\\">\u003C\u003Clingo Settings/FontFamily>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\\\" default=\\\"\\\" tag=\\\"input\\\"/> | |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\\\">\u003C\u003Clingo Settings/CodeFontFamily>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\\\" default=\\\"\\\" tag=\\\"input\\\"/> | |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\\\">\u003C\u003Clingo Settings/EditorFontFamily>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\\\" default=\\\"\\\" tag=\\\"input\\\"/> | |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\\\">\u003C\u003Clingo Settings/BackgroundImage>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\u003C\u003Cbackgroundimage-dropdown>> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\\\">\u003C\u003Clingo Settings/BackgroundImageAttachment>>\u003C/$link> |\u003C\u003Cbackgroundimageattachment-dropdown>> | |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\\\">\u003C\u003Clingo Settings/BackgroundImageSize>>\u003C/$link> |\u003C\u003Cbackgroundimagesize-dropdown>> | |\\n\\n! \u003C\u003Clingo Metrics>>\\n\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\\\">\u003C\u003Clingo Metrics/FontSize>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\\\">\u003C\u003Clingo Metrics/LineHeight>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\\\">\u003C\u003Clingo Metrics/BodyFontSize>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\\\">\u003C\u003Clingo Metrics/BodyLineHeight>>\u003C/$link> |\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\\\">\u003C\u003Clingo Metrics/StoryLeft>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/StoryLeft/Hint>>// |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/storytop\\\">\u003C\u003Clingo Metrics/StoryTop>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/StoryTop/Hint>>// |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/storytop\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/storyright\\\">\u003C\u003Clingo Metrics/StoryRight>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/StoryRight/Hint>>// |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/storyright\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\\\">\u003C\u003Clingo Metrics/StoryWidth>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/StoryWidth/Hint>>// |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\\\">\u003C\u003Clingo Metrics/TiddlerWidth>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/TiddlerWidth/Hint>>//\u003Cbr> |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\\\">\u003C\u003Clingo Metrics/SidebarBreakpoint>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/SidebarBreakpoint/Hint>>// |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|\u003C$link to=\\\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\\\">\u003C\u003Clingo Metrics/SidebarWidth>>\u003C/$link>\u003Cbr>//\u003C\u003Clingo Metrics/SidebarWidth/Hint>>// |^\u003C$edit-text tiddler=\\\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n\"},\"$:/themes/tiddlywiki/vanilla/base\":{\"title\":\"$:/themes/tiddlywiki/vanilla/base\",\"tags\":\"[[$:/tags/Stylesheet]]\",\"list-before\":\"\",\"code-body\":\"yes\",\"text\":\"\\\\define custom-background-datauri()\\n\u003C$set name=\\\"background\\\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\\n\u003C$list filter=\\\"[\u003Cbackground>is[image]]\\\">\\n`background: url(`\\n\u003C$list filter=\\\"[\u003Cbackground>!has[_canonical_uri]]\\\">\\n`\\\"`\u003C$macrocall $name=\\\"datauri\\\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\\\"`\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003Cbackground>has[_canonical_uri]]\\\">\\n`\\\"`\u003C$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\\\"_canonical_uri\\\"/>`\\\"`\\n\u003C/$list>\\n`) center center;`\\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\\n\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\define sidebarbreakpoint()\\n\u003C$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\\n\\\\end\\n\\n\\\\define sidebarbreakpoint-minus-one()\\n\u003C$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\\n\\\\end\\n\\n\\\\define if-fluid-fixed(text,hiddenSidebarText)\\n\u003C$reveal state=\\\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\\\" type=\\\"match\\\" text=\\\"fluid-fixed\\\">\\n$text$\\n\u003C$reveal state=\\\"$:/state/sidebar\\\" type=\\\"nomatch\\\" text=\\\"yes\\\" default=\\\"yes\\\">\\n$hiddenSidebarText$\\n\u003C/$reveal>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\define if-editor-height-fixed(then,else)\\n\u003C$reveal state=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" type=\\\"match\\\" text=\\\"fixed\\\">\\n$then$\\n\u003C/$reveal>\\n\u003C$reveal state=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" type=\\\"match\\\" text=\\\"auto\\\">\\n$else$\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\define set-type-selector-min-width()\\n\u003C$set name=\\\"typeLength\\\" value={{{ [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]get[name]length[]maxall[]] }}}>\\n\\n\\t.tc-type-selector-dropdown-wrapper {\\n\\t\\tmin-width: calc(\u003C\u003CtypeLength>>ch + 4em);\\n\\t}\\n\\n\\t.tc-type-selector-dropdown-wrapper input.tc-edit-typeeditor {\\n\\t\\tmin-width: \u003C\u003CtypeLength>>ch;\\n\\t}\\n\\n\u003C/$set>\\n\\\\end\\n\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\\n\\n/*\\n** Start with the normalize CSS reset, and then belay some of its effects\\n*/\\n\\n{{$:/themes/tiddlywiki/vanilla/reset}}\\n\\n*, input[type=\\\"search\\\"] {\\n\\tbox-sizing: border-box;\\n\\t-moz-box-sizing: border-box;\\n\\t-webkit-box-sizing: border-box;\\n}\\n\\n/*\\n** Button default styles. Makes them look consistent for all browsers\\n*/\\nhtml button {\\n\\tline-height: 1.2;\\n\\tcolor: \u003C\u003Ccolour button-foreground>>;\\n\\tfill: \u003C\u003Ccolour button-foreground>>;\\n\\tbackground: \u003C\u003Ccolour button-background>>;\\n\\tborder-color: \u003C\u003Ccolour button-border>>;\\n}\\n\\nbutton:disabled svg {\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n/*\\n** Basic element styles\\n*/\\n\\nhtml, body {\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\\n\\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\\n\\t-webkit-font-smoothing: antialiased;\\n\\t-moz-osx-font-smoothing: grayscale;\\n}\\n\\nhtml:-webkit-full-screen {\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\nbody.tc-body {\\n\\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\\n\\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\\n\\tword-wrap: break-word;\\n\\t\u003C\u003Ccustom-background-datauri>>\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n\\tfill: \u003C\u003Ccolour foreground>>;\\n}\\n\\n\u003C\u003Cif-background-attachment \\\"\\\"\\\"\\n\\nbody.tc-body {\\n\\tbackground-color: transparent;\\n}\\n\\n\\\"\\\"\\\">>\\n\\n/**\\n * Correct the font size and margin on `h1` elements within `section` and\\n * `article` contexts in Chrome, Firefox, and Safari.\\n */\\n\\nh1 {\\n\\tfont-size: 2em;\\n}\\n\\nh1, h2, h3, h4, h5, h6 {\\n\\tline-height: 1.2;\\n\\tfont-weight: normal;\\n}\\n\\npre {\\n\\tdisplay: block;\\n\\tmargin-top: 1em;\\n\\tmargin-bottom: 1em;\\n\\tword-break: normal;\\n\\tword-wrap: break-word;\\n\\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\\n\\tbackground-color: \u003C\u003Ccolour pre-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour pre-border>>;\\n\\tpadding: 0 3px 2px;\\n\\tborder-radius: 3px;\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\\n}\\n\\ncode {\\n\\tcolor: \u003C\u003Ccolour code-foreground>>;\\n\\tbackground-color: \u003C\u003Ccolour code-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour code-border>>;\\n\\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\\n\\tpadding: 0 3px 2px;\\n\\tborder-radius: 3px;\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\\n}\\n\\nblockquote {\\n\\tborder-left: 5px solid \u003C\u003Ccolour blockquote-bar>>;\\n\\tmargin-left: 25px;\\n\\tpadding-left: 10px;\\n\\tquotes: \\\"\\\\201C\\\"\\\"\\\\201D\\\"\\\"\\\\2018\\\"\\\"\\\\2019\\\";\\n}\\n\\nblockquote > div {\\n\\tmargin-top: 1em;\\n\\tmargin-bottom: 1em;\\n}\\n\\nblockquote.tc-big-quote {\\n\\tfont-family: Georgia, serif;\\n\\tposition: relative;\\n\\tbackground: \u003C\u003Ccolour pre-background>>;\\n\\tborder-left: none;\\n\\tmargin-left: 50px;\\n\\tmargin-right: 50px;\\n\\tpadding: 10px;\\n\\tborder-radius: 8px;\\n}\\n\\nblockquote.tc-big-quote cite:before {\\n\\tcontent: \\\"\\\\2014 \\\\2009\\\";\\n}\\n\\nblockquote.tc-big-quote:before {\\n\\tfont-family: Georgia, serif;\\n\\tcolor: \u003C\u003Ccolour blockquote-bar>>;\\n\\tcontent: open-quote;\\n\\tfont-size: 8em;\\n\\tline-height: 0.1em;\\n\\tmargin-right: 0.25em;\\n\\tvertical-align: -0.4em;\\n\\tposition: absolute;\\n\\tleft: -50px;\\n\\ttop: 42px;\\n}\\n\\nblockquote.tc-big-quote:after {\\n\\tfont-family: Georgia, serif;\\n\\tcolor: \u003C\u003Ccolour blockquote-bar>>;\\n\\tcontent: close-quote;\\n\\tfont-size: 8em;\\n\\tline-height: 0.1em;\\n\\tmargin-right: 0.25em;\\n\\tvertical-align: -0.4em;\\n\\tposition: absolute;\\n\\tright: -80px;\\n\\tbottom: -20px;\\n}\\n\\ndl dt {\\n\\tfont-weight: bold;\\n\\tmargin-top: 6px;\\n}\\n\\ntextarea,\\ninput[type=text],\\ninput[type=search],\\ninput[type=\\\"\\\"],\\ninput:not([type]) {\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n}\\n\\ninput[type=\\\"checkbox\\\"] {\\n\\tvertical-align: middle;\\n}\\n\\ninput[type=\\\"search\\\"]::-webkit-search-decoration,\\ninput[type=\\\"search\\\"]::-webkit-search-cancel-button,\\ninput[type=\\\"search\\\"]::-webkit-search-results-button,\\ninput[type=\\\"search\\\"]::-webkit-search-results-decoration {\\n\\t-webkit-appearance:none;\\n}\\n\\n.tc-muted {\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\nsvg.tc-image-button {\\n\\tpadding: 0px 1px 1px 0px;\\n}\\n\\n.tc-icon-wrapper > svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n}\\n\\nkbd {\\n\\tdisplay: inline-block;\\n\\tpadding: 3px 5px;\\n\\tfont-size: 0.8em;\\n\\tline-height: 1.2;\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n\\tvertical-align: middle;\\n\\tbackground-color: \u003C\u003Ccolour background>>;\\n\\tborder: solid 1px \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-bottom-color: \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-radius: 3px;\\n\\tbox-shadow: inset 0 -1px 0 \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n::selection {\\n\\tbackground-color: Highlight;\\n\\tcolor: HighlightText;\\n\\tbackground-color: \u003C\u003Ccolour selection-background>>;\\n\\tcolor: \u003C\u003Ccolour selection-foreground>>;\\n}\\n\\n.tc-inline-style {\\n\\tbackground: \u003C\u003Ccolour highlight-background>>;\\n\\tcolor: \u003C\u003Ccolour highlight-foreground>>;\\n}\\n\\nform.tc-form-inline {\\n\\tdisplay: inline;\\n}\\n\\n/*\\nMarkdown likes putting code elements inside pre elements\\n*/\\npre > code {\\n\\tpadding: 0;\\n\\tborder: none;\\n\\tbackground-color: inherit;\\n\\tcolor: inherit;\\n}\\n\\n/*\\nTable defaults\\n*/\\n\\ntable {\\n\\tborder: 1px solid \u003C\u003Ccolour table-border>>;\\n\\twidth: auto;\\n\\tmax-width: 100%;\\n\\tcaption-side: bottom;\\n\\tmargin-top: 1em;\\n\\tmargin-bottom: 1em;\\n\\t/* next 2 elements needed, since normalize 8.0.1 */\\n\\tborder-collapse: collapse;\\n\\tborder-spacing: 0;\\n}\\n\\ntable th, table td {\\n\\tpadding: 0 7px 0 7px;\\n\\tborder-top: 1px solid \u003C\u003Ccolour table-border>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour table-border>>;\\n}\\n\\ntable thead tr td, table th {\\n\\tbackground-color: \u003C\u003Ccolour table-header-background>>;\\n\\tfont-weight: bold;\\n}\\n\\ntable tfoot tr td {\\n\\tbackground-color: \u003C\u003Ccolour table-footer-background>>;\\n}\\n\\n/*\\nTable utility classes\\n*/\\n\\n/* Remove borders from table as used in eg: GettingStarted*/\\n.tc-table-no-border,\\n.tc-table-no-border th,\\n.tc-table-no-border td {\\n\\tborder: initial;\\n}\\n\\n/* First column in table width will fit to text.*/\\n/* This rule makes most sense with tc-first-link-nowrap*/\\n.tc-first-col-min-width td:nth-child(1) {\\n\\twidth: 1%;\\n}\\n\\n/*\\n** Utility classes work well with tables but also for other containers\\n*/\\n\\n/* First link A element will not wrap */\\n.tc-first-link-nowrap:first-of-type a {\\n\\twhite-space: nowrap;\\n}\\n\\n/* Move the table to the center of the container */\\n.tc-center {\\n\\tmargin-left: auto;\\n\\tmargin-right: auto;\\n}\\n\\n.tc-max-width {\\n\\twidth: 100%;\\n}\\n\\n.tc-max-width-80 {\\n\\tmax-width: 80%;\\n}\\n\\n/* Allow input and textarea to look like the ControlPanel inputs */\\n.tc-edit-max-width input,\\n.tc-edit-max-width textarea {\\n\\twidth: 100%;\\n\\tpadding: 3px;\\n}\\n\\n/*\\nCSV parser plugin\\n*/\\n\\n.tc-csv-table {\\n\\twhite-space: nowrap;\\n}\\n\\n.tc-csv-table th,\\n.tc-csv-table td {\\n\\twhite-space: pre-line;\\n}\\n\\n/*\\nTiddler frame in story river\\n*/\\n\\n.tc-tiddler-frame img,\\n.tc-tiddler-frame svg,\\n.tc-tiddler-frame canvas,\\n.tc-tiddler-frame embed,\\n.tc-tiddler-frame iframe {\\n\\tmax-width: 100%;\\n}\\n\\n.tc-tiddler-body > embed,\\n.tc-tiddler-body > iframe {\\n\\twidth: 100%;\\n\\theight: 600px;\\n}\\n\\n:root {\\n\\tcolor-scheme: {{{ [{$:/palette}get[color-scheme]] ~light }}};\\n}\\n\\n/*\\n** Links\\n*/\\n\\nbutton.tc-tiddlylink,\\na.tc-tiddlylink {\\n\\ttext-decoration: none;\\n\\tfont-weight: 500;\\n\\tcolor: \u003C\u003Ccolour tiddler-link-foreground>>;\\n\\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\\n\\t-webkit-touch-callout: none; /* Prevents long presses from bringing up a link preview */\\n}\\n\\n.tc-sidebar-lists a.tc-tiddlylink {\\n\\tcolor: \u003C\u003Ccolour sidebar-tiddler-link-foreground>>;\\n}\\n\\n.tc-sidebar-lists a.tc-tiddlylink:hover {\\n\\tcolor: \u003C\u003Ccolour sidebar-tiddler-link-foreground-hover>>;\\n}\\n\\nbutton.tc-tiddlylink:hover,\\na.tc-tiddlylink:hover {\\n\\ttext-decoration: underline;\\n}\\n\\na.tc-tiddlylink-resolves {\\n}\\n\\na.tc-tiddlylink-shadow {\\n\\tfont-weight: bold;\\n}\\n\\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\\n\\tfont-weight: normal;\\n}\\n\\na.tc-tiddlylink-missing {\\n\\tfont-style: italic;\\n}\\n\\na.tc-tiddlylink-external {\\n\\ttext-decoration: underline;\\n\\tcolor: \u003C\u003Ccolour external-link-foreground>>;\\n\\tbackground-color: \u003C\u003Ccolour external-link-background>>;\\n}\\n\\na.tc-tiddlylink-external:visited {\\n\\tcolor: \u003C\u003Ccolour external-link-foreground-visited>>;\\n\\tbackground-color: \u003C\u003Ccolour external-link-background-visited>>;\\n}\\n\\na.tc-tiddlylink-external:hover {\\n\\tcolor: \u003C\u003Ccolour external-link-foreground-hover>>;\\n\\tbackground-color: \u003C\u003Ccolour external-link-background-hover>>;\\n}\\n\\n.tc-drop-down a.tc-tiddlylink:hover {\\n\\tcolor: \u003C\u003Ccolour tiddler-link-background>>;\\n}\\n\\n/*\\n** Drag and drop styles\\n*/\\n\\n.tc-tiddler-dragger {\\n\\tposition: relative;\\n\\tz-index: -10000;\\n}\\n\\n.tc-tiddler-dragger-inner {\\n\\tposition: absolute;\\n\\ttop: -1000px;\\n\\tleft: -1000px;\\n\\tdisplay: inline-block;\\n\\tpadding: 8px 20px;\\n\\tfont-size: 16.9px;\\n\\tfont-weight: bold;\\n\\tline-height: 20px;\\n\\tcolor: \u003C\u003Ccolour dragger-foreground>>;\\n\\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\\n\\twhite-space: nowrap;\\n\\tvertical-align: baseline;\\n\\tbackground-color: \u003C\u003Ccolour dragger-background>>;\\n\\tborder-radius: 20px;\\n}\\n\\n.tc-tiddler-dragger-cover {\\n\\tposition: absolute;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n.tc-page-container > .tc-dropzone {\\n\\tmin-height: 100vh;\\n}\\n\\n.tc-dropzone {\\n\\tposition: relative;\\n}\\n\\n.tc-dropzone.tc-dragover:before {\\n\\tz-index: 10000;\\n\\tdisplay: block;\\n\\tposition: fixed;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbackground: \u003C\u003Ccolour dropzone-background>>;\\n\\ttext-align: center;\\n\\tcontent: \\\"\u003C\u003Clingo DropMessage>>\\\";\\n}\\n\\n.tc-droppable > .tc-droppable-placeholder {\\n\\tdisplay: none;\\n}\\n\\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\\n\\tdisplay: block;\\n\\tborder: 2px dashed \u003C\u003Ccolour dropzone-background>>;\\n}\\n\\n.tc-draggable {\\n\\tcursor: move;\\n}\\n\\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\\n.tc-links-draggable-list .tc-droppable-placeholder {\\n\\tline-height: 2em;\\n\\theight: 2em;\\n}\\n\\n.tc-sidebar-tab-open-item {\\n\\tposition: relative;\\n}\\n\\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\\n\\tfont-size: 0.7em;\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n/*\\n** Plugin reload warning\\n*/\\n\\n.tc-plugin-reload-warning {\\n\\tz-index: 1000;\\n\\tdisplay: block;\\n\\tposition: fixed;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbackground: \u003C\u003Ccolour alert-background>>;\\n\\ttext-align: center;\\n}\\n\\n/*\\n** Buttons\\n*/\\n\\nbutton svg, button img, label svg, label img {\\n\\tvertical-align: middle;\\n}\\n\\n.tc-btn-invisible {\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tbackground: none;\\n\\tborder: none;\\n\\tcursor: pointer;\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n\\tfill: \u003C\u003Ccolour foreground>>;\\n}\\n\\nbutton:disabled.tc-btn-invisible {\\n\\tcursor: default;\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-btn-boxed {\\n\\tfont-size: 0.6em;\\n\\tpadding: 0.2em;\\n\\tmargin: 1px;\\n\\tbackground: none;\\n\\tborder: 1px solid \u003C\u003Ccolour tiddler-controls-foreground>>;\\n\\tborder-radius: 0.25em;\\n}\\n\\nhtml body.tc-body .tc-btn-boxed svg {\\n\\tfont-size: 1.6666em;\\n}\\n\\n.tc-btn-boxed:hover {\\n\\tbackground: \u003C\u003Ccolour muted-foreground>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n}\\n\\nhtml body.tc-body .tc-btn-boxed:hover svg {\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-btn-rounded {\\n\\tfont-size: 0.5em;\\n\\tline-height: 2;\\n\\tpadding: 0em 0.3em 0.2em 0.4em;\\n\\tmargin: 1px;\\n\\tborder: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tbackground: \u003C\u003Ccolour muted-foreground>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n\\tborder-radius: 2em;\\n}\\n\\nhtml body.tc-body .tc-btn-rounded svg {\\n\\tfont-size: 1.6666em;\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-btn-rounded:hover {\\n\\tborder: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\nhtml body.tc-body .tc-btn-rounded:hover svg {\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-btn-icon svg {\\n\\theight: 1em;\\n\\twidth: 1em;\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n\\n.tc-btn-text {\\n\\tmargin-left: 7px;\\n}\\n\\n/* used for documentation \\\"fake\\\" buttons */\\n.tc-btn-standard {\\n\\tline-height: 1.8;\\n\\tcolor: #667;\\n\\tbackground-color: #e0e0e0;\\n\\tborder: 1px solid #888;\\n\\tpadding: 2px 1px 2px 1px;\\n\\tmargin: 1px 4px 1px 4px;\\n}\\n\\n.tc-btn-big-green {\\n\\tdisplay: inline-block;\\n\\tpadding: 8px;\\n\\tmargin: 4px 8px 4px 8px;\\n\\tbackground: \u003C\u003Ccolour download-background>>;\\n\\tcolor: \u003C\u003Ccolour download-foreground>>;\\n\\tfill: \u003C\u003Ccolour download-foreground>>;\\n\\tborder: none;\\n\\tborder-radius: 2px;\\n\\tfont-size: 1.2em;\\n\\tline-height: 1.4em;\\n\\ttext-decoration: none;\\n}\\n\\n.tc-btn-big-green svg,\\n.tc-btn-big-green img {\\n\\theight: 2em;\\n\\twidth: 2em;\\n\\tvertical-align: middle;\\n\\tfill: \u003C\u003Ccolour download-foreground>>;\\n}\\n\\n.tc-primary-btn {\\n\\tbackground: \u003C\u003Ccolour primary>>;\\n}\\n\\n.tc-sidebar-lists input {\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n}\\n\\n.tc-sidebar-lists button {\\n\\tcolor: \u003C\u003Ccolour sidebar-button-foreground>>;\\n\\tfill: \u003C\u003Ccolour sidebar-button-foreground>>;\\n}\\n\\n.tc-sidebar-lists button.tc-btn-mini {\\n\\tcolor: \u003C\u003Ccolour sidebar-muted-foreground>>;\\n}\\n\\n.tc-sidebar-lists button.tc-btn-mini:hover {\\n\\tcolor: \u003C\u003Ccolour sidebar-muted-foreground-hover>>;\\n}\\n\\n.tc-sidebar-lists button small {\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n}\\n\\nbutton svg.tc-image-button, button .tc-image-button img {\\n\\theight: 1em;\\n\\twidth: 1em;\\n}\\n\\n.tc-unfold-banner {\\n\\tposition: absolute;\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tbackground: none;\\n\\tborder: none;\\n\\twidth: 100%;\\n\\twidth: calc(100% + 2px);\\n\\tmargin-left: -43px;\\n\\ttext-align: center;\\n\\tborder-top: 2px solid \u003C\u003Ccolour tiddler-info-background>>;\\n\\tmargin-top: 4px;\\n}\\n\\n.tc-unfold-banner:hover {\\n\\tbackground: \u003C\u003Ccolour tiddler-info-background>>;\\n\\tborder-top: 2px solid \u003C\u003Ccolour tiddler-info-border>>;\\n}\\n\\n.tc-unfold-banner svg, .tc-fold-banner svg {\\n\\theight: 0.75em;\\n\\tfill: \u003C\u003Ccolour tiddler-controls-foreground>>;\\n}\\n\\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\\n\\tfill: \u003C\u003Ccolour tiddler-controls-foreground-hover>>;\\n}\\n\\n.tc-fold-banner {\\n\\tposition: absolute;\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tbackground: none;\\n\\tborder: none;\\n\\twidth: 23px;\\n\\ttext-align: center;\\n\\tmargin-left: -35px;\\n\\ttop: 6px;\\n\\tbottom: 6px;\\n}\\n\\n.tc-fold-banner:hover {\\n\\tbackground: \u003C\u003Ccolour tiddler-info-background>>;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\n\\t.tc-unfold-banner {\\n\\t\\tposition: static;\\n\\t\\twidth: calc(100% + 59px);\\n\\t}\\n\\n\\t.tc-fold-banner {\\n\\t\\twidth: 16px;\\n\\t\\tmargin-left: -16px;\\n\\t\\tfont-size: 0.75em;\\n\\t}\\n\\n}\\n\\n/*\\n** Tags and missing tiddlers\\n*/\\n\\n.tc-tag-list-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n}\\n\\n.tc-tags-wrapper {\\n\\tmargin: 4px 0 14px 0;\\n}\\n\\n.tc-tags-wrapper .tc-tag-list-item {\\n\\tmargin-right: 7px;\\n}\\n\\n.tc-missing-tiddler-label {\\n\\tfont-style: italic;\\n\\tfont-weight: normal;\\n\\tdisplay: inline-block;\\n\\tfont-size: 11.844px;\\n\\tline-height: 14px;\\n\\twhite-space: nowrap;\\n\\tvertical-align: baseline;\\n}\\n\\n.tc-block-tags-dropdown > .tc-btn-invisible:hover {\\n\\tbackground-color: \u003C\u003Ccolour primary>>;\\n}\\n\\nbutton.tc-tag-label, span.tc-tag-label {\\n\\tdisplay: inline-block;\\n\\tpadding: 0.16em 0.7em;\\n\\tfont-size: 0.9em;\\n\\tfont-weight: normal;\\n\\tline-height: 1.2em;\\n\\tcolor: \u003C\u003Ccolour tag-foreground>>;\\n\\twhite-space: break-spaces;\\n\\tvertical-align: baseline;\\n\\tbackground-color: \u003C\u003Ccolour tag-background>>;\\n\\tborder-radius: 1em;\\n}\\n\\n.tc-sidebar-scrollable .tc-tag-label {\\n\\ttext-shadow: none;\\n}\\n\\n.tc-untagged-separator {\\n\\tborder: 0;\\n\\theight: 1px;\\n\\tbackground: \u003C\u003Ccolour tab-divider>>;\\n}\\n\\nbutton.tc-untagged-label {\\n\\tbackground-color: \u003C\u003Ccolour untagged-background>>;\\n}\\n\\n.tc-tag-label svg, .tc-tag-label img {\\n\\theight: 1em;\\n\\twidth: 1em;\\n\\tmargin-right: 3px;\\n\\tmargin-bottom: 1px;\\n\\tvertical-align: bottom;\\n}\\n\\n.tc-edit-tags button.tc-remove-tag-button svg {\\n\\tfont-size: 0.7em;\\n\\tvertical-align: middle;\\n}\\n\\n.tc-tag-manager-table .tc-tag-label {\\n}\\n\\n.tc-tag-manager-tag {\\n\\twidth: 100%;\\n}\\n\\nbutton.tc-btn-invisible.tc-remove-tag-button {\\n\\toutline: none;\\n}\\n\\n.tc-tag-button-selected,\\n.tc-list-item-selected a.tc-tiddlylink, a.tc-list-item-selected {\\n\\tbackground-color: \u003C\u003Ccolour primary>>;\\n\\tcolor: \u003C\u003Ccolour tiddler-background>>;\\n}\\n\\n/*\\n** Page layout\\n*/\\n\\n.tc-topbar {\\n\\tposition: fixed;\\n\\tz-index: 1200;\\n}\\n\\n.tc-topbar-left {\\n\\tleft: 29px;\\n\\ttop: 5px;\\n}\\n\\n.tc-topbar-right {\\n\\ttop: 5px;\\n\\tright: 29px;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\n\\t.tc-topbar-right {\\n\\t\\tright: 10px;\\n\\t}\\n\\n}\\n\\n.tc-topbar button {\\n\\tpadding: 8px;\\n}\\n\\n.tc-topbar svg {\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-topbar button:hover svg {\\n\\tfill: \u003C\u003Ccolour foreground>>;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\n\\t.tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-hide-sidebar-btn svg.tc-image-chevron-right {\\n\\t\\ttransform: rotate(-90deg);\\n\\t}\\n\\n}\\n\\n.tc-sidebar-header {\\n\\tcolor: \u003C\u003Ccolour sidebar-foreground>>;\\n\\tfill: \u003C\u003Ccolour sidebar-foreground>>;\\n}\\n\\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\\n\\tfont-weight: normal;\\n}\\n\\n.tc-sidebar-header .tc-sidebar-lists p {\\n\\tmargin-top: 3px;\\n\\tmargin-bottom: 3px;\\n}\\n\\n.tc-sidebar-header .tc-missing-tiddler-label {\\n\\tcolor: \u003C\u003Ccolour sidebar-foreground>>;\\n}\\n\\n.tc-advanced-search input {\\n\\twidth: 60%;\\n}\\n\\n.tc-search a svg {\\n\\twidth: 1.2em;\\n\\theight: 1.2em;\\n\\tvertical-align: middle;\\n}\\n\\n.tc-page-controls {\\n\\tmargin-top: 14px;\\n\\tfont-size: 1.5em;\\n}\\n\\n.tc-page-controls .tc-drop-down {\\n\\tfont-size: 1rem;\\n}\\n\\n.tc-page-controls button {\\n\\tmargin-right: 0.5em;\\n}\\n\\n.tc-page-controls a.tc-tiddlylink:hover {\\n\\ttext-decoration: none;\\n}\\n\\n.tc-page-controls img {\\n\\twidth: 1em;\\n}\\n\\n.tc-page-controls svg {\\n\\tfill: \u003C\u003Ccolour sidebar-controls-foreground>>;\\n}\\n\\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\\n\\tfill: \u003C\u003Ccolour sidebar-controls-foreground-hover>>;\\n}\\n\\n.tc-sidebar-lists .tc-menu-list-item {\\n\\twhite-space: nowrap;\\n}\\n\\n.tc-menu-list-count {\\n\\tfont-weight: bold;\\n}\\n\\n.tc-menu-list-subitem {\\n\\tpadding-left: 7px;\\n}\\n\\n.tc-story-river {\\n\\tposition: relative;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\n\\t.tc-sidebar-header {\\n\\t\\tpadding: 14px;\\n\\t\\tmin-height: 32px;\\n\\t\\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\\n\\t\\ttransition: min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\\n\\t}\\n\\t\\n\\t\u003C\u003Cif-no-sidebar \\\"\\\"\\\"\\n\\n\\t\\t.tc-sidebar-header {\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tpadding-top: 0;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t}\\n\\n\\t\\\"\\\"\\\">>\\n\\n\\t.tc-story-river {\\n\\t\\tposition: relative;\\n\\t\\tpadding: 0;\\n\\t}\\n}\\n\\n@media (min-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\n\\t.tc-message-box {\\n\\t\\tmargin: 21px -21px 21px -21px;\\n\\t}\\n\\n\\t.tc-sidebar-scrollable {\\n\\t\\tposition: fixed;\\n\\t\\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\\n\\t\\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: auto;\\n\\t\\t-webkit-overflow-scrolling: touch;\\n\\t\\tmargin: 0 0 0 -42px;\\n\\t\\tpadding: 71px 0 28px 42px;\\n\\t}\\n\\n\\thtml[dir=\\\"rtl\\\"] .tc-sidebar-scrollable {\\n\\t\\tleft: auto;\\n\\t\\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\\n\\t}\\n\\n\\t.tc-story-river {\\n\\t\\tposition: relative;\\n\\t\\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\\n\\t\\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\\n\\t\\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\\n\\t\\tpadding: 42px 42px 42px 42px;\\n\\t}\\n\\n\u003C\u003Cif-no-sidebar \\\"\\n\\n\\t.tc-story-river {\\n\\t\\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\\n\\t}\\n\\n\\\">>\\n\\n\\t.tc-story-river.tc-static-story-river {\\n\\t\\tmargin-right: 0;\\n\\t\\tpadding-right: 42px;\\n\\t}\\n\\n}\\n\\n@media print {\\n\\n\\tbody.tc-body {\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t.tc-sidebar-header, .tc-topbar {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t.tc-story-river {\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t}\\n\\n\\t.tc-story-river .tc-tiddler-frame {\\n\\t\\tmargin: 0;\\n\\t\\tborder: none;\\n\\t\\tpadding: 0;\\n\\t}\\n}\\n\\n/*\\n** Tiddler styles\\n*/\\n\\n.tc-tiddler-frame {\\n\\tposition: relative;\\n\\tmargin-bottom: 28px;\\n\\tbackground-color: \u003C\u003Ccolour tiddler-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour tiddler-border>>;\\n}\\n\\n{{$:/themes/tiddlywiki/vanilla/sticky}}\\n\\n.tc-tiddler-info {\\n\\toverflow: hidden;\\n\\tpadding: 14px 42px 14px 42px;\\n\\tbackground-color: \u003C\u003Ccolour tiddler-info-background>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour tiddler-info-border>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tiddler-info-border>>;\\n}\\n\\n.tc-tiddler-info p {\\n\\tmargin-top: 3px;\\n\\tmargin-bottom: 3px;\\n}\\n\\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\\n\\tbackground-color: \u003C\u003Ccolour tiddler-info-tab-background>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tiddler-info-tab-background>>;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\n\\t.tc-tiddler-info {\\n\\t\\tpadding: 14px 14px 14px 14px;\\n\\t}\\n\\n}\\n\\n.tc-view-field-table {\\n\\twidth: 100%;\\n}\\n\\n.tc-view-field-name {\\n\\twidth: 1%; /* Makes this column be as narrow as possible */\\n\\twhite-space: nowrap;\\n\\tvertical-align: top;\\n\\ttext-align: right;\\n\\tfont-style: italic;\\n\\tfont-weight: normal;\\n}\\n\\n.tc-view-field-value {\\n\\tword-break: break-all;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\t.tc-tiddler-frame {\\n\\t\\tpadding: 14px 14px 14px 14px;\\n\\t\\tmargin-bottom: .5em;\\n\\t}\\n\\n\\t.tc-tiddler-info {\\n\\t\\tmargin: 0 -14px 0 -14px;\\n\\t}\\n}\\n\\n@media (min-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\t.tc-tiddler-frame {\\n\\t\\tpadding: 28px 42px 42px 42px;\\n\\t\\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\\n\\t\\tborder-radius: 2px;\\n\\t}\\n\\n\u003C\u003Cif-no-sidebar \\\"\\n\\n\\t.tc-tiddler-frame {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\\">>\\n\\n\\t.tc-tiddler-info {\\n\\t\\tmargin: 0 -42px 0 -42px;\\n\\t}\\n}\\n\\n.tc-site-title,\\n.tc-titlebar {\\n\\tfont-weight: normal;\\n\\tfont-size: 2.35em;\\n\\tline-height: 1.35em;\\n\\tcolor: \u003C\u003Ccolour tiddler-title-foreground>>;\\n\\tmargin: 0;\\n}\\n\\n.tc-site-title {\\n\\tcolor: \u003C\u003Ccolour site-title-foreground>>;\\n}\\n\\n.tc-tiddler-title-icon {\\n\\tvertical-align: middle;\\n\\tmargin-right: .1em;\\n}\\n\\n.tc-tiddler-title-icon svg {\\n\\twidth: 0.9em;\\n\\theight: 0.9em;\\n}\\n\\n.tc-system-title-prefix {\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-titlebar h2 {\\n\\tfont-size: 1em;\\n\\tdisplay: inline;\\n}\\n\\n.tc-titlebar img {\\n\\theight: 1em;\\n}\\n\\n.tc-subtitle {\\n\\tfont-size: 0.9em;\\n\\tcolor: \u003C\u003Ccolour tiddler-subtitle-foreground>>;\\n\\tfont-weight: normal;\\n}\\n\\n.tc-subtitle .tc-tiddlylink {\\n\\tmargin-right: .3em;\\n}\\n\\n.tc-tiddler-missing .tc-title {\\n\\tfont-style: italic;\\n\\tfont-weight: normal;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-controls {\\n\\tfloat: right;\\n\\tpadding: 3px; /* make space for outline */\\n}\\n\\n.tc-tiddler-controls .tc-drop-down {\\n\\tfont-size: 0.6em;\\n}\\n\\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\\n\\tfont-size: 1em;\\n}\\n\\n.tc-tiddler-controls > span > button,\\n.tc-tiddler-controls > span > span > button,\\n.tc-tiddler-controls > span > span > span > button {\\n\\tvertical-align: baseline;\\n\\tmargin-left:5px;\\n}\\n\\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\\n.tc-search button svg, .tc-search a svg {\\n\\tfill: \u003C\u003Ccolour tiddler-controls-foreground>>;\\n}\\n\\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\\n\\theight: 0.75em;\\n}\\n\\n.tc-search button svg, .tc-search a svg {\\n\\theight: 1.2em;\\n\\twidth: 1.2em;\\n\\tmargin: 0 0.25em;\\n}\\n\\n.tc-tiddler-controls button.tc-selected svg,\\n.tc-page-controls button.tc-selected svg {\\n\\tfill: \u003C\u003Ccolour tiddler-controls-foreground-selected>>;\\n}\\n\\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\\n.tc-search button:hover svg, .tc-search a:hover svg {\\n\\tfill: \u003C\u003Ccolour tiddler-controls-foreground-hover>>;\\n}\\n\\n@media print {\\n\\t.tc-tiddler-controls {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n.tc-tiddler-help { /* Help prompts within tiddler template */\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n\\tmargin-top: 14px;\\n}\\n\\n.tc-tiddler-help a.tc-tiddlylink {\\n\\tcolor: \u003C\u003Ccolour very-muted-foreground>>;\\n}\\n\\n.tc-tiddler-frame .tc-edit-texteditor {\\n\\twidth: 100%;\\n\\tmargin: 4px 0 4px 0;\\n}\\n\\n.tc-tiddler-frame input.tc-edit-texteditor,\\n.tc-tiddler-frame textarea.tc-edit-texteditor,\\n.tc-tiddler-frame iframe.tc-edit-texteditor,\\n.tc-tiddler-frame select.tc-edit-texteditor {\\n\\tpadding: 3px 3px 3px 3px;\\n\\tborder: 1px solid \u003C\u003Ccolour tiddler-editor-border>>;\\n\\tline-height: 1.3em;\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\\n}\\n\\n.tc-tiddler-frame input.tc-edit-texteditor,\\n.tc-tiddler-frame textarea.tc-edit-texteditor,\\n.tc-tiddler-frame iframe.tc-edit-texteditor {\\n\\t-webkit-appearance: none;\\n}\\n\\n.tc-tiddler-frame input.tc-edit-texteditor,\\n.tc-tiddler-frame select.tc-edit-texteditor,\\n.tc-tiddler-frame textarea.tc-edit-texteditor {\\n\\tbackground-color: \u003C\u003Ccolour tiddler-editor-background>>;\\n}\\n\\n.tc-tiddler-frame iframe.tc-edit-texteditor {\\n\\tbackground-color: \u003C\u003Ccolour tiddler-background>>;\\n}\\n\\n.tc-tiddler-frame .tc-edit-fields input.tc-edit-fieldeditor,\\n.tc-tiddler-frame .tc-edit-fields select.tc-edit-fieldeditor,\\n.tc-tiddler-frame .tc-edit-fields textarea.tc-edit-fieldeditor {\\n\\tmargin: 0;\\n\\tpadding: 2px 3px;\\n}\\n\\n.tc-tiddler-frame .tc-binary-warning {\\n\\twidth: 100%;\\n\\theight: 5em;\\n\\ttext-align: center;\\n\\tpadding: 3em 3em 6em 3em;\\n\\tbackground: \u003C\u003Ccolour alert-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour alert-border>>;\\n}\\n\\ncanvas.tc-edit-bitmapeditor {\\n\\tborder: 6px solid \u003C\u003Ccolour tiddler-editor-border-image>>;\\n\\tcursor: crosshair;\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tmargin-top: 6px;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.tc-edit-bitmapeditor-width {\\n\\tdisplay: block;\\n}\\n\\n.tc-edit-bitmapeditor-height {\\n\\tdisplay: block;\\n}\\n\\n.tc-tiddler-body {\\n\\tclear: both;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-body {\\n\\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\\n\\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\\n}\\n\\n.tc-titlebar, .tc-tiddler-edit-title {\\n\\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\\n}\\n\\nhtml body.tc-body.tc-single-tiddler-window {\\n\\tmargin: 1em;\\n\\tbackground: \u003C\u003Ccolour tiddler-background>>;\\n}\\n\\n.tc-single-tiddler-window img,\\n.tc-single-tiddler-window svg,\\n.tc-single-tiddler-window canvas,\\n.tc-single-tiddler-window embed,\\n.tc-single-tiddler-window iframe {\\n\\tmax-width: 100%;\\n}\\n\\n/*\\n** Editor\\n*/\\n\\n.tc-editor-toolbar {\\n\\tmargin-top: 8px;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-editor-toolbar,\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-editor-toolbar {\\n\\tgrid-area: toolbar;\\n}\\n\\n.tc-editor-toolbar button {\\n\\tvertical-align: middle;\\n\\tbackground-color: \u003C\u003Ccolour tiddler-controls-foreground>>;\\n\\tcolor: \u003C\u003Ccolour tiddler-controls-foreground-selected>>;\\n\\tfill: \u003C\u003Ccolour tiddler-controls-foreground-selected>>;\\n\\tborder-radius: 4px;\\n\\tpadding: 3px;\\n\\tmargin: 2px 0 2px 4px;\\n}\\n\\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\\n\\tmargin-left: 1px;\\n\\twidth: 1em;\\n\\tborder-radius: 8px;\\n}\\n\\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\\n\\tmargin-left: 11px;\\n}\\n\\n.tc-editor-toolbar button.tc-selected {\\n\\tbackground-color: \u003C\u003Ccolour primary>>;\\n}\\n\\n.tc-editor-toolbar button svg {\\n\\twidth: 1.6em;\\n\\theight: 1.2em;\\n}\\n\\n.tc-editor-toolbar .tc-drop-down button.tc-btn-mini {\\n\\tpadding: 2px 4px;\\n}\\n\\n.tc-editor-toolbar button:hover {\\n\\tbackground-color: \u003C\u003Ccolour tiddler-controls-foreground-selected>>;\\n\\tfill: \u003C\u003Ccolour background>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\\n\\twhite-space: normal;\\n}\\n\\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\\n\\tdisplay: inline-block;\\n\\tpadding: 3px;\\n\\twidth: auto;\\n}\\n\\n.tc-editor-toolbar .tc-search-results {\\n\\tpadding: 0;\\n}\\n\\n.tc-editor-toolbar button.tc-editortoolbar-stamp-button + .tc-popup .tc-drop-down > p {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n}\\n\\n.tc-editor-toolbar button.tc-editortoolbar-stamp-button + .tc-popup .tc-drop-down a.tc-tiddlylink {\\n\\tfont-weight: normal;\\n}\\n\\n/*\\n** Adjustments for fluid-fixed mode\\n*/\\n\\n@media (min-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\n\u003C\u003Cif-fluid-fixed text:\\\"\\\"\\\"\\n\\n\\t.tc-story-river {\\n\\t\\tpadding-right: 0;\\n\\t\\tposition: relative;\\n\\t\\twidth: auto;\\n\\t\\tleft: 0;\\n\\t\\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\\n\\t\\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\\n\\t}\\n\\n\\t.tc-tiddler-frame {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.tc-sidebar-scrollable {\\n\\t\\tleft: auto;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t\\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\\n\\t}\\n\\n\\tbody.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\\n\\t\\twidth: 100%;\\n\\t\\twidth: calc(100% - 42px);\\n\\t}\\n\\n\\\"\\\"\\\" hiddenSidebarText:\\\"\\\"\\\"\\n\\n\\t.tc-story-river {\\n\\t\\tpadding-right: 3em;\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\tbody.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\\n\\t\\twidth: 100%;\\n\\t\\twidth: calc(100% - 84px);\\n\\t}\\n\\n\\\"\\\"\\\">>\\n\\n}\\n\\n/*\\n** Toolbar buttons\\n*/\\n\\n.tc-page-controls svg.tc-image-new-button {\\n\\tfill: \u003C\u003Ccolour toolbar-new-button>>;\\n}\\n\\n.tc-page-controls svg.tc-image-options-button {\\n\\tfill: \u003C\u003Ccolour toolbar-options-button>>;\\n}\\n\\n.tc-page-controls svg.tc-image-save-button {\\n\\tfill: \u003C\u003Ccolour toolbar-save-button>>;\\n}\\n\\n.tc-tiddler-controls button svg.tc-image-info-button {\\n\\tfill: \u003C\u003Ccolour toolbar-info-button>>;\\n}\\n\\n.tc-tiddler-controls button svg.tc-image-edit-button {\\n\\tfill: \u003C\u003Ccolour toolbar-edit-button>>;\\n}\\n\\n.tc-tiddler-controls button svg.tc-image-close-button {\\n\\tfill: \u003C\u003Ccolour toolbar-close-button>>;\\n}\\n\\n.tc-tiddler-controls button svg.tc-image-delete-button {\\n\\tfill: \u003C\u003Ccolour toolbar-delete-button>>;\\n}\\n\\n.tc-tiddler-controls button svg.tc-image-cancel-button {\\n\\tfill: \u003C\u003Ccolour toolbar-cancel-button>>;\\n}\\n\\n.tc-tiddler-controls button svg.tc-image-done-button {\\n\\tfill: \u003C\u003Ccolour toolbar-done-button>>;\\n}\\n\\n.tc-page-controls svg.tc-image-layout-button {\\n\\tfill: \u003C\u003Ccolour toolbar-options-button>>;\\n}\\n\\n/*\\n** Tiddler edit mode\\n*/\\n\\n.tc-tiddler-edit-frame em.tc-edit {\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n\\tfont-style: normal;\\n}\\n\\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\\n\\tfont-style: normal;\\n}\\n\\n.tc-type-selector .tc-edit-typeeditor {\\n\\twidth: auto;\\n}\\n\\n.tc-type-selector-dropdown-wrapper {\\n\\tdisplay: inline-block;\\n}\\n\\n\u003C\u003Cset-type-selector-min-width>>\\n\\n.tc-edit-tags {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddler-editor-border>>;\\n\\tpadding: 4px 8px 4px 8px;\\n}\\n\\n.tc-edit-add-tag {\\n\\tdisplay: inline-block;\\n}\\n\\n.tc-edit-add-tag .tc-add-tag-name input {\\n\\twidth: 50%;\\n}\\n\\n.tc-edit-add-tag .tc-keyboard {\\n\\tdisplay:inline;\\n}\\n\\n.tc-edit-tags .tc-tag-label {\\n\\tdisplay: inline-block;\\n}\\n\\n.tc-edit-tags-list {\\n\\tmargin: 14px 0 14px 0;\\n}\\n\\n.tc-remove-tag-button {\\n\\tpadding-left: 4px;\\n}\\n\\n.tc-tiddler-preview {\\n\\toverflow: auto;\\n}\\n\\n.tc-tiddler-editor {\\n\\tdisplay: grid;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview {\\n\\tgrid-template-areas:\\n\\t\\t\\\"toolbar toolbar\\\"\\n\\t\\t\\\"editor preview\\\";\\n\\tgrid-template-columns: 1fr 1fr;\\n\\tgrid-template-rows: auto 1fr;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden {\\n\\tgrid-template-areas:\\n\\t\\t\\\"toolbar\\\"\\n\\t\\t\\\"editor\\\";\\n\\tgrid-template-columns: 1fr;\\n\\tgrid-template-rows: auto 1fr;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-tiddler-preview-preview {\\n\\tgrid-area: preview;\\n\\toverflow-wrap: anywhere;\\n\\tword-break: normal;\\n\\tborder: 1px solid \u003C\u003Ccolour tiddler-editor-border>>;\\n\\tmargin: 4px 0 3px 3px;\\n\\tpadding: 3px 3px 3px 3px;\\n}\\n\\n\u003C\u003Cif-editor-height-fixed then:\\\"\\\"\\\"\\n\\n.tc-tiddler-preview-preview {\\n\\toverflow-y: scroll;\\n\\theight: {{$:/config/TextEditor/EditorHeight/Height}};\\n}\\n\\n\\\"\\\"\\\">>\\n\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-edit-texteditor,\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-edit-texteditor {\\n\\tgrid-area: editor;\\n}\\n\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview canvas.tc-edit-bitmapeditor,\\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden canvas.tc-edit-bitmapeditor {\\n\\tgrid-area: editor;\\n\\tmax-width: 100%;\\n}\\n\\n.tc-edit-fields {\\n\\twidth: 100%;\\n}\\n\\n.tc-edit-fields.tc-edit-fields-small {\\n\\tmargin-top: 0;\\n\\tmargin-bottom: 0;\\n}\\n\\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\\n\\tborder: none;\\n\\tpadding: 4px;\\n}\\n\\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\\n\\tbackground-color: \u003C\u003Ccolour tiddler-editor-fields-odd>>;\\n}\\n\\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\\n\\tbackground-color: \u003C\u003Ccolour tiddler-editor-fields-even>>;\\n}\\n\\n.tc-edit-field-name {\\n\\ttext-align: right;\\n}\\n\\n.tc-edit-field-value input {\\n\\twidth: 100%;\\n}\\n\\n.tc-edit-field-remove {\\n}\\n\\n.tc-edit-field-remove svg {\\n\\theight: 1em;\\n\\twidth: 1em;\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n\\tvertical-align: middle;\\n}\\n\\n.tc-edit-field-add-name-wrapper input.tc-edit-texteditor {\\n\\twidth: auto;\\n}\\n\\n.tc-edit-field-add-name-wrapper {\\n\\tdisplay: inline-block;\\n}\\n\\n.tc-edit-field-add-value {\\n\\tdisplay: inline-block;\\n}\\n\\n@media (min-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\n\\t.tc-edit-field-add-value {\\n\\t\\twidth: 35%;\\n\\t}\\n\\n}\\n\\n.tc-edit-field-add-button {\\n\\tdisplay: inline-block;\\n\\twidth: 10%;\\n}\\n\\n\\n/*\\n** Tiddler editor dropzone\\n*/\\n\\n.tc-dropzone-editor {\\n\\tposition:relative;\\n}\\n\\n.tc-dropzone-editor.tc-dragover .tc-editor-toolbar::after{\\n\\tz-index: 10000;\\n\\ttop:0;\\n\\tleft:0;\\n\\tright:0;\\n\\theight: 100%;\\n\\tbackground: \u003C\u003Ccolour dropzone-background>>;\\n\\tcontent: \\\"\u003C\u003Clingo DropMessage>>\\\";\\n\\tpointer-events: none;\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbackground-color: \u003C\u003Ccolor background>>;\\n\\tborder: 4px dashed \u003C\u003Ccolor modal-border>>;\\n\\tfont-weight: bold;\\n\\tfont-size: 150%;\\n\\topacity: 0.8;\\n\\tcolor: \u003C\u003Ccolor foreground>>;\\n}\\n\\n.tc-editor-importpopup {\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.tc-editor-import {\\n\\tposition: absolute;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\ttransform: translate(-50%, -50%);\\n\\tbackground: \u003C\u003Ccolor pre-background>>;\\n\\tbox-shadow: 2px 2px 10px \u003C\u003Ccolour foreground>>;\\n\\tpadding: 10px;\\n\\twidth: 96%;\\n\\tborder: 1px solid \u003C\u003Ccolor tiddler-controls-foreground>>;\\n\\ttext-align:center;\\n}\\n\\n.tc-editor-import img {\\n\\tmax-height: 500px;\\n}\\n\\n/*\\n** Storyview Classes\\n*/\\n\\n.tc-viewswitcher .tc-image-button {\\n\\tmargin-right: .3em;\\n}\\n\\n.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\\n\\tposition: absolute;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n}\\n\\n@media (min-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\n\\t.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\\n\\t\\twidth: calc(100% - 84px);\\n\\t}\\n\\n}\\n\\n/*\\n** Dropdowns\\n*/\\n\\n.tc-btn-dropdown {\\n\\ttext-align: left;\\n}\\n\\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\\n\\theight: 1em;\\n\\twidth: 1em;\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-drop-down-wrapper {\\n\\tposition: relative;\\n}\\n\\n.tc-drop-down {\\n\\tmin-width: 380px;\\n\\tborder: 1px solid \u003C\u003Ccolour dropdown-border>>;\\n\\tbackground-color: \u003C\u003Ccolour dropdown-background>>;\\n\\tpadding: 7px 0 7px 0;\\n\\tmargin: 4px 0 0 0;\\n\\twhite-space: nowrap;\\n\\ttext-shadow: none;\\n\\tline-height: 1.4;\\n}\\n\\n.tc-drop-down .tc-drop-down {\\n\\tmargin-left: 14px;\\n}\\n\\n.tc-drop-down button svg, .tc-drop-down a svg {\\n\\tfill: \u003C\u003Ccolour foreground>>;\\n}\\n\\n.tc-drop-down button:disabled svg {\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-drop-down button.tc-btn-invisible:hover svg {\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-drop-down .tc-drop-down-info {\\n\\tpadding-left: 14px;\\n}\\n\\n.tc-drop-down p {\\n\\tpadding: 0 14px 0 14px;\\n}\\n\\n.tc-drop-down svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n}\\n\\n.tc-drop-down img {\\n\\twidth: 1em;\\n}\\n\\n.tc-drop-down a, .tc-drop-down button {\\n\\tdisplay: block;\\n\\tpadding: 0 14px 0 14px;\\n\\twidth: 100%;\\n\\ttext-align: left;\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n\\tline-height: 1.4;\\n}\\n\\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\\n\\tdisplay: inline-block;\\n\\twidth: auto;\\n\\tmargin-bottom: 0px;\\n\\tborder-bottom-left-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n}\\n\\n.tc-drop-down .tc-prompt {\\n\\tpadding: 0 14px;\\n}\\n\\n.tc-drop-down .tc-chooser {\\n\\tborder: none;\\n}\\n\\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\\n\\tfont-size: 0.4em;\\n\\tpadding-left: 1.2em;\\n}\\n\\n.tc-drop-down .tc-file-input-wrapper {\\n\\twidth: 100%;\\n}\\n\\n.tc-drop-down .tc-file-input-wrapper button {\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n}\\n\\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\\n\\tcolor: \u003C\u003Ccolour tiddler-link-background>>;\\n\\tbackground-color: \u003C\u003Ccolour tiddler-link-foreground>>;\\n\\ttext-decoration: none;\\n}\\n\\n.tc-drop-down .tc-tab-buttons button {\\n\\tbackground-color: \u003C\u003Ccolour dropdown-tab-background>>;\\n}\\n\\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\\n\\tbackground-color: \u003C\u003Ccolour dropdown-tab-background-selected>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour dropdown-tab-background-selected>>;\\n}\\n\\n.tc-drop-down-bullet {\\n\\tdisplay: inline-block;\\n\\twidth: 0.5em;\\n}\\n\\n.tc-drop-down .tc-tab-contents a {\\n\\tpadding: 0 0.5em 0 0.5em;\\n}\\n\\n.tc-block-dropdown-wrapper {\\n\\tposition: relative;\\n}\\n\\n.tc-block-dropdown {\\n\\tposition: absolute;\\n\\tmin-width: 220px;\\n\\tborder: 1px solid \u003C\u003Ccolour dropdown-border>>;\\n\\tbackground-color: \u003C\u003Ccolour dropdown-background>>;\\n\\tpadding: 7px 0;\\n\\tmargin: 4px 0 0 0;\\n\\twhite-space: nowrap;\\n\\tz-index: 1000;\\n\\ttext-shadow: none;\\n}\\n\\n.tc-block-dropdown.tc-search-drop-down {\\n\\tmargin-left: -12px;\\n}\\n\\n.tc-block-dropdown a {\\n\\tdisplay: block;\\n\\tpadding: 4px 14px 4px 14px;\\n}\\n\\n.tc-block-dropdown.tc-search-drop-down a {\\n\\tdisplay: block;\\n\\tpadding: 0px 10px 0px 10px;\\n}\\n\\n.tc-drop-down .tc-dropdown-item-plain,\\n.tc-block-dropdown .tc-dropdown-item-plain {\\n\\tpadding: 4px 14px 4px 7px;\\n}\\n\\n.tc-drop-down .tc-dropdown-item,\\n.tc-block-dropdown .tc-dropdown-item {\\n\\tpadding: 4px 14px 4px 7px;\\n\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-block-dropdown a.tc-tiddlylink:hover {\\n\\tcolor: \u003C\u003Ccolour tiddler-link-background>>;\\n\\tbackground-color: \u003C\u003Ccolour tiddler-link-foreground>>;\\n\\ttext-decoration: none;\\n}\\n\\n.tc-search-results {\\n\\tpadding: 0 7px 0 7px;\\n}\\n\\n.tc-image-chooser, .tc-colour-chooser {\\n\\twhite-space: normal;\\n}\\n\\n.tc-image-chooser a,\\n.tc-colour-chooser a {\\n\\tdisplay: inline-block;\\n\\tvertical-align: top;\\n\\ttext-align: center;\\n\\tposition: relative;\\n}\\n\\n.tc-image-chooser a {\\n\\tborder: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tpadding: 2px;\\n\\tmargin: 2px;\\n\\twidth: 4em;\\n\\theight: 4em;\\n}\\n\\n.tc-colour-chooser a {\\n\\tpadding: 3px;\\n\\twidth: 2em;\\n\\theight: 2em;\\n\\tvertical-align: middle;\\n}\\n\\n.tc-image-chooser a:hover,\\n.tc-colour-chooser a:hover {\\n\\tbackground: \u003C\u003Ccolour primary>>;\\n\\tpadding: 0px;\\n\\tborder: 3px solid \u003C\u003Ccolour primary>>;\\n}\\n\\n.tc-image-chooser a svg,\\n.tc-image-chooser a img {\\n\\tdisplay: inline-block;\\n\\twidth: auto;\\n\\theight: auto;\\n\\tmax-width: 3.5em;\\n\\tmax-height: 3.5em;\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tmargin: auto;\\n}\\n\\n/* Make search dropdown visible on small screens. issue #7003 */\\n@media (max-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\n\\t.tc-sidebar-search .tc-block-dropdown-wrapper {\\n\\t\\tposition: initial;\\n\\t}\\n\\n}\\n\\n/*\\n** Modals\\n*/\\n\\n.tc-modal-wrapper {\\n\\tposition: fixed;\\n\\toverflow: auto;\\n\\toverflow-y: scroll;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tz-index: 900;\\n}\\n\\n.tc-modal-backdrop {\\n\\tposition: fixed;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tz-index: 1000;\\n\\tbackground-color: \u003C\u003Ccolour modal-backdrop>>;\\n}\\n\\n.tc-modal {\\n\\tz-index: 1100;\\n\\tbackground-color: \u003C\u003Ccolour modal-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour modal-border>>;\\n}\\n\\n@media (max-width: 55em) {\\n\\t.tc-modal {\\n\\t\\tposition: fixed;\\n\\t\\ttop: 1em;\\n\\t\\tleft: 1em;\\n\\t\\tright: 1em;\\n\\t}\\n\\n\\t.tc-modal-body {\\n\\t\\toverflow-y: auto;\\n\\t\\tmax-height: 400px;\\n\\t\\tmax-height: 60vh;\\n\\t}\\n}\\n\\n@media (min-width: 55em) {\\n\\t.tc-modal {\\n\\t\\tposition: fixed;\\n\\t\\ttop: 2em;\\n\\t\\tleft: 25%;\\n\\t\\twidth: 50%;\\n\\t}\\n\\n\\t.tc-modal-body {\\n\\t\\toverflow-y: auto;\\n\\t\\tmax-height: 400px;\\n\\t\\tmax-height: 60vh;\\n\\t}\\n}\\n\\n.tc-modal-header {\\n\\tpadding: 9px 15px;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour modal-header-border>>;\\n}\\n\\n.tc-modal-header h3 {\\n\\tmargin: 0;\\n\\tline-height: 30px;\\n}\\n\\n.tc-modal-header img, .tc-modal-header svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n}\\n\\n.tc-modal-body {\\n\\tpadding: 15px;\\n}\\n\\n.tc-modal-footer {\\n\\tpadding: 14px 15px 15px;\\n\\tmargin-bottom: 0;\\n\\ttext-align: right;\\n\\tbackground-color: \u003C\u003Ccolour modal-footer-background>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour modal-footer-border>>;\\n}\\n\\n.tc-modal-prevent-scroll {\\n\\toverflow: hidden;\\n}\\n\\n/*\\n** Centered modals\\n*/\\n.tc-modal-centered .tc-modal {\\n\\twidth: auto;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\ttransform: translate(-50%, -50%) !important;\\n}\\n\\n/*\\n** Notifications\\n*/\\n\\n.tc-notification {\\n\\tposition: fixed;\\n\\ttop: 14px;\\n\\tright: 42px;\\n\\tz-index: 1300;\\n\\tmax-width: 280px;\\n\\tpadding: 0 14px 0 14px;\\n\\tbackground-color: \u003C\u003Ccolour notification-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour notification-border>>;\\n}\\n\\n/*\\n** Tabs\\n*/\\n\\n.tc-tab-set.tc-vertical {\\n\\tdisplay: -webkit-flex;\\n\\tdisplay: flex;\\n}\\n\\n.tc-tab-buttons {\\n\\tfont-size: 0.85em;\\n\\tpadding-top: 1em;\\n\\tmargin-bottom: -2px;\\n}\\n\\n.tc-tab-buttons.tc-vertical {\\n\\tz-index: 100;\\n\\tdisplay: block;\\n\\tpadding-top: 14px;\\n\\tvertical-align: top;\\n\\ttext-align: right;\\n\\tmargin-bottom: inherit;\\n\\tmargin-right: -1px;\\n\\tmax-width: 33%;\\n\\t-webkit-flex: 0 0 auto;\\n\\tflex: 0 0 auto;\\n}\\n\\n.tc-tab-buttons button.tc-tab-selected {\\n\\tcolor: \u003C\u003Ccolour tab-foreground-selected>>;\\n\\tbackground-color: \u003C\u003Ccolour tab-background-selected>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border-selected>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-border-selected>>;\\n\\tborder-right: 1px solid \u003C\u003Ccolour tab-border-selected>>;\\n}\\n\\n.tc-tab-buttons button {\\n\\tcolor: \u003C\u003Ccolour tab-foreground>>;\\n\\tpadding: 3px 5px 3px 5px;\\n\\tmargin-right: 0.3em;\\n\\tfont-weight: normal;\\n\\tborder: none;\\n\\tbackground: inherit;\\n\\tbackground-color: \u003C\u003Ccolour tab-background>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-right: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-top-left-radius: 2px;\\n\\tborder-top-right-radius: 2px;\\n\\tborder-bottom-left-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n}\\n\\n.tc-tab-buttons.tc-vertical button {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\tmargin-top: 3px;\\n\\tmargin-right: 0;\\n\\ttext-align: right;\\n\\tbackground-color: \u003C\u003Ccolour tab-background>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-right: none;\\n\\tborder-top-left-radius: 2px;\\n\\tborder-bottom-left-radius: 2px;\\n\\tborder-top-right-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n}\\n\\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\\n\\tbackground-color: \u003C\u003Ccolour tab-background-selected>>;\\n\\tborder-right: 1px solid \u003C\u003Ccolour tab-background-selected>>;\\n}\\n\\n.tc-tab-divider {\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-divider>>;\\n}\\n\\n.tc-tab-divider.tc-vertical {\\n\\tdisplay: none;\\n}\\n\\n.tc-tab-content {\\n\\tmargin-top: 14px;\\n}\\n\\n.tc-tab-content.tc-vertical {\\n\\tdisplay: inline-block;\\n\\tvertical-align: top;\\n\\tpadding-top: 0;\\n\\tpadding-left: 14px;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\t-webkit-flex: 1 0 70%;\\n\\tflex: 1 0 70%;\\n\\toverflow: auto;\\n}\\n\\n.tc-sidebar-lists .tc-tab-buttons {\\n\\tmargin-bottom: -1px;\\n}\\n\\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\\n\\tbackground-color: \u003C\u003Ccolour sidebar-tab-background-selected>>;\\n\\tcolor: \u003C\u003Ccolour sidebar-tab-foreground-selected>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour sidebar-tab-border-selected>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour sidebar-tab-border-selected>>;\\n\\tborder-right: 1px solid \u003C\u003Ccolour sidebar-tab-border-selected>>;\\n}\\n\\n.tc-sidebar-lists .tc-tab-buttons button {\\n\\tbackground-color: \u003C\u003Ccolour sidebar-tab-background>>;\\n\\tcolor: \u003C\u003Ccolour sidebar-tab-foreground>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour sidebar-tab-border>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour sidebar-tab-border>>;\\n\\tborder-right: 1px solid \u003C\u003Ccolour sidebar-tab-border>>;\\n}\\n\\n.tc-sidebar-lists .tc-tab-divider {\\n\\tborder-top: 1px solid \u003C\u003Ccolour sidebar-tab-divider>>;\\n}\\n\\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\tbackground-color: \u003C\u003Ccolour sidebar-tab-background>>;\\n\\tborder-top: none;\\n\\tborder-left: none;\\n\\tborder-bottom: none;\\n\\tborder-right: 1px solid #ccc;\\n\\tmargin-bottom: inherit;\\n}\\n\\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\\n\\tbackground-color: \u003C\u003Ccolour sidebar-tab-background-selected>>;\\n\\tborder: none;\\n}\\n\\n/*\\n** Manager\\n*/\\n\\n.tc-manager-wrapper {\\n\\t\\n}\\n\\n.tc-manager-controls {\\n\\t\\n}\\n\\n.tc-manager-control {\\n\\tmargin: 0.5em 0;\\n}\\n\\n.tc-manager-control select {\\n\\tmax-width: 100%;\\n}\\n\\n.tc-manager-list {\\n\\twidth: 100%;\\n\\tborder-top: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-right: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-manager-list-item {\\n\\n}\\n\\n.tc-manager-list-item-heading {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\ttext-align: left;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tpadding: 3px;\\n}\\n\\n.tc-manager-list-item-heading-selected {\\n\\tfont-weight: bold;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n\\tfill: \u003C\u003Ccolour background>>;\\n\\tbackground-color: \u003C\u003Ccolour foreground>>;\\n}\\n\\n.tc-manager-list-item-heading:hover {\\n\\tbackground: \u003C\u003Ccolour primary>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-manager-list-item-content {\\n\\tdisplay: flex;\\n}\\n\\n.tc-manager-list-item-content-sidebar {\\n\\tflex: 1 0;\\n\\tbackground: \u003C\u003Ccolour tiddler-editor-background>>;\\n\\tborder-right: 0.5em solid \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-bottom: 0.5em solid \u003C\u003Ccolour muted-foreground>>;\\n\\twhite-space: nowrap;\\n}\\n\\n.tc-manager-list-item-content-item-heading {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\ttext-align: left;\\n\\tbackground: \u003C\u003Ccolour muted-foreground>>;\\n\\ttext-transform: uppercase;\\n\\tfont-size: 0.6em;\\n\\tfont-weight: bold;\\n\\tpadding: 0.5em 0 0.5em 0;\\n}\\n\\n.tc-manager-list-item-content-item-body {\\n\\tpadding: 0 0.5em 0 0.5em;\\n}\\n\\n.tc-manager-list-item-content-item-body > pre {\\n\\tmargin: 0.5em 0 0.5em 0;\\n\\tborder: none;\\n\\tbackground: inherit;\\n}\\n\\n.tc-manager-list-item-content-tiddler {\\n\\tflex: 3 1;\\n\\tborder-left: 0.5em solid \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-right: 0.5em solid \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-bottom: 0.5em solid \u003C\u003Ccolour muted-foreground>>;\\n}\\n\\n.tc-manager-list-item-content-item-body > table {\\n\\tborder: none;\\n\\tpadding: 0;\\n\\tmargin: 0;\\n}\\n\\n.tc-manager-list-item-content-item-body > table td {\\n\\tborder: none;\\n}\\n\\n.tc-manager-icon-editor > button {\\n\\twidth: 100%;\\n}\\n\\n.tc-manager-icon-editor > button > svg,\\n.tc-manager-icon-editor > button > button {\\n\\twidth: 100%;\\n\\theight: auto;\\n}\\n\\n/*\\n** Import table\\n*/\\n\\n.tc-import-table {\\n\\twidth: 100%;\\n}\\n\\n.tc-import-table svg.tc-image-edit-button {\\n\\tmax-width: unset;\\n}\\n\\n.tc-import-table th:first-of-type {\\n\\twidth: 10%;\\n}\\n\\n.tc-import-table th:last-of-type {\\n\\twidth: 30%;\\n}\\n\\n.tc-import-table .tc-row-disabled {\\n\\tbackground: \u003C\u003Ccolour very-muted-foreground>>10;\\n\\topacity: 0.8;\\n}\\n\\n.tc-import-table .tc-row-warning {\\n\\tbackground: \u003C\u003Ccolour diff-delete-background>>50;\\n}\\n\\n/*\\n** Alerts\\n*/\\n\\n.tc-alerts {\\n\\tposition: fixed;\\n\\ttop: 28px;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tmax-width: 50%;\\n\\tz-index: 20000;\\n}\\n\\n.tc-alert {\\n\\tposition: relative;\\n\\tmargin: 14px;\\n\\tpadding: 7px;\\n\\tborder: 1px solid \u003C\u003Ccolour alert-border>>;\\n\\tbackground-color: \u003C\u003Ccolour alert-background>>;\\n}\\n\\n.tc-alert-toolbar {\\n\\tposition: absolute;\\n\\ttop: 7px;\\n\\tright: 7px;\\n\\tline-height: 0;\\n}\\n\\n.tc-alert-toolbar svg {\\n\\tfill: \u003C\u003Ccolour alert-muted-foreground>>;\\n}\\n\\n.tc-alert-subtitle {\\n\\tcolor: \u003C\u003Ccolour alert-muted-foreground>>;\\n\\tfont-weight: bold;\\n\\tfont-size: 0.8em;\\n\\tmargin-bottom: 0.5em;\\n}\\n\\n.tc-alert-body > p {\\n\\tmargin: 0;\\n}\\n\\n.tc-alert-highlight {\\n\\tcolor: \u003C\u003Ccolour alert-highlight>>;\\n}\\n\\n@media (min-width: \u003C\u003Csidebarbreakpoint>>) {\\n\\n\\t.tc-static-alert {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t.tc-static-alert-inner {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100;\\n\\t}\\n\\n}\\n\\n.tc-static-alert-inner {\\n\\tpadding: 0 2px 2px 42px;\\n\\tcolor: \u003C\u003Ccolour static-alert-foreground>>;\\n}\\n\\n/*\\n** Floating drafts list\\n*/\\n\\n.tc-drafts-list {\\n\\tz-index: 2000;\\n\\tposition: fixed;\\n\\tfont-size: 0.8em;\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n.tc-drafts-list a {\\n\\tmargin: 0 0.5em;\\n\\tpadding: 4px 4px;\\n\\tborder-top-left-radius: 4px;\\n\\tborder-top-right-radius: 4px;\\n\\tborder: 1px solid \u003C\u003Ccolour background>>;\\n\\tborder-bottom: none;\\n\\tbackground: \u003C\u003Ccolour dirty-indicator>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-drafts-list a:hover {\\n\\ttext-decoration: none;\\n\\tbackground: \u003C\u003Ccolour foreground>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-drafts-list a svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n\\tvertical-align: text-bottom;\\n}\\n\\n/*\\n** Control panel\\n*/\\n\\n.tc-control-panel td {\\n\\tpadding: 4px;\\n}\\n\\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\\n\\twidth: 100%;\\n}\\n\\n.tc-plugin-info {\\n\\tdisplay: flex;\\n\\ttext-shadow: none;\\n\\tborder: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n\\tbackground-color: \u003C\u003Ccolour background>>;\\n\\tmargin: 0.5em 0 0.5em 0;\\n\\tpadding: 4px;\\n\\talign-items: center;\\n}\\n\\n.tc-sidebar-lists a.tc-tiddlylink.tc-plugin-info {\\n\\tcolor: \u003C\u003Ccolour tiddler-link-foreground>>;\\n}\\n\\n\\n.tc-plugin-info-sub-plugins .tc-plugin-info {\\n\\tmargin: 0.5em;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-plugin-info-sub-plugin-indicator {\\n\\tmargin: -16px 1em 0 2em;\\n}\\n\\n.tc-plugin-info-sub-plugin-indicator button {\\n\\tcolor: \u003C\u003Ccolour background>>;\\n\\tbackground: \u003C\u003Ccolour foreground>>;\\n\\tborder-radius: 8px;\\n\\tpadding: 2px 7px;\\n\\tfont-size: 0.75em;\\n}\\n\\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\\n\\tmargin-left: 1em;\\n\\tmargin-right: 1em;\\n}\\n\\n.tc-plugin-info-disabled {\\n\\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\\n\\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\\n}\\n\\n.tc-plugin-info-disabled:hover {\\n\\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\\n\\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\\n}\\n\\na.tc-tiddlylink.tc-plugin-info:hover {\\n\\ttext-decoration: none;\\n\\tbackground-color: \u003C\u003Ccolour primary>>;\\n\\tcolor: \u003C\u003Ccolour background>>;\\n\\tfill: \u003C\u003Ccolour foreground>>;\\n}\\n\\na.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-plugin-info-chunk {\\n\\tmargin: 2px;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tline-height: 1;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-icon {\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tline-height: 1;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-description {\\n\\tflex-grow: 1;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\\n\\tfont-size: 0.8em;\\n\\tline-height: 1.2;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\ttext-align: right;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\\n\\tfont-size: 1em;\\n\\tline-height: 1.2;\\n\\tmargin: 2px 0 2px 0;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\\n\\tfont-size: 0.8em;\\n\\tline-height: 1.2;\\n\\tmargin: 2px 0 2px 0;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-description div {\\n\\tfont-size: 0.7em;\\n\\tline-height: 1.2;\\n\\tmargin: 2px 0 2px 0;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n}\\n\\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\\n\\twidth: 2em;\\n\\theight: 2em;\\n}\\n\\n.tc-plugin-info-dropdown {\\n\\tborder: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n\\tmargin-top: -8px;\\n}\\n\\n.tc-plugin-info-dropdown-message {\\n\\tbackground: \u003C\u003Ccolour message-background>>;\\n\\tpadding: 0.5em 1em 0.5em 1em;\\n\\tfont-weight: bold;\\n\\tfont-size: 0.8em;\\n}\\n\\n.tc-plugin-info-dropdown-body {\\n\\tpadding: 1em 1em 0 1em;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-plugin-info-sub-plugins {\\n\\tpadding: 0.5em;\\n\\tmargin: 0 1em 1em 1em;\\n\\tbackground: \u003C\u003Ccolour notification-background>>;\\n}\\n\\n.tc-install-plugin {\\n\\tfont-weight: bold;\\n\\tbackground: green;\\n\\tcolor: white;\\n\\tfill: white;\\n\\tborder-radius: 4px;\\n\\tpadding: 3px;\\n}\\n\\n.tc-install-plugin.tc-reinstall-downgrade {\\n\\tbackground: red;\\n}\\n\\n.tc-install-plugin.tc-reinstall {\\n\\tbackground: blue;\\n}\\n\\n.tc-install-plugin.tc-reinstall-upgrade {\\n\\tbackground: orange;\\n}\\n\\n.tc-check-list {\\n\\tline-height: 2em;\\n}\\n\\n.tc-check-list .tc-image-button {\\n\\theight: 1.5em;\\n}\\n\\n/*\\n** Message boxes\\n*/\\n\\n.tc-message-box {\\n\\tborder: 1px solid \u003C\u003Ccolour message-border>>;\\n\\tbackground: \u003C\u003Ccolour message-background>>;\\n\\tpadding: 0px 21px 0px 21px;\\n\\tfont-size: 12px;\\n\\tline-height: 18px;\\n\\tcolor: \u003C\u003Ccolour message-foreground>>;\\n}\\n\\n.tc-message-box svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n\\tvertical-align: text-bottom;\\n}\\n\\n/*\\n** Pictures\\n*/\\n\\n.tc-bordered-image {\\n\\tborder: 1px solid \u003C\u003Ccolour muted-foreground>>;\\n\\tpadding: 5px;\\n\\tmargin: 5px;\\n}\\n\\n/*\\n** Floats\\n*/\\n\\n.tc-float-right {\\n\\tfloat: right;\\n}\\n\\n/*\\n** Chooser\\n*/\\n\\n.tc-chooser {\\n\\tborder-right: 1px solid \u003C\u003Ccolour table-header-background>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour table-header-background>>;\\n}\\n\\n\\n.tc-chooser-item {\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour table-header-background>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour table-header-background>>;\\n\\tpadding: 2px 4px 2px 14px;\\n}\\n\\n.tc-drop-down .tc-chooser-item {\\n\\tpadding: 2px;\\n}\\n\\n.tc-chosen,\\n.tc-chooser-item:hover {\\n\\tbackground-color: \u003C\u003Ccolour table-header-background>>;\\n\\tborder-color: \u003C\u003Ccolour table-footer-background>>;\\n}\\n\\n.tc-chosen .tc-tiddlylink {\\n\\tcursor:default;\\n}\\n\\n.tc-chooser-item .tc-tiddlylink {\\n\\tdisplay: block;\\n\\ttext-decoration: none;\\n\\tbackground-color: transparent;\\n}\\n\\n.tc-chooser-item:hover .tc-tiddlylink:hover {\\n\\ttext-decoration: none;\\n}\\n\\n.tc-drop-down .tc-chosen .tc-tiddlylink,\\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n}\\n\\n.tc-chosen > .tc-tiddlylink:before {\\n\\tmargin-left: -10px;\\n\\tposition: relative;\\n\\tcontent: \\\"» \\\";\\n}\\n\\n.tc-chooser-item svg,\\n.tc-chooser-item img{\\n\\twidth: 1em;\\n\\theight: 1em;\\n\\tvertical-align: middle;\\n}\\n\\n.tc-language-chooser .tc-image-button img {\\n\\twidth: 2em;\\n\\tvertical-align: -0.15em;\\n}\\n\\n/*\\n** Palette swatches\\n*/\\n\\n.tc-swatches-horiz {\\n}\\n\\n.tc-swatches-horiz .tc-swatch {\\n\\tdisplay: inline-block;\\n}\\n\\n.tc-swatch {\\n\\twidth: 2em;\\n\\theight: 2em;\\n\\tmargin: 0.4em;\\n\\tborder: 1px solid #888;\\n}\\n\\ninput.tc-palette-manager-colour-input {\\n\\twidth: 100%;\\n\\tpadding: 0;\\n}\\n\\n/*\\n** Table of contents\\n*/\\n\\n.tc-sidebar-lists .tc-table-of-contents {\\n\\twhite-space: nowrap;\\n}\\n\\n.tc-table-of-contents button,\\n.tc-table-of-contents .toc-item-muted {\\n\\tcolor: \u003C\u003Ccolour sidebar-foreground>>;\\n}\\n\\n.tc-table-of-contents svg {\\n\\twidth: 0.7em;\\n\\theight: 0.7em;\\n\\tvertical-align: middle;\\n\\tfill: \u003C\u003Ccolour sidebar-foreground>>;\\n}\\n\\n.tc-table-of-contents ol {\\n\\tlist-style-type: none;\\n\\tpadding-left: 0;\\n}\\n\\n.tc-table-of-contents ol ol {\\n\\tpadding-left: 1em;\\n}\\n\\n.tc-table-of-contents li {\\n\\tfont-size: 1.0em;\\n\\tfont-weight: bold;\\n}\\n\\n.tc-table-of-contents li a {\\n\\tfont-weight: bold;\\n}\\n\\n.tc-table-of-contents li li {\\n\\tfont-size: 0.95em;\\n\\tfont-weight: normal;\\n\\tline-height: 1.4;\\n}\\n\\n.tc-table-of-contents li li a {\\n\\tfont-weight: normal;\\n}\\n\\n.tc-table-of-contents li li li {\\n\\tfont-size: 0.95em;\\n\\tfont-weight: normal;\\n\\tline-height: 1.5;\\n}\\n\\n.tc-table-of-contents li li li li {\\n\\tfont-size: 0.95em;\\n\\tfont-weight: normal;\\n}\\n\\n.tc-tabbed-table-of-contents {\\n\\tdisplay: -webkit-flex;\\n\\tdisplay: flex;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-table-of-contents {\\n\\tz-index: 100;\\n\\tdisplay: inline-block;\\n\\tpadding-left: 1em;\\n\\tmax-width: 50%;\\n\\t-webkit-flex: 0 0 auto;\\n\\tflex: 0 0 auto;\\n\\tbackground: \u003C\u003Ccolour tab-background>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tab-border>>;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\\n\\tdisplay: block;\\n\\tpadding: 0.12em 1em 0.12em 0.25em;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-background>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-background>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tab-background>>;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\\n\\ttext-decoration: none;\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tbackground: \u003C\u003Ccolour tab-border>>;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\\n\\tborder-top: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-left: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n\\tmargin-right: -1px;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\\n\\ttext-decoration: none;\\n}\\n\\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\\n\\tdisplay: inline-block;\\n\\tvertical-align: top;\\n\\tpadding-left: 1.5em;\\n\\tpadding-right: 1.5em;\\n\\tborder: 1px solid \u003C\u003Ccolour tab-border>>;\\n\\t-webkit-flex: 1 0 50%;\\n\\tflex: 1 0 50%;\\n}\\n\\n/*\\n** Dirty indicator\\n*/\\n\\nhtml body svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-clean {\\n\\tvisibility: visible;\\n}\\n\\nhtml body svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-dirty {\\n\\tvisibility: hidden;\\n}\\n\\nhtml body.tc-dirty svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-clean {\\n\\tvisibility: hidden;\\n}\\n\\nhtml body.tc-dirty svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-dirty {\\n\\tvisibility: visible;\\n}\\n\\nhtml body.tc-dirty span.tc-dirty-indicator, html body.tc-dirty span.tc-dirty-indicator svg {\\n\\tfill: \u003C\u003Ccolour dirty-indicator>>;\\n\\tcolor: \u003C\u003Ccolour dirty-indicator>>;\\n}\\n\\n/*\\n** File inputs\\n*/\\n\\n.tc-file-input-wrapper {\\n\\tposition: relative;\\n\\toverflow: hidden;\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n}\\n\\n.tc-file-input-wrapper input[type=file] {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tfont-size: 999px;\\n\\tmax-width: 100%;\\n\\tmax-height: 100%;\\n\\tfilter: alpha(opacity=0);\\n\\topacity: 0;\\n\\toutline: none;\\n\\tbackground: white;\\n\\tcursor: pointer;\\n\\tdisplay: inline-block;\\n}\\n\\n::-webkit-file-upload-button {\\n\\tcursor:pointer;\\n}\\n\\n/*\\n** Thumbnail macros\\n*/\\n\\n.tc-thumbnail-wrapper {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\tmargin: 6px;\\n\\tvertical-align: top;\\n}\\n\\n.tc-thumbnail-right-wrapper {\\n\\tfloat:right;\\n\\tmargin: 0.5em 0 0.5em 0.5em;\\n}\\n\\n.tc-thumbnail-image {\\n\\ttext-align: center;\\n\\toverflow: hidden;\\n\\tborder-radius: 3px;\\n}\\n\\n.tc-thumbnail-image svg,\\n.tc-thumbnail-image img {\\n\\tfilter: alpha(opacity=1);\\n\\topacity: 1;\\n\\tmin-width: 100%;\\n\\tmin-height: 100%;\\n\\tmax-width: 100%;\\n}\\n\\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\\n\\tfilter: alpha(opacity=0.8);\\n\\topacity: 0.8;\\n}\\n\\n.tc-thumbnail-background {\\n\\tposition: absolute;\\n\\tborder-radius: 3px;\\n}\\n\\n.tc-thumbnail-icon svg,\\n.tc-thumbnail-icon img {\\n\\twidth: 3em;\\n\\theight: 3em;\\n\\t\u003C\u003Cfilter \\\"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\\\">>\\n}\\n\\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\\n\\tfill: #fff;\\n\\t\u003C\u003Cfilter \\\"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\\\">>\\n}\\n\\n.tc-thumbnail-icon {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tdisplay: -webkit-flex;\\n\\t-webkit-align-items: center;\\n\\t-webkit-justify-content: center;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n.tc-thumbnail-caption {\\n\\tposition: absolute;\\n\\tbackground-color: #777;\\n\\tcolor: #fff;\\n\\ttext-align: center;\\n\\tbottom: 0;\\n\\twidth: 100%;\\n\\tfilter: alpha(opacity=0.9);\\n\\topacity: 0.9;\\n\\tline-height: 1.4;\\n\\tborder-bottom-left-radius: 3px;\\n\\tborder-bottom-right-radius: 3px;\\n}\\n\\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\\n\\tfilter: alpha(opacity=1);\\n\\topacity: 1;\\n}\\n\\n/*\\n** Diffs\\n*/\\n\\n.tc-diff-equal {\\n\\tbackground-color: \u003C\u003Ccolour diff-equal-background>>;\\n\\tcolor: \u003C\u003Ccolour diff-equal-foreground>>;\\n}\\n\\n.tc-diff-insert {\\n\\tbackground-color: \u003C\u003Ccolour diff-insert-background>>;\\n\\tcolor: \u003C\u003Ccolour diff-insert-foreground>>;\\n}\\n\\n.tc-diff-delete {\\n\\tbackground-color: \u003C\u003Ccolour diff-delete-background>>;\\n\\tcolor: \u003C\u003Ccolour diff-delete-foreground>>;\\n}\\n\\n.tc-diff-invisible {\\n\\tbackground-color: \u003C\u003Ccolour diff-invisible-background>>;\\n\\tcolor: \u003C\u003Ccolour diff-invisible-foreground>>;\\n}\\n\\n.tc-diff-tiddlers th {\\n\\ttext-align: right;\\n\\tbackground: \u003C\u003Ccolour background>>;\\n\\tfont-weight: normal;\\n\\tfont-style: italic;\\n}\\n\\n.tc-diff-tiddlers pre {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: none;\\n\\tbackground: none;\\n}\\n\\n/*\\n** Errors\\n*/\\n\\n.tc-error {\\n\\tbackground: #f00;\\n\\tcolor: #fff;\\n}\\n\\n/*\\n** Tree macro\\n*/\\n\\n.tc-tree div {\\n\\tpadding-left: 14px;\\n}\\n\\n.tc-tree ol {\\n\\tlist-style-type: none;\\n\\tpadding-left: 0;\\n\\tmargin-top: 0;\\n}\\n\\n.tc-tree ol ol {\\n\\tpadding-left: 1em;\\n}\\n\\n.tc-tree button {\\n\\tcolor: #acacac;\\n}\\n\\n.tc-tree svg {\\n\\tfill: #acacac;\\n}\\n\\n.tc-tree span svg {\\n\\twidth: 1em;\\n\\theight: 1em;\\n\\tvertical-align: baseline;\\n}\\n\\n.tc-tree li span {\\n\\tcolor: lightgray;\\n}\\n\\nselect {\\n\\tcolor: \u003C\u003Ccolour select-tag-foreground>>;\\n\\tbackground: \u003C\u003Ccolour select-tag-background>>;\\n}\\n\\n/*\\n** Translink macro\\n*/\\n\\n.tc-translink {\\n\\tbackground-color: \u003C\u003Ccolour pre-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour pre-border>>;\\n\\tpadding: 0 3px;\\n\\tborder-radius: 3px;\\n}\\n\\ndiv.tc-translink > div {\\n\\tmargin: 1em;\\n}\\n\\ndiv.tc-translink > div > a:first-child > h1 {\\n\\tfont-size: 1.2em;\\n\\tfont-weight: bold;\\n}\\n\\nspan.tc-translink > a:first-child {\\n\\tfont-weight: bold;\\n}\\n\\n/*\\n** Classes for displaying globals\\n*/\\n\\n.tc-global-tiddler-body {\\n\\tpadding: 0.25em;\\n\\tborder: 1px solid \u003C\u003Ccolour foreground>>;\\n\\tbackground-color: \u003C\u003Ccolour muted-foreground>>;\\n\\tborder-radius: 3px;\\n}\\n\\n.tc-global-tiddler-body-heading {\\n\\tmargin: 0 0 0.25em 0;\\n\\tfont-weight: normal;\\n}\\n\\n.tc-global-tiddler-body-type {\\n\\tmargin: 0 0 0.25em 0;\\n\\tborder-bottom: 1px solid \u003C\u003Ccolour foreground>>;\\n}\\n\\n.tc-global-tiddler-body-details {\\n\\tbackground-color: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-global-tiddler-body pre {\\n\\tmargin: 0;\\n\\tborder: 1px solid \u003C\u003Ccolour foreground>>;\\n}\\n\\n/*\\n** Utility classes for SVG icons\\n*/\\n\\n.tc-fill-background {\\n\\tfill: \u003C\u003Ccolour background>>;\\n}\\n\\n.tc-network-activity-background {\\n\\tfill: \u003C\u003Ccolour network-activity-foreground>>;\\n}\\n\\n/*\\n** Flexbox utility classes\\n*/\\n\\n.tc-flex {\\n\\tdisplay: -webkit-flex;\\n\\tdisplay: flex;\\n}\\n\\n.tc-flex-column {\\n\\tflex-direction: column;\\n}\\n\\n.tc-flex-row {\\n\\tflex-direction: row;\\n}\\n\\n.tc-flex-grow-1 {\\n\\tflex-grow: 1;\\n}\\n\\n.tc-flex-grow-2 {\\n\\tflex-grow: 2;\\n}\\n\\n/*\\n** Other utility classes\\n*/\\n\\n/* Horizontal gaps */\\n\\n.tc-tiny-gap {\\n\\tmargin-left: .25em;\\n\\tmargin-right: .25em;\\n}\\n\\n.tc-tiny-gap-left {\\n\\tmargin-left: .25em;\\n}\\n\\n.tc-tiny-gap-right {\\n\\tmargin-right: .25em;\\n}\\n\\n.tc-small-gap {\\n\\tmargin-left: .5em;\\n\\tmargin-right: .5em;\\n}\\n\\n.tc-small-gap-left {\\n\\tmargin-left: .5em;\\n}\\n\\n.tc-small-gap-right {\\n\\tmargin-right: .5em;\\n}\\n\\n.tc-big-gap {\\n\\tmargin-left: 1em;\\n\\tmargin-right: 1em;\\n}\\n\\n.tc-big-gap-left {\\n\\tmargin-left: 1em;\\n}\\n\\n.tc-big-gap-right {\\n\\tmargin-right: 1em;\\n}\\n\\n.tc-word-break {\\n\\tword-break: break-all;\\n}\\n\\n/* Vertical gaps */\\n\\n.tc-tiny-v-gap-bottom {\\n\\tmargin-bottom: 3px;\\n}\\n\"},\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\",\"text\":\"15px\"},\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\",\"text\":\"22px\"},\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\"text\":\"14px\"},\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\"text\":\"20px\"},\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\"text\":\"0px\"},\"$:/themes/tiddlywiki/vanilla/metrics/storytop\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\"text\":\"0px\"},\"$:/themes/tiddlywiki/vanilla/metrics/storyright\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\"text\":\"770px\"},\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\"text\":\"770px\"},\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\",\"text\":\"686px\"},\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\",\"text\":\"960px\"},\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\",\"text\":\"350px\"},\"$:/themes/tiddlywiki/vanilla/options/stickytitles\":{\"title\":\"$:/themes/tiddlywiki/vanilla/options/stickytitles\",\"text\":\"no\"},\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\":{\"title\":\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\",\"text\":\"fixed-fluid\"},\"$:/themes/tiddlywiki/vanilla/options/codewrapping\":{\"title\":\"$:/themes/tiddlywiki/vanilla/options/codewrapping\",\"text\":\"pre-wrap\"},\"$:/themes/tiddlywiki/vanilla/reset\":{\"title\":\"$:/themes/tiddlywiki/vanilla/reset\",\"type\":\"text/css\",\"text\":\"/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\\n\\n/*\\nDocument\\n========\\n*/\\n\\n/**\\nUse a better box model (opinionated).\\n*/\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box;\\n}\\n\\n/**\\nUse a more readable tab size (opinionated).\\n*/\\n\\n:root {\\n -moz-tab-size: 4;\\n tab-size: 4;\\n}\\n\\n/**\\n1. Correct the line height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n*/\\n\\nhtml {\\n line-height: 1.15; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n}\\n\\n/*\\nSections\\n========\\n*/\\n\\n/**\\nRemove the margin in all browsers.\\n*/\\n\\nbody {\\n margin: 0;\\n}\\n\\n/**\\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\\n*/\\n\\nbody {\\n font-family:\\n system-ui,\\n -apple-system, /* Firefox supports this but not yet `system-ui` */\\n 'Segoe UI',\\n Roboto,\\n Helvetica,\\n Arial,\\n sans-serif,\\n 'Apple Color Emoji',\\n 'Segoe UI Emoji';\\n}\\n\\n/*\\nGrouping content\\n================\\n*/\\n\\n/**\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n}\\n\\n/*\\nText-level semantics\\n====================\\n*/\\n\\n/**\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr[title] {\\n text-decoration: underline dotted;\\n}\\n\\n/**\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/**\\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\\n2. Correct the odd 'em' font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family:\\n ui-monospace,\\n SFMono-Regular,\\n Consolas,\\n 'Liberation Mono',\\n Menlo,\\n monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/**\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/**\\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\nTabular data\\n============\\n*/\\n\\n/**\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n}\\n\\n/*\\nForms\\n=====\\n*/\\n\\n/**\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n line-height: 1.15; /* 1 */\\n margin: 0; /* 2 */\\n}\\n\\n/**\\nRemove the inheritance of text transform in Edge and Firefox.\\n1. Remove the inheritance of text transform in Firefox.\\n*/\\n\\nbutton,\\nselect { /* 1 */\\n text-transform: none;\\n}\\n\\n/**\\nCorrect the inability to style clickable types in iOS and Safari.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button;\\n}\\n\\n/**\\nRemove the inner border and padding in Firefox.\\n*/\\n\\n::-moz-focus-inner {\\n border-style: none;\\n padding: 0;\\n}\\n\\n/**\\nRestore the focus styles unset by the previous rule.\\n*/\\n\\n:-moz-focusring {\\n outline: 1px dotted ButtonText;\\n}\\n\\n/**\\nRemove the additional ':invalid' styles in Firefox.\\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/**\\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\\n*/\\n\\nlegend {\\n padding: 0;\\n}\\n\\n/**\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/**\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/**\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/**\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/**\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to 'inherit' in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nInteractive\\n===========\\n*/\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\"},\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\",\"text\":\"-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji\"},\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\",\"text\":\"\\\"SFMono-Regular\\\",Consolas,\\\"Liberation Mono\\\",Menlo,Courier,monospace\"},\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\",\"text\":\"fixed\"},\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\",\"text\":\"auto\"},\"$:/themes/tiddlywiki/vanilla/sticky\":{\"title\":\"$:/themes/tiddlywiki/vanilla/sticky\",\"code-body\":\"yes\",\"text\":\"\u003C$reveal state=\\\"$:/themes/tiddlywiki/vanilla/options/stickytitles\\\" type=\\\"match\\\" text=\\\"yes\\\">\\n``\\n.tc-tiddler-title {\\n\\tposition: -webkit-sticky;\\n\\tposition: -moz-sticky;\\n\\tposition: -o-sticky;\\n\\tposition: -ms-sticky;\\n\\tposition: sticky;\\n\\ttop: 0px;\\n\\tbackground: ``\u003C\u003Ccolour tiddler-background>>``;\\n\\tz-index: 500;\\n}\\n\\n``\\n\u003C$list filter=\\\"[range[100]]\\\">\\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`\u003C$text text=\u003C\u003CcurrentTiddler>>/>`) {\\nz-index: `\u003C$text text={{{ [[200]subtract\u003CcurrentTiddler>] }}}/>`;\\n}\\n`\\n\u003C/$list>\\n\u003C/$reveal>\\n\"}}}"}, {"created":"20240108030956555","title":"$:/themes/tiddlywiki/vanilla/options/sidebarlayout","text":"fixed-fluid","modified":"20240312134146332"},